From 6ae97d768948e197a89492239441feca04c1dbb9 Mon Sep 17 00:00:00 2001
From: zhengyuxuan <zhengyuxuan1995>
Date: 星期一, 07 四月 2025 17:16:02 +0800
Subject: [PATCH] fix:bug修复

---
 LifePayment/LifePayment.HttpApi/LifePay/ACOOLYNotifyController.cs |  134 ++++++++++++++++++++++++++++++++++++++------
 1 files changed, 116 insertions(+), 18 deletions(-)

diff --git a/LifePayment/LifePayment.HttpApi/LifePay/ACOOLYNotifyController.cs b/LifePayment/LifePayment.HttpApi/LifePay/ACOOLYNotifyController.cs
index 8e0e2b9..313aea7 100644
--- a/LifePayment/LifePayment.HttpApi/LifePay/ACOOLYNotifyController.cs
+++ b/LifePayment/LifePayment.HttpApi/LifePay/ACOOLYNotifyController.cs
@@ -52,8 +52,11 @@
             }
             var baseInfo = JsonConvert.DeserializeObject<ACOOLYRequestBaseResponse>(body);
             var orderNo = string.Empty;
-            var status = LifePayOrderStatusEnum.寰呯‘璁�;
+            LifePayOrderStatusEnum status = LifePayOrderStatusEnum.寰呴��娆�;
+            ACOOLYStatusEnum acoolyStatus = ACOOLYStatusEnum.鍏呭�煎け璐�;
             var acoolyOrderNo = string.Empty;
+            decimal payAmount = 0;
+            string refundApplyRemark = string.Empty;
             _logger.LogError("ACOOLY鍥炶皟閫氬鐞嗙被鍨嬶細" + baseInfo.Service);
             _logger.LogError("ACOOLY鍥炶皟鍐呭锛�" + body);
             switch (baseInfo.Service)
@@ -62,65 +65,160 @@
                     var confirmElectricOrderResponse = JsonConvert.DeserializeObject<ConfirmElectricOrderResponse>(body);
                     orderNo = confirmElectricOrderResponse.ElectricChargeOrder.OutOrderNo;
                     acoolyOrderNo = confirmElectricOrderResponse.ElectricChargeOrder.BusiOrderNo;
+                    payAmount = confirmElectricOrderResponse.ElectricChargeOrder.PayAmount;
                     _logger.LogError("ACOOLY鍥炶皟閫氬鐞嗙粨鏋滅姸鎬侊細" + confirmElectricOrderResponse.ElectricChargeOrder.Status);
 
-                    /// TODO 鐘舵�佷笉姝g‘
                     if (!confirmElectricOrderResponse.Success
                     || (confirmElectricOrderResponse.Code != ACOOLYConstant.Code.SUCCESS && confirmElectricOrderResponse.Code != ACOOLYConstant.Code.PROCESSING))
                     {
-                        status = LifePayOrderStatusEnum.宸插け璐�;
+                        status = LifePayOrderStatusEnum.寰呴��娆�;
+                        acoolyStatus = ACOOLYStatusEnum.鍏呭�煎け璐�;
                     }
                     else
-
-                    if (confirmElectricOrderResponse.ElectricChargeOrder.Status == ACOOLYConstant.Code.SUCCESS)
+                    if (confirmElectricOrderResponse.ElectricChargeOrder.Status == ACOOLYConstant.Status.鍏呭�兼垚鍔�)
                     {
                         status = LifePayOrderStatusEnum.宸插畬鎴�;
+                        acoolyStatus = ACOOLYStatusEnum.宸插畬鎴�;
                     }
                     else
-
-                    if (confirmElectricOrderResponse.ElectricChargeOrder.Status == ACOOLYConstant.Code.PROCESSING)
+                    if (confirmElectricOrderResponse.ElectricChargeOrder.Status == ACOOLYConstant.Status.鍏呭�间腑)
                     {
-                        status = LifePayOrderStatusEnum.寰呯‘璁�;
+                        status = LifePayOrderStatusEnum.鍏呭�间腑;
+                        acoolyStatus = ACOOLYStatusEnum.鍏呭�间腑;
                     }
                     else
+                    if (confirmElectricOrderResponse.ElectricChargeOrder.Status == ACOOLYConstant.Status.鍏呭�煎け璐�)
                     {
-                        status = LifePayOrderStatusEnum.宸插け璐�;
+                        status = LifePayOrderStatusEnum.寰呴��娆�;
+                        acoolyStatus = ACOOLYStatusEnum.鍏呭�煎け璐�;
+                        refundApplyRemark = "渚涘簲鍟嗗厖鍊煎け璐�";
                     }
-
+                    else
+                    if (confirmElectricOrderResponse.ElectricChargeOrder.Status == ACOOLYConstant.Status.閫�娆句腑)
+                    {
+                        status = LifePayOrderStatusEnum.宸插畬鎴�;
+                        acoolyStatus = ACOOLYStatusEnum.宸查��娆�;
+                    }
+                    else
+                    if (confirmElectricOrderResponse.ElectricChargeOrder.Status == ACOOLYConstant.Status.閫�娆惧畬鎴�)
+                    {
+                        status = LifePayOrderStatusEnum.宸插畬鎴�;
+                        acoolyStatus = ACOOLYStatusEnum.宸查��娆�;
+                    }
+                    else
+                    if (confirmElectricOrderResponse.ElectricChargeOrder.Status == ACOOLYConstant.Status.澶辫触鍏抽棴)
+                    {
+                        status = LifePayOrderStatusEnum.寰呴��娆�;
+                        acoolyStatus = ACOOLYStatusEnum.鍏呭�煎け璐�;
+                    }
                     break;
                 case ACOOLYConstant.Sevice.ConfirmPhoneOrder:
                     var confirmPhoneOrderResponse = JsonConvert.DeserializeObject<ConfirmPhoneOrderResponse>(body);
                     orderNo = confirmPhoneOrderResponse.PhoneChargeOrder.OutOrderNo;
                     acoolyOrderNo = confirmPhoneOrderResponse.PhoneChargeOrder.BusiOrderNo;
+                    payAmount = confirmPhoneOrderResponse.PhoneChargeOrder.PayAmount;
                     _logger.LogError("ACOOLY鍥炶皟閫氬鐞嗙粨鏋滅姸鎬侊細" + confirmPhoneOrderResponse.PhoneChargeOrder.Status);
                     if (!confirmPhoneOrderResponse.Success
-                    || (confirmPhoneOrderResponse.Code != ACOOLYConstant.Code.SUCCESS && confirmPhoneOrderResponse.Code != ACOOLYConstant.Code.PROCESSING))
+                     || (confirmPhoneOrderResponse.Code != ACOOLYConstant.Code.SUCCESS && confirmPhoneOrderResponse.Code != ACOOLYConstant.Code.PROCESSING))
                     {
-                        status = LifePayOrderStatusEnum.宸插け璐�;
+                        status = LifePayOrderStatusEnum.寰呴��娆�;
+                        acoolyStatus = ACOOLYStatusEnum.鍏呭�煎け璐�;
                     }
                     else
 
-                    if (confirmPhoneOrderResponse.PhoneChargeOrder.Status == ACOOLYConstant.Code.SUCCESS)
+                     if (confirmPhoneOrderResponse.PhoneChargeOrder.Status == ACOOLYConstant.Status.鍏呭�兼垚鍔�)
                     {
                         status = LifePayOrderStatusEnum.宸插畬鎴�;
+                        acoolyStatus = ACOOLYStatusEnum.宸插畬鎴�;
                     }
                     else
 
-                    if (confirmPhoneOrderResponse.PhoneChargeOrder.Status == ACOOLYConstant.Code.PROCESSING)
+                     if (confirmPhoneOrderResponse.PhoneChargeOrder.Status == ACOOLYConstant.Status.鍏呭�间腑)
                     {
-                        status = LifePayOrderStatusEnum.寰呯‘璁�;
+                        status = LifePayOrderStatusEnum.鍏呭�间腑;
+                        acoolyStatus = ACOOLYStatusEnum.鍏呭�间腑;
                     }
                     else
+                     if (confirmPhoneOrderResponse.PhoneChargeOrder.Status == ACOOLYConstant.Status.鍏呭�煎け璐�)
                     {
-                        status = LifePayOrderStatusEnum.宸插け璐�;
+                        status = LifePayOrderStatusEnum.寰呴��娆�;
+                        acoolyStatus = ACOOLYStatusEnum.鍏呭�煎け璐�;
+                    }
+                    else
+                     if (confirmPhoneOrderResponse.PhoneChargeOrder.Status == ACOOLYConstant.Status.閫�娆句腑)
+                    {
+                        status = LifePayOrderStatusEnum.宸插畬鎴�;
+                        acoolyStatus = ACOOLYStatusEnum.宸查��娆�;
+                    }
+                    else
+                     if (confirmPhoneOrderResponse.PhoneChargeOrder.Status == ACOOLYConstant.Status.閫�娆惧畬鎴�)
+                    {
+                        status = LifePayOrderStatusEnum.宸插畬鎴�;
+                        acoolyStatus = ACOOLYStatusEnum.宸查��娆�;
+                    }
+                    else
+                     if (confirmPhoneOrderResponse.PhoneChargeOrder.Status == ACOOLYConstant.Status.澶辫触鍏抽棴)
+                    {
+                        status = LifePayOrderStatusEnum.寰呴��娆�;
+                        acoolyStatus = ACOOLYStatusEnum.鍏呭�煎け璐�;
                     }
                     break;
+                case ACOOLYConstant.Sevice.ConfirmGasOrder:
+                    var confirmGasOrderResponse = JsonConvert.DeserializeObject<ConfirmGasOrderResponse>(body);
+                    orderNo = confirmGasOrderResponse.GasChargeOrder.OutOrderNo;
+                    acoolyOrderNo = confirmGasOrderResponse.GasChargeOrder.BusiOrderNo;
+                    payAmount = confirmGasOrderResponse.GasChargeOrder.PayAmount;
+                    _logger.LogError("ACOOLY鍥炶皟閫氬鐞嗙粨鏋滅姸鎬侊細" + confirmGasOrderResponse.GasChargeOrder.Status);
+                    if (!confirmGasOrderResponse.Success
+                     || (confirmGasOrderResponse.Code != ACOOLYConstant.Code.SUCCESS && confirmGasOrderResponse.Code != ACOOLYConstant.Code.PROCESSING))
+                    {
+                        status = LifePayOrderStatusEnum.寰呴��娆�;
+                        acoolyStatus = ACOOLYStatusEnum.鍏呭�煎け璐�;
+                    }
+                    else
 
+                     if (confirmGasOrderResponse.GasChargeOrder.Status == ACOOLYConstant.Status.鍏呭�兼垚鍔�)
+                    {
+                        status = LifePayOrderStatusEnum.宸插畬鎴�;
+                        acoolyStatus = ACOOLYStatusEnum.宸插畬鎴�;
+                    }
+                    else
+
+                     if (confirmGasOrderResponse.GasChargeOrder.Status == ACOOLYConstant.Status.鍏呭�间腑)
+                    {
+                        status = LifePayOrderStatusEnum.寰呴��娆�;
+                        acoolyStatus = ACOOLYStatusEnum.鍏呭�间腑;
+                    }
+                    else
+                     if (confirmGasOrderResponse.GasChargeOrder.Status == ACOOLYConstant.Status.鍏呭�煎け璐�)
+                    {
+                        status = LifePayOrderStatusEnum.寰呴��娆�;
+                        acoolyStatus = ACOOLYStatusEnum.鍏呭�煎け璐�;
+                    }
+                    else
+                     if (confirmGasOrderResponse.GasChargeOrder.Status == ACOOLYConstant.Status.閫�娆句腑)
+                    {
+                        status = LifePayOrderStatusEnum.宸插畬鎴�;
+                        acoolyStatus = ACOOLYStatusEnum.宸查��娆�;
+                    }
+                    else
+                     if (confirmGasOrderResponse.GasChargeOrder.Status == ACOOLYConstant.Status.閫�娆惧畬鎴�)
+                    {
+                        status = LifePayOrderStatusEnum.宸插畬鎴�;
+                        acoolyStatus = ACOOLYStatusEnum.宸查��娆�;
+                    }
+                    else
+                     if (confirmGasOrderResponse.GasChargeOrder.Status == ACOOLYConstant.Status.澶辫触鍏抽棴)
+                    {
+                        status = LifePayOrderStatusEnum.寰呴��娆�;
+                        acoolyStatus = ACOOLYStatusEnum.鍏呭�煎け璐�;
+                    }
+                    break;
                 default:
-                    break;
+                    throw new UserFriendlyException("ACOOLY鍥炶皟閫氬鐞嗙被鍨嬩笉瀛樺湪");
             }
 
-            await _lifePayService.ACOOLYOrderNotifyHandler(orderNo, acoolyOrderNo, status);
+            await _lifePayService.ACOOLYOrderNotifyHandler(orderNo, acoolyOrderNo, status, acoolyStatus, payAmount, refundApplyRemark);
         }
     }
 }
\ No newline at end of file

--
Gitblit v1.9.1