From 95d5b5815069a4c4b3c04a085765c0147a22fbc8 Mon Sep 17 00:00:00 2001
From: zhengyuxuan <zhengyuxuan1995>
Date: 星期一, 24 三月 2025 18:03:17 +0800
Subject: [PATCH] fix: bug修复

---
 LifePayment/LifePayment.HttpApi/LifePay/WxPayNotifyController.cs |   53 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 52 insertions(+), 1 deletions(-)

diff --git a/LifePayment/LifePayment.HttpApi/LifePay/WxPayNotifyController.cs b/LifePayment/LifePayment.HttpApi/LifePay/WxPayNotifyController.cs
index 54d3114..454dc62 100644
--- a/LifePayment/LifePayment.HttpApi/LifePay/WxPayNotifyController.cs
+++ b/LifePayment/LifePayment.HttpApi/LifePay/WxPayNotifyController.cs
@@ -48,7 +48,7 @@
                 var data = _wxPayApi.AesGcmDecrypt(input.Resource.AssociatedData, input.Resource.Nonce, input.Resource.Ciphertext);
                 var wxPayNotice = JsonConvert.DeserializeObject<WxPayNotice>(data);
 
-                if (wxPayNotice.OutTradeNo.StartsWith("JF") && Regex.IsMatch(wxPayNotice.OutTradeNo, @"^JF\d+$"))
+                if (wxPayNotice.OutTradeNo.Contains("JF") )
                 {
                     if (wxPayNotice.TradeState == LifePaymentConstant.WxPayStatus.鏀粯鎴愬姛)
                     {
@@ -71,5 +71,56 @@
                 Code = "SUCCESS",
             };
         }
+
+
+        [HttpPost]
+        [UnitOfWork]
+        public async Task<WxRechargeNotifyResult> WxPayDomesticRefundsNotify(WxRechargeNotifyInput input)
+        {
+            try
+            {
+                _logger.LogError($"寰俊閫�娆惧洖璋冮�氱煡锛氳繘鍏ュ井淇″洖璋�");
+                var data = _wxPayApi.AesGcmDecrypt(input.Resource.AssociatedData, input.Resource.Nonce, input.Resource.Ciphertext);
+                var wxPayNotice = JsonConvert.DeserializeObject<WxPayDomesticRefundsNotice>(data);
+
+                if (wxPayNotice.OutTradeNo.Contains("JF"))
+                {
+                    if (wxPayNotice.RefundStatus == LifePaymentConstant.WxPayRefundStatus.閫�娆炬垚鍔�)
+                    {
+                        
+                    }
+                    switch (wxPayNotice.RefundStatus)
+                    {
+                        case LifePaymentConstant.WxPayRefundStatus.閫�娆炬垚鍔�:
+                            await _lifePayService.WxPayDomesticRefundsHandler(wxPayNotice.OutTradeNo, LifePayRefundStatusEnum.宸查��娆�);
+                            break;
+                        case LifePaymentConstant.WxPayRefundStatus.閫�娆惧叧闂�:
+                            await _lifePayService.WxPayDomesticRefundsHandler(wxPayNotice.OutTradeNo, LifePayRefundStatusEnum.宸查��娆�);
+                            break;
+                        case LifePaymentConstant.WxPayRefundStatus.閫�娆惧鐞嗕腑:
+                            await _lifePayService.WxPayDomesticRefundsHandler(wxPayNotice.OutTradeNo, LifePayRefundStatusEnum.閫�娆句腑);
+                            break;
+                        case LifePaymentConstant.WxPayRefundStatus.閫�娆惧紓甯�:
+                            await _lifePayService.WxPayDomesticRefundsHandler(wxPayNotice.OutTradeNo, LifePayRefundStatusEnum.閫�娆句腑);
+                            break;
+                        default : await _lifePayService.WxPayDomesticRefundsHandler(wxPayNotice.OutTradeNo, LifePayRefundStatusEnum.閫�娆句腑);break;
+                    }
+                }
+            }
+            catch (Exception ex)
+            {
+                
+                return new WxRechargeNotifyResult
+                {
+                    Code = "FAIL",
+                    Message = ex.Message,
+                };
+            }
+
+            return new WxRechargeNotifyResult
+            {
+                Code = "SUCCESS",
+            };
+        }
     }
 }
\ No newline at end of file

--
Gitblit v1.9.1