From 18325eda17439bdd76f3b7e3f39cfae312738b2b Mon Sep 17 00:00:00 2001 From: zhengyuxuan <zhengyuxuan1995> Date: 星期一, 31 三月 2025 06:59:13 +0800 Subject: [PATCH] fix:提交 --- LifePayment/LifePayment.Application/LifePay/LifePayOrderService.cs | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 53 insertions(+), 2 deletions(-) diff --git a/LifePayment/LifePayment.Application/LifePay/LifePayOrderService.cs b/LifePayment/LifePayment.Application/LifePay/LifePayOrderService.cs index f199443..16fe3b9 100644 --- a/LifePayment/LifePayment.Application/LifePay/LifePayOrderService.cs +++ b/LifePayment/LifePayment.Application/LifePay/LifePayOrderService.cs @@ -21,17 +21,20 @@ { private readonly IRepository<LifePayRechargeReceipts, Guid> _lifePayRechargeReceiptsRepository; private readonly IRepository<LifePayExpensesReceipts, Guid> _lifePayExpensesReceiptsRepository; + private readonly IRepository<LifePayOrder, Guid> _lifePayOrderRepository; private readonly IAliPayApi _aliPayApi; private readonly IWxPayApi _wxPayApi; public LifePayOrderService( IRepository<LifePayRechargeReceipts, Guid> lifePayRechargeReceiptsRepository, IRepository<LifePayExpensesReceipts, Guid> lifePayExpensesReceiptsRepository, + IRepository<LifePayOrder, Guid> lifePayOrderRepository, IAliPayApi aliPayApi, IWxPayApi wxPayApi) { _lifePayRechargeReceiptsRepository = lifePayRechargeReceiptsRepository; _lifePayExpensesReceiptsRepository = lifePayExpensesReceiptsRepository; + _lifePayOrderRepository = lifePayOrderRepository; _aliPayApi = aliPayApi; _wxPayApi = wxPayApi; } @@ -121,7 +124,7 @@ OrderNo = x.OrderNo, OutOrderNo = x.OutOrderNo, LifePayType = x.LifePayType, - ExpensesReceiptsType = x.ExpensesReceiptsType, + ExpensesReceiptsType = x.ExpensesReceiptsType.Value, Amount = x.Amount, FinishTime = x.FinishTime }) @@ -198,7 +201,7 @@ else { var query = await _wxPayApi.WxPayDomesticRefundsQuery(input.OrderNo); - if (query.Code == AlipayResultCode.Success && query.RefundStatus == WxPayRefundStatus.閫�娆炬垚鍔�) + if (query.Status == WxPayRefundStatus.閫�娆炬垚鍔�) { data.ExtraProperties = JsonConvert.SerializeObject(query); data.FinishTime = Convert.ToDateTime(query.SuccessTime); @@ -210,5 +213,53 @@ } } } + + public async Task GetAllLifePayExpensesReceipts() + { + var orderlist = await (from a in _lifePayOrderRepository.Where(x => x.PayStatus >= LifePayStatusEnum.宸叉敮浠�) + join b in _lifePayExpensesReceiptsRepository on a.OrderNo equals b.OrderNo into temp + from b in temp.DefaultIfEmpty() + select new LifePayExpensesReceiptsTemp() + { + OrderNo = a.OrderNo, + OutOrderNo = a.OutOrderNo, + RefundOrderNo = a.RefundOrderNo, + LifePayType = a.LifePayType.Value, + Amount = a.PayAmount.Value, + ExpensesReceiptsType = b.ExpensesReceiptsType + }).ToListAsync(); + foreach (var item in orderlist) + { + if (!item.ExpensesReceiptsType.HasValue) + { + /// 鍏ヨ处 + AddLifePayExpensesReceiptsInput input = new AddLifePayExpensesReceiptsInput() + { + OrderNo = item.OrderNo, + OutOrderNo = item.OutOrderNo, + LifePayType = item.LifePayType, + Amount = item.Amount, + ExpensesReceiptsType = ExpensesReceiptsTypeEnum.Expenses + }; + + await AddLifePayExpensesReceipts(input); + + /// 鍑鸿处 + if (item.RefundOrderNo.IsNotNullOrEmpty()) + { + if (input.LifePayType == LifePayTypeEnum.WxPay) + { + input.OrderNo = item.RefundOrderNo; + } + + input.ExpensesReceiptsType = ExpensesReceiptsTypeEnum.Receipts; + await AddLifePayExpensesReceipts(input); + } + + + } + } + + } } } -- Gitblit v1.9.1