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 | 218 ++++++++++++++++++++++++++++--------------------------
LifePayment/LifePayment.Application.Contracts/LifePay/ILifePayOrderService.cs | 3
LifePayment/LifePayment.Application.Contracts/LifePay/LifePayInput.cs | 2
LifePayment/LifePayment.Application/LifePay/LifePayService.cs | 9 ++
LifePayment/LifePayment.Application/LifePay/StatisticsService.cs | 1
5 files changed, 127 insertions(+), 106 deletions(-)
diff --git a/LifePayment/LifePayment.Application.Contracts/LifePay/ILifePayOrderService.cs b/LifePayment/LifePayment.Application.Contracts/LifePay/ILifePayOrderService.cs
index ab6faa8..9470350 100644
--- a/LifePayment/LifePayment.Application.Contracts/LifePay/ILifePayOrderService.cs
+++ b/LifePayment/LifePayment.Application.Contracts/LifePay/ILifePayOrderService.cs
@@ -29,4 +29,7 @@
Task GetAllChannlesRake();
Task GetAllLifePayConsumption();
+
+ Task CreatLifePayConsumption(ACOOLYStatusEnum status, string orderNo, string aCOOLYOrderNo,
+ decimal platformDeductionAmount, string channelId, DateTime orderCreationTime, DateTime? orderFinishTime);
}
\ No newline at end of file
diff --git a/LifePayment/LifePayment.Application.Contracts/LifePay/LifePayInput.cs b/LifePayment/LifePayment.Application.Contracts/LifePay/LifePayInput.cs
index 7190e9a..715aac6 100644
--- a/LifePayment/LifePayment.Application.Contracts/LifePay/LifePayInput.cs
+++ b/LifePayment/LifePayment.Application.Contracts/LifePay/LifePayInput.cs
@@ -671,9 +671,9 @@
public LifePayTypeEnum LifePayType { get; set; }
}
+
public class AddLifePayExpensesReceiptsInput
{
-
/// <summary>
/// 閫�娆捐鍗曞彿
/// </summary>
diff --git a/LifePayment/LifePayment.Application/LifePay/LifePayOrderService.cs b/LifePayment/LifePayment.Application/LifePay/LifePayOrderService.cs
index cce4b86..0d81181 100644
--- a/LifePayment/LifePayment.Application/LifePay/LifePayOrderService.cs
+++ b/LifePayment/LifePayment.Application/LifePay/LifePayOrderService.cs
@@ -341,31 +341,32 @@
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;
}
@@ -448,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)
@@ -474,95 +573,6 @@
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
}
diff --git a/LifePayment/LifePayment.Application/LifePay/LifePayService.cs b/LifePayment/LifePayment.Application/LifePay/LifePayService.cs
index 4442a58..c8f1967 100644
--- a/LifePayment/LifePayment.Application/LifePay/LifePayService.cs
+++ b/LifePayment/LifePayment.Application/LifePay/LifePayService.cs
@@ -1314,6 +1314,7 @@
order.PayStatus = LifePayStatusEnum.宸叉敮浠�;
order.PayTime = DateTime.Now;
order.OutOrderNo = outOrderNo;
+
try
{
var result = (Code: "Fail", RequestNo: "", ACOOLYOrderNo: "");
@@ -1338,6 +1339,10 @@
order.OutRequestNo = result.RequestNo.IsNullOrEmpty() ? null : result.RequestNo;
order.ACOOLYOrderNo = result.ACOOLYOrderNo;
order.ACOOLYStatus = ACOOLYStatusEnum.鍏呭�间腑;
+
+ /// 鍒涘缓鐢熸椿缂磋垂娑堣垂璁板綍
+ await _lifePayOrderService.CreatLifePayConsumption(ACOOLYStatusEnum.鍏呭�间腑, order.OrderNo, order.ACOOLYOrderNo,
+ order.PlatformDeductionAmount ?? 0, order.ChannelId, order.CreationTime, order.FinishTime);
}
catch (Exception ex)
{
@@ -1429,6 +1434,10 @@
await _lifePayChannlesRakeRepository.InsertAsync(lifePayChannlesRake);
}
}
+
+ /// 鍒涘缓鐢熸椿缂磋垂娑堣垂璁板綍
+ await _lifePayOrderService.CreatLifePayConsumption(acoolyStatus, order.OrderNo, order.ACOOLYOrderNo,
+ order.PlatformDeductionAmount ?? 0, order.ChannelId, order.CreationTime, order.FinishTime);
}
/// <summary>
diff --git a/LifePayment/LifePayment.Application/LifePay/StatisticsService.cs b/LifePayment/LifePayment.Application/LifePay/StatisticsService.cs
index 477b532..be6e9e8 100644
--- a/LifePayment/LifePayment.Application/LifePay/StatisticsService.cs
+++ b/LifePayment/LifePayment.Application/LifePay/StatisticsService.cs
@@ -238,7 +238,6 @@
return channelDataList;
-
}
--
Gitblit v1.9.1