From 95fe2c54a45fae507247eb92c8f60af9c892159f Mon Sep 17 00:00:00 2001
From: zhengyuxuan <zhengyuxuan1995>
Date: 星期三, 02 四月 2025 11:01:00 +0800
Subject: [PATCH] fix:bug修复

---
 LifePayment/LifePayment.Application/LifePay/LifePayOrderService.cs |   88 ++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 85 insertions(+), 3 deletions(-)

diff --git a/LifePayment/LifePayment.Application/LifePay/LifePayOrderService.cs b/LifePayment/LifePayment.Application/LifePay/LifePayOrderService.cs
index 3b0b1da..cce4b86 100644
--- a/LifePayment/LifePayment.Application/LifePay/LifePayOrderService.cs
+++ b/LifePayment/LifePayment.Application/LifePay/LifePayOrderService.cs
@@ -310,6 +310,7 @@
                                 data.OrderNo = input.OrderNo;
                                 data.ExtraProperties = JsonConvert.SerializeObject(query);
                                 data.FinishTime = Convert.ToDateTime(query.SuccessTime);
+                                data.Amount = Convert.ToDecimal(query.Amount.Total) / 100;
                                 await _lifePayExpensesReceiptsRepository.InsertAsync(data);
                             }
                         }
@@ -321,6 +322,7 @@
                                 data.OrderNo = input.OutRefundNo;
                                 data.ExtraProperties = JsonConvert.SerializeObject(query);
                                 data.FinishTime = Convert.ToDateTime(query.SuccessTime);
+                                data.Amount = Convert.ToDecimal(query.Amount.Total) / 100;
                                 await _lifePayExpensesReceiptsRepository.InsertAsync(data);
                             }
                         }
@@ -344,6 +346,7 @@
                     OrderNo = item.OrderNo,
                     AcoolyOrderNo = item.ACOOLYOrderNo,
                     Amount = item.PlatformDeductionAmount.HasValue? item.PlatformDeductionAmount.Value : 0,
+                    ChannelId = item.ChannelId,
                 };
                 if (item.ACOOLYStatus != null)
                 {
@@ -352,9 +355,21 @@
                         case ACOOLYStatusEnum.鍏呭�间腑:
                             await CreatLifePayConsumption(ACOOLYStatusEnum.鍏呭�间腑, item, lifePayConsumption);
                             break;
+                        case ACOOLYStatusEnum.鍏呭�兼垚鍔�:
+                            await CreatLifePayConsumption(ACOOLYStatusEnum.鍏呭�间腑, item, lifePayConsumption);
+                            await CreatLifePayConsumption(ACOOLYStatusEnum.鍏呭�兼垚鍔�, item, lifePayConsumption);
+                            break;
+                        case ACOOLYStatusEnum.宸插畬鎴�:
+                            await CreatLifePayConsumption(ACOOLYStatusEnum.鍏呭�间腑, item, lifePayConsumption);
+                            await CreatLifePayConsumption(ACOOLYStatusEnum.宸插畬鎴�, item, lifePayConsumption);
+                            break;
+                        case ACOOLYStatusEnum.鍏呭�煎け璐�:
+                            await CreatLifePayConsumption(ACOOLYStatusEnum.鍏呭�间腑, item, lifePayConsumption);
+                            await CreatLifePayConsumption(ACOOLYStatusEnum.鍏呭�煎け璐�, item, lifePayConsumption);
+                            break;
+                        default: break;
                     }
                 }
-                
             }
         }
 
@@ -461,6 +476,7 @@
 
         private async Task CreatLifePayConsumption(ACOOLYStatusEnum status, LifePayOrder order, LifePayConsumption lifePayConsumption)
         {
+            LifePayConsumption repeat = new LifePayConsumption();
             switch (status)
             {
                 case ACOOLYStatusEnum.鍏呭�间腑:
@@ -471,13 +487,79 @@
                     lifePayConsumption.DeductionAmount = 0;
                     lifePayConsumption.FrozenAmount = lifePayConsumption.Amount;
 
-                    var repeat = await _lifePayConsumption.Where(x => x.OrderNo == lifePayConsumption.OrderNo
+                    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;
+                case ACOOLYStatusEnum.宸插畬鎴�:
+                    lifePayConsumption.FinishTime = order.FinishTime.Value;
+                    lifePayConsumption.ACOOLYStatus = ACOOLYStatusEnum.宸插畬鎴�;
+                    lifePayConsumption.FrozenStatus = ConsumptionFrozenStatusEnum.Thaw;
+                    lifePayConsumption.Flow = ConsumptionFlowEnum.Out;
+                    lifePayConsumption.DeductionAmount = lifePayConsumption.Amount;
+                    lifePayConsumption.FrozenAmount = 0;
+
+                    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;
+                case ACOOLYStatusEnum.鍏呭�煎け璐�:
+                    lifePayConsumption.FinishTime = order.CreationTime;
+                    lifePayConsumption.ACOOLYStatus = ACOOLYStatusEnum.鍏呭�煎け璐�;
+                    lifePayConsumption.FrozenStatus = ConsumptionFrozenStatusEnum.Frozen;
+                    lifePayConsumption.Flow = ConsumptionFlowEnum.Unchanged;
+                    lifePayConsumption.DeductionAmount = 0;
+                    lifePayConsumption.FrozenAmount = lifePayConsumption.Amount;
+
+                    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;
+                case ACOOLYStatusEnum.宸查��娆�:
+                    lifePayConsumption.FinishTime = order.FinishTime.Value;
+                    lifePayConsumption.ACOOLYStatus = ACOOLYStatusEnum.宸查��娆�;
+                    lifePayConsumption.FrozenStatus = ConsumptionFrozenStatusEnum.Thaw;
+                    lifePayConsumption.Flow = ConsumptionFlowEnum.Unchanged;
+                    lifePayConsumption.DeductionAmount = 0;
+                    lifePayConsumption.FrozenAmount = 0;
+
+                    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;
+
+                //case ACOOLYStatusEnum.閮ㄥ垎鍏呭�兼垚鍔�:
+                //    lifePayConsumption.FinishTime = order.CreationTime;
+                //    lifePayConsumption.ACOOLYStatus = ACOOLYStatusEnum.閮ㄥ垎鍏呭�兼垚鍔�;
+                //    lifePayConsumption.FrozenStatus = ConsumptionFrozenStatusEnum.Thaw;
+                //    lifePayConsumption.Flow = ConsumptionFlowEnum.Unchanged;
+                //    lifePayConsumption.DeductionAmount = 0;
+                //    lifePayConsumption.FrozenAmount = lifePayConsumption.Amount;
+
+                //    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;
             }
         }

--
Gitblit v1.9.1