refactor(swap): Phase1 提取UnwindNormalizer+TradingFeeCalc出SwapDealService
SwapDealService的10个private static纯逻辑方法搬到两个新文件: - UnwindNormalizer.cs: NormalizeNotionalValues/FullCloseRequest/Recalculate/IsFullClose/SettledInterestAmounts/EventUnwindDate (6个) - TradingFeeCalc.cs: CalcInitTradingFee/CalcInitTradingFeePending (2个) SwapDealService内21处调用点加类名前缀, 反射测试改为直接调用(public) SwapModule零回归(7基线/510通过)
This commit is contained in:
@@ -1,4 +1,3 @@
|
||||
using System.Reflection;
|
||||
using YLErp.DBModels;
|
||||
|
||||
namespace YLErp.Modules.SwapModule
|
||||
@@ -7,26 +6,10 @@ namespace YLErp.Modules.SwapModule
|
||||
public class InitUnwindTradingFeeTest
|
||||
{
|
||||
private static decimal InvokeCalcInitTradingFee(swap_position position, UnwindData unwindData)
|
||||
{
|
||||
var method = typeof(SwapDealService).GetMethod(
|
||||
"CalcInitTradingFee",
|
||||
BindingFlags.NonPublic | BindingFlags.Static);
|
||||
|
||||
Assert.IsNotNull(method, "未找到 CalcInitTradingFee 私有静态方法");
|
||||
|
||||
return (decimal)method.Invoke(null, new object[] { position, unwindData });
|
||||
}
|
||||
=> TradingFeeCalc.CalcInitTradingFee(position, unwindData);
|
||||
|
||||
private static decimal InvokeCalcInitTradingFeePending(swap_position oriPosition, swap_position position, UnwindData unwindData)
|
||||
{
|
||||
var method = typeof(SwapDealService).GetMethod(
|
||||
"CalcInitTradingFeePending",
|
||||
BindingFlags.NonPublic | BindingFlags.Static);
|
||||
|
||||
Assert.IsNotNull(method, "CalcInitTradingFeePending was not found");
|
||||
|
||||
return (decimal)method.Invoke(null, new object[] { oriPosition, position, unwindData });
|
||||
}
|
||||
=> TradingFeeCalc.CalcInitTradingFeePending(oriPosition, position, unwindData);
|
||||
|
||||
[TestMethod]
|
||||
public void 百分比模式_按平仓名义本金计算并四舍五入到两位()
|
||||
|
||||
Reference in New Issue
Block a user