From 906dbfc74b270b958ba959b9c54f0d2133b41e44 Mon Sep 17 00:00:00 2001
From: zhengyuxuan <zhengyuxuan1995>
Date: 星期五, 11 四月 2025 13:57:27 +0800
Subject: [PATCH] fix;主动计算平台扣款金额

---
 LifePayment/LifePayment.Application/LifePay/LifePayOrderService.cs |  233 +++++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 175 insertions(+), 58 deletions(-)

diff --git a/LifePayment/LifePayment.Application/LifePay/LifePayOrderService.cs b/LifePayment/LifePayment.Application/LifePay/LifePayOrderService.cs
index af8d6e1..5c80d3f 100644
--- a/LifePayment/LifePayment.Application/LifePay/LifePayOrderService.cs
+++ b/LifePayment/LifePayment.Application/LifePay/LifePayOrderService.cs
@@ -14,8 +14,6 @@
 using LifePayment.Domain;
 using static LifePayment.Domain.Shared.LifePaymentConstant;
 using Newtonsoft.Json;
-using LifePayment.Domain.Common;
-using Spire.Pdf.Exporting.XPS.Schema;
 
 namespace LifePayment.Application.LifePay
 {
@@ -60,7 +58,7 @@
         public async Task<PageOutput<LifePayConsumptionListOutput>> GetLifePayConsumptionPage(LifePayConsumptionPageInput input)
         {
             var channles = await _lifePayChannlesRep.Where(x => x.ChannlesName.Contains(input.KeyWord)).Select(x => x.ChannlesNum).ToListAsync();
-            var list = await _lifePayConsumption.Where(x => x.IsDeleted == false)
+            var list = await _lifePayConsumption
                 .WhereIf(input.KeyWord.IsNotNullOrEmpty(), x => x.OrderNo.Contains(input.KeyWord) || x.AcoolyOrderNo.Contains(input.KeyWord) || channles.Contains(x.ChannelId))
                 .WhereIf(input.Flow.HasValue, x => x.Flow == input.Flow)
                 .WhereIf(input.TimeBegin.HasValue, x => x.FinishTime >= input.TimeBegin)
@@ -76,15 +74,15 @@
                     FrozenStatus = x.FrozenStatus,
                     Flow = x.Flow,
                     DeductionAmount = x.DeductionAmount,
-                    FrozenAmount = x.FrozenAmount.Value
+                    FrozenAmount = x.FrozenAmount ?? 0
                 })
                 .GetPageResult(input.PageModel);
 
-            var totalDeductionAmount = await _lifePayConsumption.Where(x => x.IsDeleted == false).SumAsync(x => x.DeductionAmount);
-            var totalFrozenAmount = await _lifePayConsumption.Where(x => x.IsDeleted == false).SumAsync(x => x.FrozenAmount);
+            var totalDeductionAmount = await _lifePayConsumption.SumAsync(x => x.DeductionAmount);
+            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;
         }
@@ -96,7 +94,7 @@
         /// <returns></returns>
         public async Task<PageOutput<LifePayRechargeReceiptsListOutput>> GetLifePayRechargeReceiptsPage(LifePayRechargeReceiptsPageInput input)
         {
-            var list = await _lifePayRechargeReceiptsRepository.Where(x => x.IsDeleted == false)
+            var list = await _lifePayRechargeReceiptsRepository
                 .WhereIf(input.KeyWord.IsNotNullOrEmpty(), x => x.OrderNo.Contains(input.KeyWord))
                 .WhereIf(input.CreationTimeBegin.HasValue, x => x.CreationTime >= input.CreationTimeBegin)
                 .WhereIf(input.CreationTimeEnd.HasValue, x => x.CreationTime <= input.CreationTimeEnd)
@@ -111,7 +109,7 @@
                 })
                 .GetPageResult(input.PageModel);
 
-            var total = await _lifePayRechargeReceiptsRepository.Where(x => x.IsDeleted == false).SumAsync(x => x.RechargeAmount);
+            var total = await _lifePayRechargeReceiptsRepository.SumAsync(x => x.RechargeAmount);
             LifePayRechargeReceiptsStatistics objectData = new LifePayRechargeReceiptsStatistics();
             objectData.TotalRechargeAmount = total;
             list.ObjectData = objectData;
@@ -125,7 +123,7 @@
         /// <returns></returns>
         public async Task<PageOutput<LifePayExpensesReceiptsListOutput>> GetLifePayExpensesReceiptsPage(LifePayExpensesReceiptsPageInput input)
         {
-            var list = await _lifePayExpensesReceiptsRepository.Where(x => x.IsDeleted == false)
+            var list = await _lifePayExpensesReceiptsRepository
                 .WhereIf(input.KeyWord.IsNotNullOrEmpty(), x => x.OrderNo.Contains(input.KeyWord) || x.OutOrderNo.Contains(input.KeyWord))
                 .WhereIf(input.LifePayType.HasValue, x => x.LifePayType == input.LifePayType)
                 .WhereIf(input.ExpensesReceiptsType.HasValue, x => x.ExpensesReceiptsType == input.ExpensesReceiptsType)
@@ -138,14 +136,14 @@
                     OrderNo = x.OrderNo,
                     OutOrderNo = x.OutOrderNo,
                     LifePayType = x.LifePayType,
-                    ExpensesReceiptsType = x.ExpensesReceiptsType.Value,
+                    ExpensesReceiptsType = x.ExpensesReceiptsType ?? 0,
                     Amount = x.Amount,
                     FinishTime = x.FinishTime
                 })
                 .GetPageResult(input.PageModel);
 
-            var totalIncome = await _lifePayExpensesReceiptsRepository.Where(x => x.IsDeleted == false && x.ExpensesReceiptsType == ExpensesReceiptsTypeEnum.Expenses).SumAsync(x => x.Amount);
-            var totalRefund = await _lifePayExpensesReceiptsRepository.Where(x => x.IsDeleted == false && x.ExpensesReceiptsType == ExpensesReceiptsTypeEnum.Receipts).SumAsync(x => x.Amount);
+            var totalIncome = await _lifePayExpensesReceiptsRepository.Where(x => x.ExpensesReceiptsType == ExpensesReceiptsTypeEnum.Expenses).SumAsync(x => x.Amount);
+            var totalRefund = await _lifePayExpensesReceiptsRepository.Where(x => x.ExpensesReceiptsType == ExpensesReceiptsTypeEnum.Receipts).SumAsync(x => x.Amount);
 
             LifePayExpensesReceiptsStatistics objectData = new LifePayExpensesReceiptsStatistics();
             objectData.TotalIncome = totalIncome;
@@ -162,7 +160,7 @@
         /// <returns></returns>
         public async Task<PageOutput<LifePayChannlesRakeListOutput>> GetLifePayChannlesRakePage(LifePayChannlesRakePageInput input)
         {
-            var list = await _lifePayChannlesRakeRepository.Where(x => x.IsDeleted == false)
+            var list = await _lifePayChannlesRakeRepository
                 .WhereIf(input.ChannelId.IsNotNullOrEmpty(), x => x.ChannelId == input.ChannelId)
                 .WhereIf(input.CreationTimeBegin.HasValue, x => x.CreationTime >= input.CreationTimeBegin)
                 .WhereIf(input.CreationTimeEnd.HasValue, x => x.CreationTime <= input.CreationTimeEnd)
@@ -182,7 +180,13 @@
                 })
                 .GetPageResult(input.PageModel);
 
-            var totalRakePrice = await _lifePayChannlesRakeRepository.Where(x => x.IsDeleted == false).SumAsync(x => x.ChannlesRakePrice);
+            var totalRakePrice = await _lifePayChannlesRakeRepository
+                .WhereIf(input.ChannelId.IsNotNullOrEmpty(), x => x.ChannelId == input.ChannelId)
+                .WhereIf(input.CreationTimeBegin.HasValue, x => x.CreationTime >= input.CreationTimeBegin)
+                .WhereIf(input.CreationTimeEnd.HasValue, x => x.CreationTime <= input.CreationTimeEnd)
+                .WhereIf(input.FinishTimeBegin.HasValue, x => x.FinishTime >= input.FinishTimeBegin)
+                .WhereIf(input.FinishTimeEnd.HasValue, x => x.FinishTime <= input.FinishTimeEnd)
+                .SumAsync(x => x.ChannlesRakePrice);
 
             LifePayLifePayChannlesRakeStatistics objectData = new LifePayLifePayChannlesRakeStatistics();
             objectData.TotalRakePrice = totalRakePrice;
@@ -209,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;
         }
@@ -228,11 +232,11 @@
             CheckExtensions.IfTrueThrowUserFriendlyException(input.OrderNo == null, "璇疯緭鍏ヤ笟鍔¤鍗曞彿");
             CheckExtensions.IfTrueThrowUserFriendlyException(input.RechargeAmount <= 0, "鍏呭�奸噾棰濆簲澶т簬0");
             CheckExtensions.IfTrueThrowUserFriendlyException(input.Voucher == null, "璇锋彁浜ゅ厖鍊煎嚟璇�");
-            var repeat = await _lifePayRechargeReceiptsRepository.Where(x => x.IsDeleted == false && 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.IsDeleted == false && x.Id == input.Id.Value).FirstOrDefaultAsync();
+                var payRechargeReceipts = await _lifePayRechargeReceiptsRepository.Where(x => x.Id == input.Id.Value).FirstOrDefaultAsync();
                 payRechargeReceipts.OrderNo = input.OrderNo;
                 payRechargeReceipts.RechargeAmount = input.RechargeAmount;
                 payRechargeReceipts.Remark = input.Remark;
@@ -260,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()
                 {
@@ -309,6 +313,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);
                             }
                         }
@@ -320,6 +325,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);
                             }
                         }
@@ -329,6 +335,9 @@
             }
         }
 
+
+        
+
         /// <summary>
         /// 缁熻鎵�鏈夋秷璐规祦姘�
         /// </summary>
@@ -336,28 +345,45 @@
         public async Task GetAllLifePayConsumption()
         {
             var orderList = await _lifePayOrderRepository.Where(x => x.PayStatus == LifePayStatusEnum.宸叉敮浠�).ToListAsync();
-            
             foreach (var item in orderList)
             {
-                LifePayConsumption lifePayConsumption = new LifePayConsumption()
+                
+                if (item.ACOOLYStatus != null)
                 {
-                    OrderNo = item.OrderNo,
-                    AcoolyOrderNo = item.ACOOLYOrderNo,
-                    Amount = item.PlatformDeductionAmount.Value,
-                    //ACOOLYStatus = 
-
-                };
-
-                //switch (item.ACOOLYStatus)
-                //{
-                //    case ACOOLYStatusEnum.鍏呭�间腑: 
-                        
-                //        break;
-                //    default:break;
-                //}
+                    switch (item.ACOOLYStatus)
+                    {
+                        case ACOOLYStatusEnum.鍏呭�间腑:
+                            await CreatLifePayConsumption(ACOOLYStatusEnum.鍏呭�间腑, item.OrderNo, item.ACOOLYOrderNo,
+                                item.PlatformDeductionAmount ?? 0, item.ChannelId, item.CreationTime, item.FinishTime);
+                            break;
+                        case ACOOLYStatusEnum.鍏呭�兼垚鍔�:
+                            await CreatLifePayConsumption(ACOOLYStatusEnum.鍏呭�间腑, item.OrderNo, item.ACOOLYOrderNo,
+                                item.PlatformDeductionAmount ?? 0, item.ChannelId, item.CreationTime, item.FinishTime);
+                            await CreatLifePayConsumption(ACOOLYStatusEnum.鍏呭�兼垚鍔�, item.OrderNo, item.ACOOLYOrderNo,
+                                item.PlatformDeductionAmount ?? 0, item.ChannelId, item.CreationTime, item.FinishTime);
+                            break;
+                        case ACOOLYStatusEnum.宸插畬鎴�:
+                            await CreatLifePayConsumption(ACOOLYStatusEnum.鍏呭�间腑, item.OrderNo, item.ACOOLYOrderNo,
+                                item.PlatformDeductionAmount ?? 0, item.ChannelId, item.CreationTime, item.FinishTime);
+                            await CreatLifePayConsumption(ACOOLYStatusEnum.宸插畬鎴�, item.OrderNo, item.ACOOLYOrderNo,
+                                item.PlatformDeductionAmount ?? 0, item.ChannelId, item.CreationTime, item.FinishTime);
+                            break;
+                        case ACOOLYStatusEnum.鍏呭�煎け璐�:
+                            await CreatLifePayConsumption(ACOOLYStatusEnum.鍏呭�间腑, item.OrderNo, item.ACOOLYOrderNo,
+                                item.PlatformDeductionAmount ?? 0, item.ChannelId, item.CreationTime, item.FinishTime);
+                            await CreatLifePayConsumption(ACOOLYStatusEnum.鍏呭�煎け璐�, item.OrderNo, item.ACOOLYOrderNo,
+                                item.PlatformDeductionAmount ?? 0, item.ChannelId, item.CreationTime, item.FinishTime);
+                            break;
+                        default: break;
+                    }
+                }
             }
         }
 
+        /// <summary>
+        /// 缁熻鎵�鏈夋敹鏀祦姘�
+        /// </summary>
+        /// <returns></returns>
         public async Task GetAllLifePayExpensesReceipts()
         {
             var orderlist = await (from a in _lifePayOrderRepository.Where(x => x.PayStatus >= LifePayStatusEnum.宸叉敮浠�)
@@ -368,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)
@@ -389,42 +415,55 @@
                     await AddLifePayExpensesReceipts(input);
 
                     /// 鍑鸿处
+                    AddLifePayExpensesReceiptsInput receipts = new AddLifePayExpensesReceiptsInput()
+                    {
+                        OrderNo = item.OrderNo,
+                        OutOrderNo = item.OutOrderNo,
+                        LifePayType = item.LifePayType,
+                        Amount = item.Amount,
+                        ExpensesReceiptsType = ExpensesReceiptsTypeEnum.Expenses
+                    };
                     if (item.RefundOrderNo.IsNotNullOrEmpty())
                     {
-                        input.OutRefundNo = item.OrderNo;
-                        input.ExpensesReceiptsType = ExpensesReceiptsTypeEnum.Receipts;
-                        await AddLifePayExpensesReceipts(input);
-
-                        input.OutRefundNo = item.RefundOrderNo;
-                        input.ExpensesReceiptsType = ExpensesReceiptsTypeEnum.Receipts;
-                        await AddLifePayExpensesReceipts(input);
+                        receipts.OutRefundNo = item.RefundOrderNo;
+                        receipts.ExpensesReceiptsType = ExpensesReceiptsTypeEnum.Receipts;
+                        await AddLifePayExpensesReceipts(receipts);
                     }
                 }
             }
         }
 
+        /// <summary>
+        /// 鑾峰彇鍏ㄩ儴娓犻亾鍒嗕剑
+        /// </summary>
+        /// <returns></returns>
         public async Task GetAllChannlesRake()
         {
-            var orderlist = await _lifePayOrderRepository.Where(x => x.IsDeleted == false && x.PayStatus == LifePayStatusEnum.宸叉敮浠� && x.LifePayOrderStatus == LifePayOrderStatusEnum.宸插畬鎴�).ToListAsync();
+            var orderlist = await _lifePayOrderRepository.Where(x => x.PayStatus == LifePayStatusEnum.宸叉敮浠� && x.LifePayOrderStatus == LifePayOrderStatusEnum.宸插畬鎴�).ToListAsync();
             foreach (var item in orderlist)
             {
                 /// 姣涘埄
                 var grossProfit = item.RechargeAmount * (item.ChannleRate - item.PlatformRate) / 100;
                 /// 娓犻亾浣i噾  锛�(鍏呭�奸潰棰� * 娓犻亾鎶樻墸姣斾緥)-(鍏呭�奸潰棰� * 骞冲彴鎶樻墸姣斾緥)锛�* 浣i噾姣斾緥
-                var channlesRakePrice = grossProfit * (item.ChannlesRakeRate) / 100;
+                var channlesRakePrice = grossProfit * item.ChannlesRakeRate / 100;
+
                 if (channlesRakePrice.HasValue)
                 {
                     LifePayChannlesRake lifePayChannlesRake = new LifePayChannlesRake()
                     {
                         OrderNo = item.OrderNo,
-                        PayAmount = item.PayAmount.Value,
-                        ChannlesRakeRate = item.ChannlesRakeRate.Value,
-                        ChannlesRakePrice = channlesRakePrice.Value,
-                        FinishTime = item.FinishTime.Value,
+                        PayAmount = item.RechargeAmount ?? 0,
+                        ChannlesRakeRate = item.ChannlesRakeRate ?? 0,
+                        ChannlesRakePrice = channlesRakePrice ?? 0,
                         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);
                     }
@@ -433,10 +472,89 @@
         }
         #endregion
 
-        #region 绉佹湁
+        #region 鏂规硶
+        public async Task CreatLifePayConsumption(ACOOLYStatusEnum status, string orderNo, string aCOOLYOrderNo,
+            decimal platformDeductionAmount, string channelId, DateTime orderCreationTime, DateTime? orderFinishTime)
+        {
+            LifePayConsumption lifePayConsumption = new LifePayConsumption()
+            {
+                OrderNo = orderNo,
+                AcoolyOrderNo = aCOOLYOrderNo,
+                Amount = platformDeductionAmount,
+                ChannelId = channelId,
+            };
+            switch (status)
+            {
+                case ACOOLYStatusEnum.鍏呭�间腑:
+                    lifePayConsumption.FinishTime = orderCreationTime;
+                    lifePayConsumption.ACOOLYStatus = ACOOLYStatusEnum.鍏呭�间腑;
+                    lifePayConsumption.FrozenStatus = ConsumptionFrozenStatusEnum.Frozen;
+                    lifePayConsumption.Flow = ConsumptionFlowEnum.Unchanged;
+                    lifePayConsumption.DeductionAmount = 0;
+                    lifePayConsumption.FrozenAmount = lifePayConsumption.Amount;
+                    break;
+                case ACOOLYStatusEnum.宸插畬鎴�:
+                    if (orderFinishTime.HasValue)
+                    {
+                        lifePayConsumption.FinishTime = orderFinishTime.Value;
+                    }
+
+                    lifePayConsumption.ACOOLYStatus = ACOOLYStatusEnum.宸插畬鎴�;
+                    lifePayConsumption.FrozenStatus = ConsumptionFrozenStatusEnum.Thaw;
+                    lifePayConsumption.Flow = ConsumptionFlowEnum.Out;
+                    lifePayConsumption.DeductionAmount = lifePayConsumption.Amount;
+                    lifePayConsumption.FrozenAmount = 0;
+                    break;
+                case ACOOLYStatusEnum.鍏呭�煎け璐�:
+                    lifePayConsumption.FinishTime = orderCreationTime;
+                    lifePayConsumption.ACOOLYStatus = ACOOLYStatusEnum.鍏呭�煎け璐�;
+                    lifePayConsumption.FrozenStatus = ConsumptionFrozenStatusEnum.Frozen;
+                    lifePayConsumption.Flow = ConsumptionFlowEnum.Unchanged;
+                    lifePayConsumption.DeductionAmount = 0;
+                    lifePayConsumption.FrozenAmount = lifePayConsumption.Amount;
+                    break;
+                case ACOOLYStatusEnum.宸查��娆�:
+                    if (orderFinishTime.HasValue)
+                    {
+                        lifePayConsumption.FinishTime = orderFinishTime.Value;
+                    }
+
+                    lifePayConsumption.ACOOLYStatus = ACOOLYStatusEnum.宸查��娆�;
+                    lifePayConsumption.FrozenStatus = ConsumptionFrozenStatusEnum.Thaw;
+                    lifePayConsumption.Flow = ConsumptionFlowEnum.Unchanged;
+                    lifePayConsumption.DeductionAmount = 0;
+                    lifePayConsumption.FrozenAmount = 0;
+                    break;
+                //case ACOOLYStatusEnum.閮ㄥ垎鍏呭�兼垚鍔�:
+                //    lifePayConsumption.FinishTime = orderCreationTime;
+                //    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;
+            }
+
+            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);
+            }
+        }
+
         private async Task<IQueryable<LifePayChannlesRakeListOutput>> GetLifePayChannlesRakeListFilter(LifePayChannlesRakePageInput input)
         {
-            var list = _lifePayChannlesRakeRepository.Where(x => x.IsDeleted == false)
+            var list = _lifePayChannlesRakeRepository
                 .WhereIf(input.ChannelId.IsNotNullOrEmpty(), x => x.ChannelId == input.ChannelId)
                 .WhereIf(input.CreationTimeBegin.HasValue, x => x.CreationTime >= input.CreationTimeBegin)
                 .WhereIf(input.CreationTimeEnd.HasValue, x => x.CreationTime <= input.CreationTimeEnd)
@@ -454,10 +572,9 @@
                     FinishTime = x.FinishTime,
                     CreationTime = x.CreationTime,
                 });
-
-
             return list;
         }
+
         #endregion
 
     }

--
Gitblit v1.9.1