heyuntao
2023-05-05 cc09b6fe6ffac34a4eeeb26d313b187713cae0de
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
using AlibabaSDK.Request;
using CommonUtil;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Operater.DAL;
using Operater.DbModel;
using Operater.DTO.System;
using Operater.Service;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using YouZanSDKStandard.Api;
using YouZanSDKStandard.Api.Request;
 
namespace Api.Operater.Controllers
{
    [Route(TopConstants.API_ROUTE)]
    public class RefundManageController : BaseController
    {
        public ILoginUserInfoService _iloginUserInfoService;
        public IRefundService _irefundService;
        public RefundManageController(ILoginUserInfoService loginUserInfoService, IRefundService refundService)
        {
            _iloginUserInfoService = loginUserInfoService;
            _irefundService = refundService;
        }
        /// <summary>
        /// 获取退款列表
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        [HttpPost]
        public IActionResult GetRefundList([FromBody] GetRefundListRequest request)
        {
            var expression = Expressionable.Create<YzRefund>().AndIF(!request.YzTid.IsNullOrEmpty(), t => t.YzTid == request.YzTid)
                                                              .AndIF(!request.YzRefundStatus.IsNullOrEmpty(), t => t.YzRefundStaus == request.YzRefundStatus)
                                                                .AndIF(request.RelationType >= 0, t => t.RelationYzRefund == request.RelationType)
                                                                .AndIF(!request.YzOid.IsNullOrEmpty(), t => t.YzOid == request.YzOid)
                                                                .AndIF(!request.YzRefundId.IsNullOrEmpty(), t => t.YzTid == request.YzRefundId)
                                                                .ToExpression();
            int totalCount = 0;
            var refundList = new YzRefundDAL().ListPageGet(expression, t => t.UpdateTime, DbEnum.OrderType.Desc, request.PageNo, request.PageSize, ref totalCount);
 
            return Success(refundList, request.PageNo, request.PageSize, totalCount);
        }
        /// <summary>
        /// 同意退款
        /// </summary>
        /// <returns></returns>
        [HttpPost]
        public IActionResult AgressRefundPrice([FromBody] AgressRefundPriceRequest request)
        {
            var userInfo = _iloginUserInfoService.GetUserInfo();
            request.YzToken = userInfo.YzToken;
            request.AliToken = userInfo.AlibabaToken;
            var rsp = _irefundService.CreateRefund(request);
            if (rsp.Success)
            {
                return Success(true);
            }
            return Error(rsp.ErrorMsg);
        }
 
        /// <summary>
        /// 上传买家发货信息
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        [HttpPost]
        public IActionResult ReturnGoods([FromBody] ReturnGoodsRequest request)
        {
            var userInfo = _iloginUserInfoService.GetUserInfo();
            request.YzToken = userInfo.YzToken;
            request.AliToken = userInfo.AlibabaToken;
            var rsp = _irefundService.ReturnGoods(request);
            if (rsp.Success)
            {
                return Success(true);
            }
            return Error(rsp.ErrorMsg);
        }
    }
}