From d0ca4c5479641ac5616d1e6fd2c258aea7d93222 Mon Sep 17 00:00:00 2001 From: zhengyuxuan <zhengyuxuan1995> Date: 星期三, 02 四月 2025 13:28:28 +0800 Subject: [PATCH] fix:写入消费记录 --- LifePayment/LifePayment.Application/LifePay/LifePayOrderService.cs | 149 +++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 131 insertions(+), 18 deletions(-) diff --git a/LifePayment/LifePayment.Application/LifePay/LifePayOrderService.cs b/LifePayment/LifePayment.Application/LifePay/LifePayOrderService.cs index 8bdc9a9..0d81181 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 { @@ -309,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); } } @@ -320,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); } } @@ -338,24 +341,35 @@ 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, - }; - - switch (item.ACOOLYStatus) - { - 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.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; + } } } } @@ -435,7 +449,105 @@ } #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, + }; + LifePayConsumption repeat = new LifePayConsumption(); + 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; + + 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 = orderFinishTime.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 = orderCreationTime; + 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 = orderFinishTime.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 = 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; + } + } + private async Task<IQueryable<LifePayChannlesRakeListOutput>> GetLifePayChannlesRakeListFilter(LifePayChannlesRakePageInput input) { var list = _lifePayChannlesRakeRepository.Where(x => x.IsDeleted == false) @@ -460,6 +572,7 @@ return list; } + #endregion } -- Gitblit v1.9.1