fix(swap): 修复平仓事件中事件日期=平仓日期的处理逻辑
- 将平仓条件判断从 UnwindDate 改为 EventDate - 移除不再使用的 priorClosePositionIds 变量 - 统一使用 NormalizeEventUnwindDate 替代 NormalizeIncomeUnwindDate - 在多个平仓方法中添加 NormalizeEventUnwindDate 调用 - 更新流程事件的 EventDate 和 UnwindDate 字段 - 修改单元测试以验证按 EventDate 分桶的逻辑 - 在前端控制器中将 unwindDate 设置为 valueDate - 添加 maxdate 属性到平仓日期选择器 - 实现事件日期与平仓日期的双向同步功能 - 更新利息列表获取接口使用统一日期参数
This commit is contained in:
@@ -217,6 +217,19 @@ namespace YLErp.Modules.SwapModule
|
||||
Console.WriteLine($"UW_006: CloseReCheck={service.CloseReCheckCallCount}次, SwapRealizedPnL={service.SaveSwapDealCalls[0].data.SwapRealizedPnL} ✅");
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void UW_014_事件日期与平仓日期强绑定()
|
||||
{
|
||||
var td = SwapDealTestFactory.CreateTrade();
|
||||
var service = new TestableSwapDealService(td);
|
||||
var unwindData = SwapDealTestFactory.CreateUnwindData(swapRealizedPnL: 0m);
|
||||
|
||||
service.ApplySwapTrade(unwindData, (int)SwapEventTypeEnum.平仓);
|
||||
|
||||
Assert.AreEqual(unwindData.ValueDate, service.SaveSwapDealCalls[0].data.UnwindDate);
|
||||
Assert.AreEqual(unwindData.ValueDate, unwindData.UnwindDate);
|
||||
}
|
||||
|
||||
// ================================================================
|
||||
// 场景7:前端传"占期初(A)"语义,后端入口转"占剩余(B)" —— 全平判定
|
||||
// 原始名义本金 100M / 剩余 60M,前端传 A=0.6(平掉原始 60M = 剩余全部)
|
||||
|
||||
Reference in New Issue
Block a user