| | |
| | | var orderList = await _lifePayOrderRepository.Where(x => x.PayStatus == LifePayStatusEnum.已支付).ToListAsync(); |
| | | foreach (var item in orderList) |
| | | { |
| | | LifePayConsumption lifePayConsumption = new LifePayConsumption() |
| | | { |
| | | OrderNo = item.OrderNo, |
| | | AcoolyOrderNo = item.ACOOLYOrderNo, |
| | | Amount = item.PlatformDeductionAmount.HasValue? item.PlatformDeductionAmount.Value : 0, |
| | | ChannelId = item.ChannelId, |
| | | }; |
| | | |
| | | if (item.ACOOLYStatus != null) |
| | | { |
| | | switch (item.ACOOLYStatus) |
| | | { |
| | | case ACOOLYStatusEnum.充值中: |
| | | await CreatLifePayConsumption(ACOOLYStatusEnum.充值中, item, lifePayConsumption); |
| | | await CreatLifePayConsumption(ACOOLYStatusEnum.充值中, item.OrderNo, item.ACOOLYOrderNo, |
| | | item.PlatformDeductionAmount ?? 0, item.ChannelId, item.CreationTime, item.FinishTime); |
| | | break; |
| | | case ACOOLYStatusEnum.充值成功: |
| | | await CreatLifePayConsumption(ACOOLYStatusEnum.充值中, item, lifePayConsumption); |
| | | await CreatLifePayConsumption(ACOOLYStatusEnum.充值成功, item, lifePayConsumption); |
| | | 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, lifePayConsumption); |
| | | await CreatLifePayConsumption(ACOOLYStatusEnum.已完成, item, lifePayConsumption); |
| | | 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, lifePayConsumption); |
| | | await CreatLifePayConsumption(ACOOLYStatusEnum.充值失败, item, lifePayConsumption); |
| | | 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; |
| | | } |
| | |
| | | } |
| | | #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) |
| | |
| | | return list; |
| | | } |
| | | |
| | | private async Task CreatLifePayConsumption(ACOOLYStatusEnum status, LifePayOrder order, LifePayConsumption lifePayConsumption) |
| | | { |
| | | LifePayConsumption repeat = new LifePayConsumption(); |
| | | switch (status) |
| | | { |
| | | 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.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; |
| | | } |
| | | } |
| | | #endregion |
| | | |
| | | } |