From f885db9e204c172c62779f45c3edee3cae463b8d Mon Sep 17 00:00:00 2001 From: zhengyiming <540361168@qq.com> Date: 星期二, 01 四月 2025 16:00:33 +0800 Subject: [PATCH] Merge branch 'dev-lifepay-v1.3' of http://120.26.58.240:8888/r/LifePaymentApi into dev-lifepay-v1.3 --- LifePayment/LifePayment.Application/LifePay/LifePayOrderService.cs | 54 ++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 46 insertions(+), 8 deletions(-) diff --git a/LifePayment/LifePayment.Application/LifePay/LifePayOrderService.cs b/LifePayment/LifePayment.Application/LifePay/LifePayOrderService.cs index eee8553..aa03716 100644 --- a/LifePayment/LifePayment.Application/LifePay/LifePayOrderService.cs +++ b/LifePayment/LifePayment.Application/LifePay/LifePayOrderService.cs @@ -23,6 +23,7 @@ { private readonly IRepository<LifePayRechargeReceipts, Guid> _lifePayRechargeReceiptsRepository; private readonly IRepository<LifePayExpensesReceipts, Guid> _lifePayExpensesReceiptsRepository; + private readonly IRepository<LifePayConsumption, Guid> _lifePayConsumption; private readonly IRepository<LifePayChannlesRake, Guid> _lifePayChannlesRakeRepository; private readonly IRepository<LifePayOrder, Guid> _lifePayOrderRepository; private readonly IAliPayApi _aliPayApi; @@ -31,6 +32,7 @@ public LifePayOrderService( IRepository<LifePayRechargeReceipts, Guid> lifePayRechargeReceiptsRepository, IRepository<LifePayExpensesReceipts, Guid> lifePayExpensesReceiptsRepository, + IRepository<LifePayConsumption, Guid> lifePayConsumptionRepository, IRepository<LifePayChannlesRake, Guid> lifePayChannlesRakeRepository, IRepository<LifePayOrder, Guid> lifePayOrderRepository, IAliPayApi aliPayApi, @@ -38,6 +40,7 @@ { _lifePayRechargeReceiptsRepository = lifePayRechargeReceiptsRepository; _lifePayExpensesReceiptsRepository = lifePayExpensesReceiptsRepository; + _lifePayConsumption = lifePayConsumptionRepository; _lifePayChannlesRakeRepository = lifePayChannlesRakeRepository; _lifePayOrderRepository = lifePayOrderRepository; _aliPayApi = aliPayApi; @@ -45,6 +48,39 @@ } #region 鏌ヨ + + /// <summary> + /// 鑾峰彇娑堣垂娴佹按 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + public async Task<PageOutput<LifePayConsumptionListOutput>> GetLifePayConsumptionPage(LifePayConsumptionPageInput input) + { + var list = await _lifePayConsumption.Where(x => x.IsDeleted == false) + .WhereIf(input.KeyWord.IsNotNullOrEmpty(), x => x.OrderNo.Contains(input.KeyWord) || x.OutOrderNo.Contains(input.KeyWord) || x.ChannelId.Contains(input.KeyWord)) + .WhereIf(input.Flow.HasValue,x => x.Flow == input.Flow) + .WhereIf(input.TimeBegin.HasValue, x => x.FinishTime >= input.TimeBegin) + .WhereIf(input.TimeEnd.HasValue, x => x.FinishTime <= input.TimeEnd) + .Select(x => new LifePayConsumptionListOutput() + { + Id = x.Id, + OrderNo = x.OrderNo, + OutOrderNo = x.OutOrderNo, + Amount = x.Amount, + FinishTime = x.FinishTime, + FrozenStatus = x.FrozenStatus, + Flow = x.Flow, + DeductionAmount = x.DeductionAmount, + }) + .GetPageResult(input.PageModel); + + var total = await _lifePayRechargeReceiptsRepository.Where(x => x.IsDeleted == false).SumAsync(x => x.RechargeAmount); + LifePayRechargeReceiptsStatistics objectData = new LifePayRechargeReceiptsStatistics(); + objectData.TotalRechargeAmount = total; + list.ObjectData = objectData; + return list; + } + /// <summary> /// 鑾峰彇鍏呭�兼祦姘� /// </summary> @@ -223,7 +259,6 @@ var data = new LifePayExpensesReceipts() { Id = Guid.NewGuid(), - OrderNo = input.OrderNo, OutOrderNo = input.OutOrderNo, LifePayType = input.LifePayType, ExpensesReceiptsType = input.ExpensesReceiptsType, @@ -238,6 +273,7 @@ if (query.Code == AlipayResultCode.Success && (query.TradeStatus == AlipayStatus.TRADESUCCESS || query.TradeStatus == AlipayStatus.TRADECLOSED)) { + data.OrderNo = input.OrderNo; data.ExtraProperties = JsonConvert.SerializeObject(query); data.FinishTime = Convert.ToDateTime(query.SendPayDate); data.Amount = Convert.ToDecimal(query.TotalAmount); @@ -246,9 +282,10 @@ } else { - var query = await _aliPayApi.QueryAlipayTradeRefund(new OrderInQuiryInput() { OutTradeNo = input.OrderNo }); + var query = await _aliPayApi.QueryAlipayTradeRefund(new OrderInQuiryInput() { OutTradeNo = input.OrderNo, OutRefundNo = input.OutRefundNo }); if (query.Code == AlipayResultCode.Success && query.RefundStatus == AlipayRefundStatus.Success) { + data.OrderNo = input.OutRefundNo; data.ExtraProperties = JsonConvert.SerializeObject(query); data.FinishTime = Convert.ToDateTime(query.GmtRefundPay); data.Amount = Convert.ToDecimal(query.RefundAmount); @@ -262,6 +299,7 @@ var query = await _wxPayApi.WxPayTradeQuery(input.OrderNo); if (query.TradeState == WxPayStatus.鏀粯鎴愬姛 || query.TradeState == WxPayStatus.杞叆閫�娆�) { + data.OrderNo = input.OrderNo; data.ExtraProperties = JsonConvert.SerializeObject(query); data.FinishTime = Convert.ToDateTime(query.SuccessTime); await _lifePayExpensesReceiptsRepository.InsertAsync(data); @@ -269,9 +307,10 @@ } else { - var query = await _wxPayApi.WxPayDomesticRefundsQuery(input.OrderNo); + var query = await _wxPayApi.WxPayDomesticRefundsQuery(input.OutRefundNo); if (query.Status == WxPayRefundStatus.閫�娆炬垚鍔�) { + data.OrderNo = input.OutRefundNo; data.ExtraProperties = JsonConvert.SerializeObject(query); data.FinishTime = Convert.ToDateTime(query.SuccessTime); await _lifePayExpensesReceiptsRepository.InsertAsync(data); @@ -316,15 +355,14 @@ /// 鍑鸿处 if (item.RefundOrderNo.IsNotNullOrEmpty()) { - if (input.LifePayType == LifePayTypeEnum.WxPay) - { - input.OrderNo = item.RefundOrderNo; - } + input.OutRefundNo = item.OrderNo; + input.ExpensesReceiptsType = ExpensesReceiptsTypeEnum.Receipts; + await AddLifePayExpensesReceipts(input); + input.OutRefundNo = item.RefundOrderNo; input.ExpensesReceiptsType = ExpensesReceiptsTypeEnum.Receipts; await AddLifePayExpensesReceipts(input); } - } } } -- Gitblit v1.9.1