test(swap): 添加消费利息场景测试用例并修复重置日利息计算逻辑

- 添加CI_010_EodResetWithoutCloseCarriesFullPendingInterest测试方法
- 验证无平仓重置日必须完整并入上一期累计待实现利息的场景
- 修复CalcDailyCompoundInterestByEod方法中剩余百分比计算逻辑
- 使用posiPrincipal替代preEodPosition.TdInterestPrincipal进行计算
- 确保重置日期计算中本金比例的准确性
This commit is contained in:
张名锐
2026-08-07 23:00:28 +08:00
parent e819ad02c5
commit 253a89b799
2 changed files with 44 additions and 2 deletions
@@ -1417,8 +1417,8 @@ namespace YLErp.Modules.SwapModule
var days = (endDate - tradeDate).Days;
if (days % interestPeriod == 0)
{
var remainingPercent = preEodPosition.TdInterestPrincipal > 0m
? principal / preEodPosition.TdInterestPrincipal
var remainingPercent = posiPrincipal > 0m
? principal / posiPrincipal
: 1m;
remainingPercent = Math.Max(0m, Math.Min(1m, remainingPercent));
tdDynomicPrincipal = tdDynomicPrincipal + interestProfitSum * remainingPercent;