#EQD-5850 预付金返息的发生时间有问题
This commit is contained in:
@@ -387,13 +387,25 @@ namespace YLErp.Modules.SwapModule
|
||||
var swapEventIds = swapEvents.Select(s => s.id).ToList();
|
||||
if (swapEventIds.Any())
|
||||
{
|
||||
// 通过 swap_event 的 ClientCashId 删除对应的资金记录
|
||||
// 通过 swap_event 的 ClientCashId 删除对应的资金记录(利息腿)
|
||||
var clientCashIds = swapEvents.Where(s => s.ClientCashId > 0).Select(s => s.ClientCashId).ToList();
|
||||
if (clientCashIds.Any())
|
||||
{
|
||||
var clientCashRecords = DbContext.ClientCashInCashOut.Where(x => clientCashIds.Contains(x.id)).ToList();
|
||||
DbContext.ClientCashInCashOut.RemoveRange(clientCashRecords);
|
||||
}
|
||||
|
||||
// 删除预付金腿的资金记录(通过交易ID、日期和Action类型查找,一次性查询避免MySQL连接重用问题)
|
||||
var swapTradeIds = swapEvents.Select(s => s.SwapTradeId).Distinct().ToList();
|
||||
var premiumCashRecords = DbContext.ClientCashInCashOut
|
||||
.Where(x => swapTradeIds.Contains(x.TradeId ?? 0)
|
||||
&& x.HappenDate>=valueDate
|
||||
&& x.Action == ClientCashInCashOut.系统操作_预付金返息)
|
||||
.ToList();
|
||||
if (premiumCashRecords.Any())
|
||||
{
|
||||
DbContext.ClientCashInCashOut.RemoveRange(premiumCashRecords);
|
||||
}
|
||||
}
|
||||
}
|
||||
DbContext.swap_event.RemoveRange(swapEvents);
|
||||
|
||||
Reference in New Issue
Block a user