zhengyuxuan
2025-04-02 8c1dce43d197565302ead9d3ae78dff8ea4f9687
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
{
@@ -342,21 +343,18 @@
                {
                    OrderNo = item.OrderNo,
                    AcoolyOrderNo = item.ACOOLYOrderNo,
                    Amount = item.PlatformDeductionAmount.Value,
                    Amount = item.PlatformDeductionAmount.HasValue? item.PlatformDeductionAmount.Value : 0,
                };
                switch (item.ACOOLYStatus)
                if (item.ACOOLYStatus != null)
                {
                    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, lifePayConsumption);
                            break;
                    }
                }
            }
        }
@@ -460,6 +458,29 @@
            return list;
        }
        private async Task CreatLifePayConsumption(ACOOLYStatusEnum status, LifePayOrder order, LifePayConsumption 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;
                    var 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
    }