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; } /// /// 获取退款列表 /// /// /// [HttpPost] public IActionResult GetRefundList([FromBody] GetRefundListRequest request) { var expression = Expressionable.Create().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); } /// /// 同意退款 /// /// [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); } /// /// 上传买家发货信息 /// /// /// [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); } } }