From 10496309bfe3a0d65ed012c5598732f5bfac2efd Mon Sep 17 00:00:00 2001 From: lingling <kety1122@163.com> Date: 星期三, 16 四月 2025 17:44:09 +0800 Subject: [PATCH] Merge branch 'master' of http://120.26.58.240:8888/r/LifePaymentApi --- LifePayment/LifePayment.Application/LifePay/LifePayOrderService.cs | 72 +++++++++++++++++++++--------------- 1 files changed, 42 insertions(+), 30 deletions(-) diff --git a/LifePayment/LifePayment.Application/LifePay/LifePayOrderService.cs b/LifePayment/LifePayment.Application/LifePay/LifePayOrderService.cs index 34c5bb8..4bb201c 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; } @@ -265,7 +265,7 @@ { var repeat = await _lifePayExpensesReceiptsRepository.Where(x => x.ExpensesReceiptsType == input.ExpensesReceiptsType && x.OrderNo == input.OrderNo).AnyAsync(); - if (repeat) + if (!repeat) { var data = new LifePayExpensesReceipts() { @@ -336,7 +336,7 @@ } - + /// <summary> /// 缁熻鎵�鏈夋秷璐规祦姘� @@ -347,7 +347,7 @@ var orderList = await _lifePayOrderRepository.Where(x => x.PayStatus == LifePayStatusEnum.宸叉敮浠�).ToListAsync(); foreach (var item in orderList) { - + if (item.ACOOLYStatus != null) { switch (item.ACOOLYStatus) @@ -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, }; + if (item.FinishTime.HasValue) + { + lifePayChannlesRake.FinishTime = item.FinishTime.Value; + } + var repeat = await _lifePayChannlesRakeRepository.Where(x => x.OrderNo == item.OrderNo).AnyAsync(); - if (repeat) + if (!repeat) { await _lifePayChannlesRakeRepository.InsertAsync(lifePayChannlesRake); } @@ -470,7 +474,7 @@ #region 鏂规硶 public async Task CreatLifePayConsumption(ACOOLYStatusEnum status, string orderNo, string aCOOLYOrderNo, - decimal platformDeductionAmount, string channelId, DateTime orderCreationTime, DateTime? orderFinishTime) + decimal platformDeductionAmount, string channelId, DateTime orderCreationTime, DateTime? orderFinishTime, decimal? channelRate = 0, decimal? parValue = 0, decimal? actualParValue = 0) { LifePayConsumption lifePayConsumption = new LifePayConsumption() { @@ -521,28 +525,38 @@ 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; + case ACOOLYStatusEnum.閮ㄥ垎鍏呭�兼垚鍔�: + lifePayConsumption.FinishTime = orderCreationTime; + lifePayConsumption.ACOOLYStatus = ACOOLYStatusEnum.閮ㄥ垎鍏呭�兼垚鍔�; + lifePayConsumption.FrozenStatus = ConsumptionFrozenStatusEnum.Thaw; + lifePayConsumption.Flow = ConsumptionFlowEnum.Out; + lifePayConsumption.DeductionAmount = lifePayConsumption.Amount; + lifePayConsumption.FrozenAmount = 0; + if ((parValue ?? 0) != 0 && (parValue ?? 0) != actualParValue) + { + LifePayConsumption lifePayConsumptionOther = new LifePayConsumption() + { + OrderNo = orderNo, + AcoolyOrderNo = aCOOLYOrderNo, + Amount = ((parValue ?? 0) - (actualParValue ?? 0)) * (channelRate ?? 0), + ChannelId = channelId, + FinishTime = orderCreationTime, + ACOOLYStatus = ACOOLYStatusEnum.閮ㄥ垎鍏呭�兼垚鍔�, + FrozenStatus = ConsumptionFrozenStatusEnum.Thaw, + Flow = ConsumptionFlowEnum.Unchanged, + DeductionAmount = 0, + FrozenAmount = 0 + }; + await _lifePayConsumption.InsertAsync(lifePayConsumptionOther); + } - // 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; + break; default: break; } var repeat = await _lifePayConsumption.Where(x => x.OrderNo == lifePayConsumption.OrderNo && x.ACOOLYStatus == lifePayConsumption.ACOOLYStatus && x.Flow == lifePayConsumption.Flow).AnyAsync(); - if (repeat) + if (!repeat) { await _lifePayConsumption.InsertAsync(lifePayConsumption); } @@ -568,8 +582,6 @@ FinishTime = x.FinishTime, CreationTime = x.CreationTime, }); - - return list; } -- Gitblit v1.9.1