From 8c1dce43d197565302ead9d3ae78dff8ea4f9687 Mon Sep 17 00:00:00 2001
From: zhengyuxuan <zhengyuxuan1995>
Date: 星期三, 02 四月 2025 06:05:21 +0800
Subject: [PATCH] fix:bug修复

---
 LifePayment/LifePayment.Application/LifePay/LifePayOrderService.cs |   45 +++++++++++++++++++++++++++++++++------------
 1 files changed, 33 insertions(+), 12 deletions(-)

diff --git a/LifePayment/LifePayment.Application/LifePay/LifePayOrderService.cs b/LifePayment/LifePayment.Application/LifePay/LifePayOrderService.cs
index 8bdc9a9..3b0b1da 100644
--- a/LifePayment/LifePayment.Application/LifePay/LifePayOrderService.cs
+++ b/LifePayment/LifePayment.Application/LifePay/LifePayOrderService.cs
@@ -16,6 +16,7 @@
 using Newtonsoft.Json;
 using LifePayment.Domain.Common;
 using Spire.Pdf.Exporting.XPS.Schema;
+using Nest;
 
 namespace LifePayment.Application.LifePay
 {
@@ -342,21 +343,18 @@
                 {
                     OrderNo = item.OrderNo,
                     AcoolyOrderNo = item.ACOOLYOrderNo,
-                    Amount = item.PlatformDeductionAmount.Value,
+                    Amount = item.PlatformDeductionAmount.HasValue? item.PlatformDeductionAmount.Value : 0,
                 };
-
-                switch (item.ACOOLYStatus)
+                if (item.ACOOLYStatus != null)
                 {
-                    case ACOOLYStatusEnum.鍏呭�间腑:
-                        lifePayConsumption.FinishTime = item.CreationTime;
-                        lifePayConsumption.ACOOLYStatus = ACOOLYStatusEnum.鍏呭�间腑;
-                        lifePayConsumption.FrozenStatus = ConsumptionFrozenStatusEnum.Frozen;
-                        lifePayConsumption.Flow = ConsumptionFlowEnum.Unchanged;
-                        lifePayConsumption.DeductionAmount = 0;
-                        lifePayConsumption.FrozenAmount = lifePayConsumption.Amount;
-                        break;
-                    default: break;
+                    switch (item.ACOOLYStatus)
+                    {
+                        case ACOOLYStatusEnum.鍏呭�间腑:
+                            await CreatLifePayConsumption(ACOOLYStatusEnum.鍏呭�间腑, item, lifePayConsumption);
+                            break;
+                    }
                 }
+                
             }
         }
 
@@ -460,6 +458,29 @@
 
             return list;
         }
+
+        private async Task CreatLifePayConsumption(ACOOLYStatusEnum status, LifePayOrder order, LifePayConsumption lifePayConsumption)
+        {
+            switch (status)
+            {
+                case ACOOLYStatusEnum.鍏呭�间腑:
+                    lifePayConsumption.FinishTime = order.CreationTime;
+                    lifePayConsumption.ACOOLYStatus = ACOOLYStatusEnum.鍏呭�间腑;
+                    lifePayConsumption.FrozenStatus = ConsumptionFrozenStatusEnum.Frozen;
+                    lifePayConsumption.Flow = ConsumptionFlowEnum.Unchanged;
+                    lifePayConsumption.DeductionAmount = 0;
+                    lifePayConsumption.FrozenAmount = lifePayConsumption.Amount;
+
+                    var repeat = await _lifePayConsumption.Where(x => x.OrderNo == lifePayConsumption.OrderNo
+                    && x.ACOOLYStatus == lifePayConsumption.ACOOLYStatus && x.Flow == lifePayConsumption.Flow).FirstOrDefaultAsync();
+                    if (repeat == null)
+                    {
+                        await _lifePayConsumption.InsertAsync(lifePayConsumption);
+                    };
+                    break;
+                default: break;
+            }
+        }
         #endregion
 
     }

--
Gitblit v1.9.1