From a61cf44e594b63877b9797fc5250024be5cab632 Mon Sep 17 00:00:00 2001
From: zhengyuxuan <zhengyuxuan1995>
Date: 星期一, 14 四月 2025 09:02:37 +0800
Subject: [PATCH] fix:验重bug修复

---
 LifePayment/LifePayment.Application/LifePay/LifePayOrderService.cs |   39 ++++++++++++++++++++-------------------
 1 files changed, 20 insertions(+), 19 deletions(-)

diff --git a/LifePayment/LifePayment.Application/LifePay/LifePayOrderService.cs b/LifePayment/LifePayment.Application/LifePay/LifePayOrderService.cs
index 458bbba..1bca3f1 100644
--- a/LifePayment/LifePayment.Application/LifePay/LifePayOrderService.cs
+++ b/LifePayment/LifePayment.Application/LifePay/LifePayOrderService.cs
@@ -74,7 +74,7 @@
                     FrozenStatus = x.FrozenStatus,
                     Flow = x.Flow,
                     DeductionAmount = x.DeductionAmount,
-                    FrozenAmount = x.FrozenAmount.Value
+                    FrozenAmount = x.FrozenAmount ?? 0
                 })
                 .GetPageResult(input.PageModel);
 
@@ -82,7 +82,7 @@
             var totalFrozenAmount = await _lifePayConsumption.SumAsync(x => x.FrozenAmount);
             LifePayConsumptionStatistics objectData = new LifePayConsumptionStatistics();
             objectData.TotalDeductionAmount = totalDeductionAmount;
-            objectData.TotalFrozenAmount = totalFrozenAmount.Value;
+            objectData.TotalFrozenAmount = totalFrozenAmount ?? 0;
             list.ObjectData = objectData;
             return list;
         }
@@ -136,7 +136,7 @@
                     OrderNo = x.OrderNo,
                     OutOrderNo = x.OutOrderNo,
                     LifePayType = x.LifePayType,
-                    ExpensesReceiptsType = x.ExpensesReceiptsType.Value,
+                    ExpensesReceiptsType = x.ExpensesReceiptsType ?? 0,
                     Amount = x.Amount,
                     FinishTime = x.FinishTime
                 })
@@ -213,7 +213,7 @@
                 s.PayAmountStr = s.PayAmount.ToString("F2");
                 s.ChannlesRakeRateStr = s.ChannlesRakeRate.ToString("F0") + "%";
                 s.ChannlesRakePriceStr = s.ChannlesRakePrice.ToString("F2");
-                s.FinishTimeStr = s.FinishTime.ToString(LifePaymentConstant.DateTimeFormatStr.yyyyMMddHHmmss);
+                s.FinishTimeStr = s.FinishTime.HasValue ? s.FinishTime.Value.ToString(LifePaymentConstant.DateTimeFormatStr.yyyyMMddHHmmss) : "";
             });
             return result;
         }
@@ -232,8 +232,8 @@
             CheckExtensions.IfTrueThrowUserFriendlyException(input.OrderNo == null, "璇疯緭鍏ヤ笟鍔¤鍗曞彿");
             CheckExtensions.IfTrueThrowUserFriendlyException(input.RechargeAmount <= 0, "鍏呭�奸噾棰濆簲澶т簬0");
             CheckExtensions.IfTrueThrowUserFriendlyException(input.Voucher == null, "璇锋彁浜ゅ厖鍊煎嚟璇�");
-            var repeat = await _lifePayRechargeReceiptsRepository.Where(x => x.OrderNo == input.OrderNo).FirstOrDefaultAsync();
-            CheckExtensions.IfTrueThrowUserFriendlyException(repeat != null && repeat.Id != input.Id, "涓氬姟璁㈠崟鍙烽噸澶�");
+            var repeat = await _lifePayRechargeReceiptsRepository.Where(x => x.OrderNo == input.OrderNo && x.Id != input.Id).AnyAsync();
+            CheckExtensions.IfTrueThrowUserFriendlyException(repeat, "涓氬姟璁㈠崟鍙烽噸澶�");
             if (input.Id.HasValue)
             {
                 var payRechargeReceipts = await _lifePayRechargeReceiptsRepository.Where(x => x.Id == input.Id.Value).FirstOrDefaultAsync();
@@ -264,8 +264,8 @@
         public async Task AddLifePayExpensesReceipts(AddLifePayExpensesReceiptsInput input)
         {
             var repeat = await _lifePayExpensesReceiptsRepository.Where(x => x.ExpensesReceiptsType == input.ExpensesReceiptsType
-            && x.OrderNo == input.OrderNo).FirstOrDefaultAsync();
-            if (repeat == null)
+            && x.OrderNo == input.OrderNo).AnyAsync();
+            if (!repeat)
             {
                 var data = new LifePayExpensesReceipts()
                 {
@@ -394,8 +394,8 @@
                                        OrderNo = a.OrderNo,
                                        OutOrderNo = a.OutOrderNo,
                                        RefundOrderNo = a.RefundOrderNo,
-                                       LifePayType = a.LifePayType.Value,
-                                       Amount = a.PayAmount.Value,
+                                       LifePayType = a.LifePayType ?? 0,
+                                       Amount = a.PayAmount ?? 0,
                                        ExpensesReceiptsType = b.ExpensesReceiptsType
                                    }).ToListAsync();
             foreach (var item in orderlist)
@@ -455,11 +455,15 @@
                         PayAmount = item.RechargeAmount ?? 0,
                         ChannlesRakeRate = item.ChannlesRakeRate ?? 0,
                         ChannlesRakePrice = channlesRakePrice ?? 0,
-                        FinishTime = item.FinishTime.Value,
                         ChannelId = item.ChannelId,
                     };
-                    var repeat = _lifePayChannlesRakeRepository.Where(x => x.OrderNo == item.OrderNo).FirstOrDefaultAsync();
-                    if (repeat != null)
+                    if (item.FinishTime.HasValue)
+                    {
+                        lifePayChannlesRake.FinishTime = item.FinishTime.Value;
+                    }
+
+                    var repeat = await _lifePayChannlesRakeRepository.Where(x => x.OrderNo == item.OrderNo).AnyAsync();
+                    if (!repeat)
                     {
                         await _lifePayChannlesRakeRepository.InsertAsync(lifePayChannlesRake);
                     }
@@ -479,7 +483,6 @@
                 Amount = platformDeductionAmount,
                 ChannelId = channelId,
             };
-            LifePayConsumption repeat = new LifePayConsumption();
             switch (status)
             {
                 case ACOOLYStatusEnum.鍏呭�间腑:
@@ -541,9 +544,9 @@
                 default: break;
             }
 
-            repeat = await _lifePayConsumption.Where(x => x.OrderNo == lifePayConsumption.OrderNo
-                   && x.ACOOLYStatus == lifePayConsumption.ACOOLYStatus && x.Flow == lifePayConsumption.Flow).FirstOrDefaultAsync();
-            if (repeat == null)
+            var repeat = await _lifePayConsumption.Where(x => x.OrderNo == lifePayConsumption.OrderNo
+                   && x.ACOOLYStatus == lifePayConsumption.ACOOLYStatus && x.Flow == lifePayConsumption.Flow).AnyAsync();
+            if (!repeat)
             {
                 await _lifePayConsumption.InsertAsync(lifePayConsumption);
             }
@@ -569,8 +572,6 @@
                     FinishTime = x.FinishTime,
                     CreationTime = x.CreationTime,
                 });
-
-
             return list;
         }
 

--
Gitblit v1.9.1