From 83b72e32a89988dd721ef7bc8ea673751092fb4a Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期三, 10 十二月 2025 16:11:13 +0800
Subject: [PATCH] fix: bug

---
 LifePayment/LifePayment.Application/LifePay/LifePayService.cs |   36 ++++++++++++++++++++++++++++++++++--
 1 files changed, 34 insertions(+), 2 deletions(-)

diff --git a/LifePayment/LifePayment.Application/LifePay/LifePayService.cs b/LifePayment/LifePayment.Application/LifePay/LifePayService.cs
index 14da46e..4d18168 100644
--- a/LifePayment/LifePayment.Application/LifePay/LifePayService.cs
+++ b/LifePayment/LifePayment.Application/LifePay/LifePayService.cs
@@ -1534,6 +1534,38 @@
         }
     }
 
+    /// <summary>
+    /// 閫�娆炬垚鍔熷鐞�
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    public async Task<int> LifePayRefundsSuccessHandler(AddLifePayExpensesReceiptsInput input)
+    {
+        var order = await _lifePayOrderRepository.Where(x => x.OrderNo == input.OrderNo).FirstOrDefaultAsync();
+        CheckExtensions.IfTrueThrowUserFriendlyException(order == null, "璁㈠崟涓嶅瓨鍦�");
+        CheckExtensions.IfTrueThrowUserFriendlyException(order.LifePayRefundStatus != LifePayRefundStatusEnum.寰呴��娆� && order.LifePayRefundStatus != LifePayRefundStatusEnum.閫�娆句腑, "褰撳墠璁㈠崟鐘舵�佹棤娉曟煡鐪嬮��娆炬祦姘�");
+        CheckExtensions.IfTrueThrowUserFriendlyException(order.RefundOrderNo.IsNullOrEmpty(), "涓嶅瓨鍦ㄩ��娆炬祦姘磋鍗�");
+
+        await LifePayRefundsHandler(input.OrderNo, LifePayRefundStatusEnum.宸查��娆�);
+        // 鎻掑叆鏀舵敮娴佹按
+        await _lifePayOrderService.AddLifePayExpensesReceipts(new AddLifePayExpensesReceiptsInput()
+        {
+            OrderNo = input.OrderNo,
+            OutRefundNo = input.OutRefundNo,
+            OutOrderNo = input.OutOrderNo,
+            LifePayType = input.LifePayType,
+            ExpensesReceiptsType = ExpensesReceiptsTypeEnum.Receipts
+        });
+
+        #region 璁板綍鏃ュ織
+
+        await LifePayOrderHistory("鏇存柊璁㈠崟閫�娆剧姸鎬�", "鏇存柊璁㈠崟閫�娆剧姸鎬�", order.Id, (int)OperateHistoryTypeEnum.LifePayRefund);
+
+        #endregion
+
+        return Constant.SUCCESS;
+    }
+
 
     /// <summary>
     /// ACOOLYO璁㈠崟閫氱煡澶勭悊
@@ -1563,7 +1595,7 @@
                 return;
             }
 
-            if (order.LifePayOrderStatus == LifePayOrderStatusEnum.宸查��娆�)
+            if (order.LifePayOrderStatus == LifePayOrderStatusEnum.宸查��娆� || order.LifePayOrderStatus == LifePayOrderStatusEnum.閫�娆句腑)
             {
                 _logger.LogInformation($"璁㈠崟宸查��娆�,涓嶅湪澶勭悊");
                 return;
@@ -2153,7 +2185,7 @@
         await _distributedEventBus.PublishAsync(recordEto, false);
     }
 
-    private async Task LifePayOrderHistory(string operateContent, string operateName, Guid relationId, int? tableType = (int)OperateHistoryTypeEnum.LifePayRefund)
+    public async Task LifePayOrderHistory(string operateContent, string operateName, Guid relationId, int? tableType = (int)OperateHistoryTypeEnum.LifePayRefund)
     {
         var operateHistory = new OperateHistory
         {

--
Gitblit v1.9.1