From 5e918c353d039a75f552f4eb0cc251e96ef809ab Mon Sep 17 00:00:00 2001
From: zhengyuxuan <zhengyuxuan1995>
Date: 星期二, 01 四月 2025 09:58:54 +0800
Subject: [PATCH] fix:bug修复

---
 LifePayment/LifePayment.Domain.Shared/Ali/GetPayQrCodeInput.cs        |    4 ----
 LifePayment/LifePayment.HttpApi/LifePay/WxPayNotifyController.cs      |    1 +
 LifePayment/LifePayment.Application/LifePay/LifePayOrderService.cs    |   18 ++++++++++--------
 LifePayment/LifePayment.HttpApi/LifePay/LifePayController.cs          |    1 +
 LifePayment/LifePayment.Application.Contracts/LifePay/LifePayInput.cs |    6 ++++++
 LifePayment/LifePayment.Application/LifePay/LifePayService.cs         |    2 +-
 LifePayment/LifePayment.HttpApi/LifePay/AliPayNotifyController.cs     |    1 +
 7 files changed, 20 insertions(+), 13 deletions(-)

diff --git a/LifePayment/LifePayment.Application.Contracts/LifePay/LifePayInput.cs b/LifePayment/LifePayment.Application.Contracts/LifePay/LifePayInput.cs
index 11f4cf1..408752d 100644
--- a/LifePayment/LifePayment.Application.Contracts/LifePay/LifePayInput.cs
+++ b/LifePayment/LifePayment.Application.Contracts/LifePay/LifePayInput.cs
@@ -652,6 +652,12 @@
 }
 public class AddLifePayExpensesReceiptsInput
 {
+
+    /// <summary>
+    /// 閫�娆捐鍗曞彿
+    /// </summary>
+    public string OutRefundNo { get; set; }
+
     /// <summary>
     /// 骞冲彴璁㈠崟鍙�
     /// </summary>
diff --git a/LifePayment/LifePayment.Application/LifePay/LifePayOrderService.cs b/LifePayment/LifePayment.Application/LifePay/LifePayOrderService.cs
index eee8553..856e067 100644
--- a/LifePayment/LifePayment.Application/LifePay/LifePayOrderService.cs
+++ b/LifePayment/LifePayment.Application/LifePay/LifePayOrderService.cs
@@ -223,7 +223,6 @@
                 var data = new LifePayExpensesReceipts()
                 {
                     Id = Guid.NewGuid(),
-                    OrderNo = input.OrderNo,
                     OutOrderNo = input.OutOrderNo,
                     LifePayType = input.LifePayType,
                     ExpensesReceiptsType = input.ExpensesReceiptsType,
@@ -238,6 +237,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 +246,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 +263,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 +271,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 +319,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);
                     }
-
                 }
             }
         }
diff --git a/LifePayment/LifePayment.Application/LifePay/LifePayService.cs b/LifePayment/LifePayment.Application/LifePay/LifePayService.cs
index e6551c4..1ea346a 100644
--- a/LifePayment/LifePayment.Application/LifePay/LifePayService.cs
+++ b/LifePayment/LifePayment.Application/LifePay/LifePayService.cs
@@ -857,7 +857,7 @@
             order.LifePayRefundStatus = LifePayRefundStatusEnum.宸查��娆�;
             await _lifePayOrderService.AddLifePayExpensesReceipts(new AddLifePayExpensesReceiptsInput()
             {
-                OrderNo = result.OutTradeNo,
+                OrderNo = order.RefundOrderNo,
                 OutOrderNo = result.TradeNo,
                 LifePayType = LifePayTypeEnum.AliPay,
                 ExpensesReceiptsType = ExpensesReceiptsTypeEnum.Receipts
diff --git a/LifePayment/LifePayment.Domain.Shared/Ali/GetPayQrCodeInput.cs b/LifePayment/LifePayment.Domain.Shared/Ali/GetPayQrCodeInput.cs
index 52d4a3e..5a5b401 100644
--- a/LifePayment/LifePayment.Domain.Shared/Ali/GetPayQrCodeInput.cs
+++ b/LifePayment/LifePayment.Domain.Shared/Ali/GetPayQrCodeInput.cs
@@ -24,10 +24,6 @@
         /// 浜ゆ槗鍒涘缓鏃朵紶鍏ョ殑鍟嗘埛璁㈠崟鍙�
         /// </summary>
         public string OutTradeNo { get; set; }
-        /// <summary>
-        /// 鏀粯瀹濅氦鏄撳彿
-        /// </summary>
-        public string TradeNo { get; set; }
 
         /// <summary>
         /// 閫�娆捐鍗曞彿
diff --git a/LifePayment/LifePayment.HttpApi/LifePay/AliPayNotifyController.cs b/LifePayment/LifePayment.HttpApi/LifePay/AliPayNotifyController.cs
index 0d20883..9d79c31 100644
--- a/LifePayment/LifePayment.HttpApi/LifePay/AliPayNotifyController.cs
+++ b/LifePayment/LifePayment.HttpApi/LifePay/AliPayNotifyController.cs
@@ -74,6 +74,7 @@
                     await _lifePayOrderService.AddLifePayExpensesReceipts(new AddLifePayExpensesReceiptsInput()
                     {
                         OrderNo = input.OutTradeNo,
+                        OutRefundNo = input.OutBizNo,
                         OutOrderNo = input.TradeNo,
                         LifePayType = LifePayTypeEnum.AliPay,
                         ExpensesReceiptsType = ExpensesReceiptsTypeEnum.Receipts
diff --git a/LifePayment/LifePayment.HttpApi/LifePay/LifePayController.cs b/LifePayment/LifePayment.HttpApi/LifePay/LifePayController.cs
index e3060bb..dca8f91 100644
--- a/LifePayment/LifePayment.HttpApi/LifePay/LifePayController.cs
+++ b/LifePayment/LifePayment.HttpApi/LifePay/LifePayController.cs
@@ -527,6 +527,7 @@
             await _lifePayOrderService.AddLifePayExpensesReceipts(new AddLifePayExpensesReceiptsInput()
             {
                 OrderNo = res.OutTradeNo,
+                OutRefundNo = res.RefundId,
                 OutOrderNo = res.TransactionId,
                 LifePayType = LifePayTypeEnum.WxPay,
                 ExpensesReceiptsType = ExpensesReceiptsTypeEnum.Expenses,
diff --git a/LifePayment/LifePayment.HttpApi/LifePay/WxPayNotifyController.cs b/LifePayment/LifePayment.HttpApi/LifePay/WxPayNotifyController.cs
index bfec02f..afb1d87 100644
--- a/LifePayment/LifePayment.HttpApi/LifePay/WxPayNotifyController.cs
+++ b/LifePayment/LifePayment.HttpApi/LifePay/WxPayNotifyController.cs
@@ -115,6 +115,7 @@
                             await _lifePayOrderService.AddLifePayExpensesReceipts(new AddLifePayExpensesReceiptsInput()
                             {
                                 OrderNo = wxPayNotice.OutTradeNo,
+                                OutRefundNo = wxPayNotice.OutRefundNo,
                                 OutOrderNo = wxPayNotice.TransactionId,
                                 LifePayType = LifePayTypeEnum.WxPay,
                                 ExpensesReceiptsType = ExpensesReceiptsTypeEnum.Receipts,

--
Gitblit v1.9.1