refactor(return-leg): 抽取 PositionValueCalc 持仓价值汇总

SwapEodPositionService 8处 SwapPositionValue inline 公式替换:
- 4处 InterestProfitSum * ratio + PosiProfitSum → PositionValueCalc.Calc(带ratio)
- 4处 InterestProfitSum + PosiProfitSum → PositionValueCalc.Calc(默认ratio=1)

持仓价值 = 利息端收益 + 浮动端收益, 8处副本→1个纯函数。
这是最后一个高性价比的纯函数提取。

验证: 编译0错误, 全量513测试7失败(基线一致)。
This commit is contained in:
hjhan
2026-08-11 16:50:21 +08:00
parent 744f1ae448
commit 16c44d3b50
3 changed files with 48 additions and 8 deletions
@@ -0,0 +1,15 @@
namespace YLErp.Modules.SwapModule.ReturnLegs;
/// <summary>
/// 持仓价值(SwapPositionValue)汇总。
///
/// SwapPositionValue = 利息端收益 + 浮动端收益。
/// 利息端可能带方向因子(收取/支付),浮动端不含方向因子。
/// 原代码在 SwapEodPositionService 8处重复此公式(1115/1258/1519/1647/1746/1830/1938/2113)。
/// </summary>
public static class PositionValueCalc
{
/// <summary>持仓价值 = 利息端 × 方向因子 + 浮动端。</summary>
public static decimal Calc(decimal interestProfitSum, decimal posiProfitSum, decimal ratio = 1m)
=> interestProfitSum * ratio + posiProfitSum;
}