hjhan
250c41b925
refactor(interest): 抽取 IIndexFixer 取价接缝 + 清理固定值腿错误测试
为后续拆三类腿做准备,新增 FR007 取价的独立接口层(参考 QuantLib IborIndex
分层),本次零生产代码改动,全部为新增小文件。
新增文件(取价接缝,供后续 SwapDealService 6 处 inline 取价迁移用):
- Framework/YLErp.Core/Interest/IIndexFixer.cs
接口定义:给定取价日和标的代码返回当日利率,取价与计息解耦
- Framework/YLErp.Core/Interest/IndexFixerBase.cs
取价日计算工具:收敛原散落 6 处的 GetNonHolidayDefore(date.AddDays(rule))
- YLErpDAL/Modules/SwapModule/Fr007IndexFixer.cs
生产实现 + GetFixingOrThrow 辅助方法,独立文件便于单测
测试清理(删除基于错误假设的测试):
- 删除 SwapFixedInterestLegClosePercentBugTest.cs 整个文件
该文件假设'固定值腿利息应随平仓比例线性缩放',但固定值是合同写死的、
永远不随平仓比例变化。d1badfe4 的'修复'本身才是错的,当前分支已正确回退
- 修正 SwapUnwindPrepayPrincipalBugTdd.cs 固定值测试方法
断言从'应=Fix×0.5'改为'恒=Fix不随比例变化',对齐正确的业务定义
已知失败(非本次引入,留待后续与拆腿一起修):
- BondTrsAutoSwapScenarioTest 的 AS_001/004/008/009/010/011 共 6 个
原因:SaveAutoSwapDeal 直接调 AddClientCashInCashOut(非virtual)绕过
AddClientCash(virtual)封装,无库环境抛'客户信息未找到'。
从 096d2609 引入时即失败,需 AddClientCashInCashOut 加 virtual + 客户数据
mock,与拆腿那次可测性改造一起做
2026-08-10 18:01:37 +08:00
..
2026-07-17 10:59:18 +08:00
2026-08-10 11:08:46 +08:00
2026-07-23 11:16:11 +08:00
2026-07-27 13:18:32 +08:00
2026-07-23 11:16:11 +08:00
2026-08-07 23:00:28 +08:00
2026-07-23 11:16:11 +08:00
2026-07-23 11:16:11 +08:00
2026-08-09 22:07:19 +08:00
2026-08-07 17:44:04 +08:00
2026-08-09 22:28:40 +08:00
2026-08-09 22:28:40 +08:00
2026-07-23 11:16:11 +08:00
2026-08-09 22:28:40 +08:00
2026-07-17 10:59:18 +08:00
2026-07-20 18:41:16 +08:00
2026-08-07 19:00:31 +08:00
2026-07-02 09:37:18 +08:00
2026-07-21 15:28:15 +08:00
2026-07-21 15:28:15 +08:00
2026-07-17 08:23:50 +08:00
2026-08-05 18:26:15 +08:00
2026-07-03 09:38:05 +08:00
2026-07-03 09:26:13 +08:00
2026-07-02 09:20:41 +08:00
2026-07-23 11:16:11 +08:00
2026-08-10 13:17:12 +08:00
2026-08-08 15:46:54 +08:00
2026-07-03 09:38:05 +08:00
2026-07-01 17:07:55 +08:00
2026-08-09 16:06:09 +08:00
2026-06-26 09:13:37 +08:00
2026-02-13 18:12:00 +08:00
2026-07-17 08:40:19 +08:00
2026-07-21 15:28:13 +08:00
2026-07-21 15:28:14 +08:00
2026-08-06 14:44:30 +08:00
2026-08-08 09:31:43 +08:00
2026-08-09 11:22:42 +08:00
2026-07-01 13:38:24 +08:00
2026-08-09 22:28:40 +08:00
2026-07-21 15:28:17 +08:00
2026-07-21 15:28:13 +08:00
2026-08-08 09:31:43 +08:00
2026-07-16 13:00:21 +08:00
2026-07-16 11:09:47 +08:00
2026-08-10 18:01:37 +08:00
2026-08-07 13:46:24 +08:00
2026-07-21 15:28:13 +08:00
2026-07-03 18:12:52 +08:00
2026-08-10 11:08:46 +08:00
2026-07-03 09:26:13 +08:00
2026-07-03 09:20:59 +08:00