Commit Graph
19 Commits
Author SHA1 Message Date
张名锐 3d73835be5 fix(swap): 结算或全部平仓后,待实现置0
- 添加 NormalizeSettledInterestAmounts 方法处理手工平仓和互换的利息事件精度
- 添加 NormalizeManualSettlementAmounts 方法在手工结算前收敛流水金额
- 将利息计算精度从 ConsGlobal.PriceRound 统一调整为 InterestCalculationPrecision(12位)
- 在日终持仓快照中添加精度标准化处理,利息腿保留12位精度
- 修复全量平仓时待实现利息和费用的清零逻辑
- 在收益结算事件后清空待实现利息余额避免重复计算
- 更新单元测试验证现金与两位利息事件的一致性
2026-07-29 14:42:03 +08:00
张名锐 bc961c3411 fix(swap): 修复互换交易中债券价格精度处理问题,扩充到11位计算
- 统一债券价格四舍五入规则,使用AwayFromZero模式
- 为债券类型添加特殊的精度处理逻辑
- 修复前端价格显示精度计算问题
- 优化价格存储精度控制,区分债券和其他产品类型
- 修复初始化YTM和净价精度处理问题
- 更新价格验证逻辑以支持动态精度设置
2026-07-23 11:06:50 +08:00
张名锐 c58a9d40c4 feat(swap): 统一【期初、期末交割价格】精度处理
- 在ConsGlobal中新增SwapDeliveryPriceRound常量定义为9位小数
- 更新incomeSwapTrade.js中交割价格计算逻辑,添加getStorageDeliveryPrice方法
- 修改SwapConsumerService中TradingAmountAvg字段的精度处理
- 添加ValidateDeliveryPrices和NormalizeDeliveryPrices方法进行交割价格验证和标准化
- 在SwapEodPositionService中对PosiGrossPrice和UnderlyingPrice进行精度处理
- 更新SwapFlowEventService中TradingAmountAvg字段的精度处理
- 在SwapFlowImportService中添加交割价格精度处理
- 更新前端界面中的输入格式配置,使用新的交割价格精度设置
- 修改SwapflowList.js中交割价格精度处理逻辑
- 在SwapFlowService中添加交割价格验证和精度处理
- 更新SwapTradeAutoService中交割价格精度处理
- 修改SwapTradeService中PosiGrossPrice字段的精度处理
- 更新unwindSwapTrade.js中交割价格计算逻辑
2026-07-22 14:53:46 +08:00
hjhan 32bcf9beb9 refactor(swap): FindTrade seam上提基类消除三子类重复
SwapDealService/SwapEodPositionService/SwapFlowEventService 三处 FindTrade(int)
签名和实现完全一致(DbContext.trade.Find),上提到 SwapTradeBaseService 基类。

核对确认可安全上提的只有 FindTrade(三者逐字一致):
- FindTradeExtend 不可上提: SwapEodPositionService 用 FirstOrDefault,
  SwapFlowEventService 用 First(找不到抛异常),语义不同。
- FindPositions 不可上提: SwapEodPositionService 含 IsInitial 持仓,
  SwapFlowEventService 排除 IsInitial + AsNoTracking,语义不同。

测试 stub override FindTrade 跨基类层级正常工作,C# virtual 多态不受影响。
SwapModule 171测试全绿,无回归。
2026-07-03 09:52:57 +08:00
hjhan b501e21904 test(swap): 启用MergeCompose场景6/7+SwapFlowEventService录制钩子+RecordingSwapFlowEventService
1. MergeComposeScenarioTest 场景6/7 启用(去掉Ignore):
   此前失败是stale binary(未重新编译),重新build后8场景全部通过。
   - 场景6 单条merge无持仓→DealNoPosition创建交易
   - 场景7 两条merge无持仓→创建交易+平仓

2. SwapFlowEventService 补OnBefore/OnAfterMergePageEvent录制钩子(默认空实现):
   - OnBefore: DB查询完成、合成逻辑执行前触发,可捕获输入快照
   - OnAfter: PersistEvents后触发,捕获输出事件
   生产路径为空方法体,零行为影响。

3. 移植RecordingSwapFlowEventService(借鉴testable分支):
   override OnAfterMergePageEvent录制golden文件,备用录制工具。
   内联GoldenFileModel(简单POCO)。FullRecord_WithPreBookingPositions连库测试自动跳过。

SwapModule 171测试全绿,无回归。
2026-07-03 09:38:05 +08:00
hjhan f0ef37b599 test(swap): SwapFlowEventService seam改造+MergePageEventScenarioTest(6场景全绿)
借鉴 testable 分支,只取 seam(排除 PosiPnl/NetSettmentAmount 公式改动和 MergePageEvent 拆分),
填补当前分支对开平仓合成(MergePageEvent)零覆盖的空白。

SwapFlowEventService 新增11个 protected virtual seam:
- FindTrade/FindTradeExtend/FindPositions/FindAndInvalidateFutureEvents
- GetUnderlying/GetNextBusinessDay/ResolvePositionId
- PersistEvents(替代InitEvent内联Add+SaveChanges)/BeginTransaction/CommitTransaction/RollbackTransaction
MergePageEvent/InitEvent: private→protected virtual,内联DB调用替换为seam。
InitEvent 移除 DbContext.swap_flow_event.Add(转入PersistEvents,纯函数化)。
SwapTradeBaseService.UpdateDbOption: public void→public virtual(测试override用)。

新增测试(借鉴testable分支):
- TestableSwapFlowEventService.cs(集中式共享包装类)
- MergePageEventScenarioTest.cs(6场景全绿):
  Scenario1 单条无持仓开仓 / Scenario2 同向追加 / Scenario3 反向全平
  Scenario4 反向部分平+开 / Scenario5 一开一平 / Scenario6 复杂组合

**未借鉴**:SearchPositionFlowEvent的PosiPnl/NetSettmentAmount公式改动(行为变更)、
MergePageEvent拆分ProcessSingleFlow等(非必需重构)。
SwapModule 169测试全绿(+6),无回归。
2026-07-03 09:26:13 +08:00
锦麟 王 d9fc5965d3 BugFix 系统中MarkCloseValue歧义部分修改 2026-06-26 16:06:13 +08:00
gongpei ba03d402a0 fix: 收益率空处理 2025-10-15 15:08:37 +08:00
gongpei a78152090a fix: 导出估值报告携带成交收益率 2025-10-15 11:13:55 +08:00
gongpei 7be89a8c1d feat: 新增成交收益率字段 2025-10-13 17:13:22 +08:00
吴方海 ee3321bc36 调整优化 2025-05-30 17:48:36 +08:00
吴方海 829334a4fd 每日估值bug修复 2025-05-30 13:08:59 +08:00
吴方海 23dabc7f86 互换估值bug修复 2025-05-29 11:05:29 +08:00
吴方海 083848fb62 TRS-ZS-464 估值单调整& 利息计算修复&审批修复 2025-05-28 18:09:19 +08:00
吴方海 4e4cb17dab TRS-ZS-450 每日估值单中各tab字段逻辑调整汇总 2025-05-28 10:29:09 +08:00
吴方海 342587368c 每日估值报告字段调整 2025-04-22 19:17:18 +08:00
吴方海 61f1c25c3e 名义本金bug修复 2025-04-15 09:29:47 +08:00
吴方海 2d9d5763c4 group by问题修复 2024-06-11 10:35:57 +08:00
吴方海 f9d8a256a6 从山证v2.3.0拷贝 2024-05-09 14:06:26 +08:00