授信/现金资金标签分配链路 double→decimal 精度收敛

- FundTagCalc 全链路(LegAmount/LegFundPlan/UnwindTagSplit/TagRelease/MarginLegSettlement)金额类型改 decimal,消除 double 二进制误差在拆单倒挤、守恒校验中的分位尾差
- 边界处显式转换:writeCash 委托与 ClientCreditInoutService.Occupy/Release(仍 double)、GetAvailableCredit 返回值 (decimal) 强转
- SwapDealService.RecordMarginCashFlow/ReleaseMarginByFundTag 签名同步 decimal,测试桩 TestableSwapDealService 对齐
- 单测断言去掉 1e-6 容差(decimal 精确比较)
This commit is contained in:
hjhan
2026-08-27 18:22:56 +08:00
parent 74bf82ab1d
commit 15d25228af
6 changed files with 37 additions and 37 deletions
@@ -141,10 +141,10 @@ namespace YLErp.Modules.SwapModule
return ReleaseMarginByFundTagResult
?? new UnwindTagSplit
{
CashMargin = Convert.ToDouble(marginAmount),
CashRebate = Convert.ToDouble(marginLegs.Any()
CashMargin = marginAmount,
CashRebate = marginLegs.Any()
? marginLegs.Sum(x => x.InterestClosePnL)
: marginRebate)
: marginRebate
};
}