锦麟 王
|
96ddaee582
|
Merge branch 'glms/feature/1.4.2' of http://git.yiliantech.com/gitlab/otc-dev/zszq-trs into glms/feature/1.4.2
|
2026-07-02 17:25:26 +08:00 |
|
锦麟 王
|
dcf649f27e
|
#EQD-6402 手动互换-保存后价格精度不正确
|
2026-07-02 17:25:07 +08:00 |
|
张名锐
|
64299aa744
|
cleanup: remove leftover risk engine references
|
2026-07-02 16:19:26 +08:00 |
|
张名锐
|
c94a717183
|
Revert "feat: 新增风控引擎RiskEngine模块(第一版骨架)"
This reverts commit 4140293b36.
|
2026-07-02 16:14:43 +08:00 |
|
张名锐
|
8cff296be3
|
Revert "feat: 风控引擎核心重构 - 表达式树编译 + Roslyn Scripting + 规则模型合并"
This reverts commit 3e357312c2.
|
2026-07-02 16:14:24 +08:00 |
|
张名锐
|
d5a4eab2ec
|
Revert "feat(风控引擎): RiskRuleService/RiskRuleController 权限控制及需求对齐"
This reverts commit a259b745ce.
|
2026-07-02 16:14:04 +08:00 |
|
张名锐
|
d01253a5da
|
Revert "feat: 规则双模式公式表达式(RuleExpr)& 字段精简重构"
This reverts commit 28ed20e527.
|
2026-07-02 16:13:41 +08:00 |
|
张名锐
|
4ac18c4810
|
Revert "feat(risk-engine): 完善风控规则种子数据与 CRUD 接口优化"
This reverts commit c2fc699e57.
|
2026-07-02 16:05:42 +08:00 |
|
张名锐
|
75dc6f182b
|
Revert "refactor(risk-engine): ConditionJson 改为 RuleCondition 数组格式,精简 DTO 命名"
This reverts commit 3bf90e25ef.
|
2026-07-02 16:05:40 +08:00 |
|
张名锐
|
d0e6b31d5c
|
Revert "优化调整规则管理"
This reverts commit e8ef5be862.
|
2026-07-02 16:05:38 +08:00 |
|
张名锐
|
dae112d199
|
Revert "fix(risk-engine): 修复多个风控引擎问题"
This reverts commit d7c09c793a.
|
2026-07-02 16:02:49 +08:00 |
|
张名锐
|
d1804710f3
|
Revert "优化字段类型"
This reverts commit 10b08f8f21.
|
2026-07-02 16:02:49 +08:00 |
|
张名锐
|
7347e527a7
|
Revert "修改URL地址"
This reverts commit 5caad4d0ff.
|
2026-07-02 16:02:43 +08:00 |
|
张名锐
|
eb778677e9
|
Revert "修改风控规则操作权限"
This reverts commit f53ef95222.
|
2026-07-02 16:02:41 +08:00 |
|
张名锐
|
1a15918f3d
|
Revert "修改风控规则操作权限"
This reverts commit 29ac61e2d5.
|
2026-07-02 16:01:38 +08:00 |
|
张名锐
|
b2dce0e4f7
|
fix(swap): 修复互换交易流程事件数据填充问题
- 添加SwapTradeNo、EventType和EventReason字段到流程事件
- 修正EventType枚举类型从SwapEventTypeEnum改为SwapFlowEventTypeEnum
- 在SaveSwapDeal方法中添加交易信息验证逻辑
- 提取FillSwapFlowEvent方法统一处理流程事件数据填充
- 优化数据库保存操作确保数据一致性
|
2026-07-02 14:28:47 +08:00 |
|
张名锐
|
3534ebb342
|
fix(trade): 修正对客交易判断逻辑
- 修改了GuolianContractNoGenerator中对客交易的判断条件
- 将判断标准从"乙方=对客"改为"甲方=对客"
- 更新了相关注释以反映新的业务规则
|
2026-07-02 14:07:19 +08:00 |
|
张名锐
|
7d52311220
|
fix(swap-trade): 修正展期平仓页面数量显示问题
- 将浮仓数量字段从 floatPosition.Quantity 更新为 deal.CloseQty
- 确保页面显示正确的平仓数量信息
|
2026-07-02 13:32:02 +08:00 |
|
张名锐
|
23d58ed064
|
Merge remote-tracking branch 'origin/glms/feature/1.4.2' into glms/feature/1.4.2
|
2026-07-02 13:22:05 +08:00 |
|
锦麟 王
|
365711b5ff
|
自动互换分红时,期末结算全价使用PosiGrossPrice
|
2026-07-02 13:02:14 +08:00 |
|
hjhan
|
f88da59874
|
日期 事件 期望行为
D1=2026-01-06 无事件(Copy 分支) TdPosiDividend=1天增量,PosiDividendSum=增量
D2=2026-01-07 部分平仓 30%(EventType=2, Quantity=300, DividendIn=按比例) PosiQuantity→700,TdPosiDividend按(700)算,PosiDividendSum递推
D3=2026-01-08 无事件 增量按剩余700算
D4=2026-01-09 互换结算(EventType=3, DividendIn=部分待实现金额,不扣持仓) PosiQuantity不变=700,TdCloseDividend=互换DividendIn,PosiDividendSum递推
D5=2026-01-10 无事件 继续按700累积
D6=2026-01-11 全平(EventType=2, Quantity=700, 全部待实现作DividendIn) PosiQuantity→0,PosiDividendSum=0(else分支)
|
2026-07-02 12:59:16 +08:00 |
|
hjhan
|
0910969e3f
|
fix(swap): PosiDividendSum精度差异修复(GLMS-20260105-0007)
问题:互换后PosiDividendSum=-89999.64(应为-90000),差0.36元。
根因:UpdateEodPosition cs:1635从头重算PosiDividendSum
(Round(全程,2)-已实现),与CopyEodPosition逐天递增
(每天Round(增量,2)累积)产生舍入误差累积。
修复:cs:1635改为递增模式
PosiDividendSum = eod.PosiDividendSum + TdPosiDividend - TdCloseDividend
与InterestIncomeSum的递增模式一致,避免从头重算的精度差异。
验证(golden录制/回放TDD):
- 真实数据录制GLMS-20260105-0007的eod快照+输入数据
- 回放重新调UpdateEodPosition:修复前=-89999.64(红灯),
修复后=-90000(绿灯,精确匹配)
- 121个测试全通过,无回归
|
2026-07-02 10:47:23 +08:00 |
|
tengyufan
|
56f9f980c2
|
Merge remote-tracking branch 'origin/glms/feature/1.4.2' into glms/feature/1.4.2
|
2026-07-02 10:31:58 +08:00 |
|
tengyufan
|
535eac0f62
|
fix: 交易日历IB逻辑收窄——仅成交日期默认值使用银行间日历
- 回退 ylotc.calendar.js 至纯CHN,恢复全部日期选择器为证券交易所交易日历
- SwapTrade2Controller 新增 GetBestCountry 按年份判断IB数据是否存在
- 仅成交日期(TradeDate)默认值使用IB优先/CHN回退,开始日期和到期日期保持CHN
- 平仓及其他交易页面日期选择器不再受银行间日历影响
|
2026-07-02 10:31:47 +08:00 |
|
hjhan
|
0e045d89db
|
test(swap): GLMS-20260105-0007分红精度差异golden红灯(复现0.36差异)
用真实测试库数据录制golden,回放复现0.36精度差异:
- 互换前 PosiDividendSum=-90400,互换支付-400
- 期望 PosiDividendSum=-90000,实际=-89999.64,差异0.36
- 回放断言失败(红灯坐实bug)
根因:UpdateEodPosition cs:1635从头重算PosiDividendSum
(Round(全程,2)-已实现),与CopyEodPosition逐天递增
(每天Round(增量,2)累积)产生舍入误差。
录制方法Record_FromRealDB标[Ignore],手动跑生成golden。
回放方法Replay_VerifyPrecisionDiff进CI,当前红灯(期望=-90000,实际=-89999.64)。
|
2026-07-02 10:28:23 +08:00 |
|
张名锐
|
13b9c2a451
|
refactor(Trade_Self): 优化互换交易编辑权限判断逻辑
- 提取互换事件检查条件为独立变量 hasSwapDealEvent
- 添加对平仓、互换、自动互换事件类型的检查
- 将复杂条件判断重构为更清晰的逻辑结构
- 保持原有业务逻辑不变的情况下提高代码可读性
|
2026-07-02 10:14:42 +08:00 |
|
hjhan
|
d11e332ff3
|
test(swap): golden录制/回放基础设施+DealInterests场景
引入golden回放框架,补充合成测试的精确值验证缺口。
新增GoldenReplayFramework.cs:
- GoldenScenarioModel: 通用golden数据模型(输入+期望输出)
- GoldenAssert: 精确字段对比(容许指定位数误差),逐字段验证
新增DealInterestsGoldenReplayTest.cs:
- Record_AllGoldenScenarios: 生成golden JSON(标Ignore,手动跑)
- Replay_AllGoldenFiles: 读golden重跑+精确对比(进CI)
2个golden场景:
- 互换结清后待实现归零: InterestIncomeSum=0.82191780822(精确到11位)
- 普通日归档递增(回放暂不支持自动重放,留后续)
golden文件持久化到Resources/GoldenFiles/DealInterestsGolden/
价值:重构时如果任何字段变了(哪怕第8位小数),回放立刻失败。
守恒测试验证大方向对,golden验证精确值对。
验证: 119+1(回放)=120全通过。
|
2026-07-02 09:37:18 +08:00 |
|
hjhan
|
64f0c82bbb
|
test(swap): 多步生命周期守恒测试(数学不变量验证)
用数学守恒约束验证利息在多次操作后不丢失/不重复。
这类测试的价值:不管代码怎么改,只要守恒不成立就报错。
4个守恒场景:
- MS_001: 连续收盘10天,每天增量之和=10天总利息(防指数增长/丢失)
- MS_002: 半平50%+后续全平,两次利息都>0不为负(防consumedInterest扣过头)
- MS_003: 互换结清后再平仓只有增量(单利靠eod归零传递)
- MS_004: 多次互换(第5天+第10天)+最终平仓(第15天),
累计consumed+平仓=全程复利利息(守恒不变量)
StubDealService支持构造注入consumedInterest和floatRate。
CalcEodInterest返回(当日增量,全程累计)元组,正确区分TdInterestAmount和InterestAmount。
验证: 115+4=119全通过。
|
2026-07-02 09:20:41 +08:00 |
|
hjhan
|
fb0ab3e948
|
test(swap): ClearSwapPositions重收盘清理合成测试(78751f0a覆盖)
验证78751f0a的核心修复:重收盘清理自动互换资金记录时排除手动互换。
4个测试场景:
- CSW_001: 自动互换资金记录被正确选中删除
- CSW_002: 手动互换资金记录被排除(manualClientCashIds排除逻辑)
- CSW_003: 已在excludedClientCashIds中的记录不重复选中
- CSW_004: 预付金返息记录也参与清理(手动被排除)
Stub override 3个虚方法注入内存数据:
FindFlowEventsByEventIds/FindManualClientCashIds/FindClientCashRecords
至此4个最近修复全部有合成测试覆盖:
①复利consumedInterest(✅) ②eod InterestIncomeSum(✅)
③重收盘误删资金(✅) ④分红重复计算(✅)
验证: 111+4=115全通过。
|
2026-07-02 09:11:38 +08:00 |
|
hjhan
|
17005aa539
|
refactor(swap): ClearSwapPositions接缝-GetLegacyAutoSwapClientCashRecords可测化
SwapTradeBaseService加3个protected virtual虚方法:
- FindFlowEventsByEventIds: 查flow_event(原DbContext.swap_flow_event)
- FindManualClientCashIds: 查手动互换ClientCashId(原DbContext.swap_event)
- FindClientCashInCashOut: 查资金记录(原DbContext.ClientCashInCashOut)
GetLegacyAutoSwapClientCashRecords改为protected virtual,
内部3处DB查询替换为调虚方法。
这是78751f0a(重收盘误删资金修复)的核心逻辑:
GetLegacyAutoSwapClientCashRecords负责排除manualClientCashIds,
确保手动互换资金记录不被误删。
验证: 111个测试全通过。
|
2026-07-02 09:08:05 +08:00 |
|
hjhan
|
eaa4ed735a
|
test(swap): DealFloatPositions分红场景测试(盯市盈亏+分红+增值税)
扩展StubEodService override 3个外部依赖虚方法:
- GetUnderlyingPrice: 注入固定标的价格
- GetUnderlyingData: 注入标的缓存(增值税率)
- CalcBondPayment: 注入固定债券付息
新增3个分红场景测试:
- DF_005: CopyEodPosition盯市盈亏=(price-grossPrice)×qty×方向
- DF_006: 分红计算 TdPosiDividend=payment/(1+tax)×(1-tax)
- DF_007: 增值税调整(tax=6%): 100/1.06×0.94≈88.68
覆盖了cf2f8b6e分红重复计算修复所在的浮动腿归档链路。
验证: 108+3=111全通过。
|
2026-07-02 09:02:43 +08:00 |
|
hjhan
|
7c993f7bb2
|
refactor(swap): DealFloatPositions外部依赖虚方法接缝(分红场景准备)
加3个protected virtual虚方法:
- GetUnderlyingPrice: 标的市场价格(原UnderlyingCodePrice)
- GetUnderlyingData: 标的缓存数据(原DataCacheProvider)
- CalcBondPayment: 债券付息(原new BondPaymentService)
替换CopyEodPosition/UpdateEodPosition/SaveCurrentEodInitalPosi
内部的外部调用为调虚方法,生产代码行为不变。
这3个接缝使浮动腿归档的分红计算可测(TdPosiDividend/PosiDividendSum)。
验证: 108个测试全通过。
|
2026-07-02 08:57:55 +08:00 |
|
hjhan
|
fee2203d6e
|
test(swap): DealFloatPositions浮动腿归档合成测试(testable迁移)
新增4个浮动腿归档场景测试:
- DF_001: 空持仓返回空列表
- DF_002: 首日无eod走SaveCurrentEodInitalPosi分支
- DF_003: SaveCurrentEodInitalPosi纯计算字段验证(数量/均价/类型)
- DF_004: 有eod无平仓走CopyEodPosition分支(分支选择验证)
DealFloatPositions和子方法无直接DB调用(数据从参数传入),
但CopyEodPosition/UpdateEodPosition依赖外部数据源
(DataCacheProvider/UnderlyingCodePrice/BondPaymentService),
值验证需后续加接缝。当前覆盖分支选择+首日初始化值验证。
验证: 104+4=108全通过。
|
2026-07-02 08:49:50 +08:00 |
|
hjhan
|
4138a6ec36
|
refactor(swap): DealFloatPositions浮动腿归档方法可见性放开(testable迁移)
4个方法private→protected,不改变生产行为:
- DealFloatPositions(浮动腿归档主调度)
- CopyEodPosition(无平仓复制前日)
- UpdateEodPosition(有平仓更新)
- SaveCurrentEodInitalPosi(首日初始化)
这4个方法本身无直接DB调用(数据从参数传入),
但CopyEodPosition/UpdateEodPosition依赖外部数据源
(UnderlyingCodePrice/BondPaymentService/DataCacheProvider),
需后续加接缝才能完整测试。
SaveCurrentEodInitalPosi是纯计算可直接测。
验证: 104个测试全通过。
|
2026-07-02 08:47:30 +08:00 |
|
hjhan
|
7f0529bbed
|
test(swap): ComposePage流水合成持仓合成测试(testable迁移)
新增4个ComposePage场景测试(参考testable分支ComposePageScenarioTest):
- CP_001: 空事件→不创建持仓
- CP_002: 单条开仓→创建1条持仓,均价=开仓价
- CP_003: 两条开仓(同标的)→加权均价
- CP_004: 开仓+平仓→平仓扣减数量+产生资金记录
改动(SwapEodPositionService.cs):
- SaveEodPosition改为protected virtual(可override绕过UpdateSwapPosition连库)
- SaveEodPosition内部DbContext.Add替换为PersistEodSwapPosition
StubEodPositionService override 12个虚方法:
FindTrade/FindTradeExtend/FindEodSwapPositions/FindSwapPositions/
FindEodSwap/AddSwapEvent/AddClientCash/SaveEodSwapRecord/
ClearSwapPositionsForCompose/PersistEodSwapPosition/SaveAllChanges/
GetCurrencyRate + SaveEodPosition
验证: 100+4=104全通过(T0/T1=89+DealInterests=7+ConsumedInterest=4+ComposePage=4)。
|
2026-07-02 08:39:39 +08:00 |
|
hjhan
|
886a4d3ab1
|
refactor(swap): ComposePage补充接缝-AddClientCash/SaveEodSwapRecord/ClearSwapPositionsForCompose
ComposePage内部还有3处DB依赖需要接缝:
- AddClientCashInCashOut(cs:804平仓资金记录) → AddClientCash虚方法
- SaveEodSwap(cs:862框架合约汇总) → SaveEodSwapRecord虚方法
- ClearSwapPositions(cs:729清理旧事件) → ClearSwapPositionsForCompose虚方法
测试时override这3个虚方法可避免连库。
验证: 100个测试全通过。
|
2026-07-02 08:34:49 +08:00 |
|
hjhan
|
014edaed45
|
refactor(swap): ComposePage接缝-7虚方法+DB调用替换(testable迁移)
ComposePage(流水合成持仓)是swap_flow_event→swap_position的核心转换,
每笔开仓/平仓/互换都经过这里(176行)。
新增7个protected virtual虚方法(Seams):
- FindTrade/FindTradeExtend/FindSwapPositions
- FindEodSwapPositions/FindEodSwap
- AddSwapEvent/ExecuteInTransaction
ComposePage内部DB调用替换为调虚方法:
- DbContext.trade.Find → FindTrade
- DbContext.trade_extend.FirstOrDefault → FindTradeExtend
- DbContext.eod_swap_position.Where → FindEodSwapPositions
- DbContext.swap_position.Where → FindSwapPositions
- DbContext.eod_swap.FirstOrDefault → FindEodSwap
- new SwapEventService.AddSwapEventDate → AddSwapEvent
- DbContext.SaveChanges → SaveAllChanges(已有)
- ComposePage可见性private→protected
生产代码行为不变(虚方法默认实现=原逻辑)。
验证: 100个测试全通过(T0/T1=89+DealInterests=7+ConsumedInterest=4)。
|
2026-07-02 08:28:13 +08:00 |
|
hjhan
|
f501ee95a7
|
test(swap): 复利consumedInterest扣除合成测试(补c6adb3bb覆盖缺口)
c6adb3bb加的复利consumedInterest扣除此前无任何测试覆盖。
现在用4个合成测试完整验证:
改动(SwapDealService.cs):
- GetConsumedInterest加virtual关键字(测试可override注入内存值)
新增(ConsumedInterestScenarioTest.cs):
- StubSwapDealService override TryGetFloatRate+GetConsumedInterest
(模仿T0/T1的StubSwapDealService模式)
- CI_001: 基线(consumedInterest=0)拿到全程复利利息
- CI_002: 注入consumedInterest后利息=基线-consumed(直接验证cs:793)
- CI_003: 守恒(consumed+利息=基线)×3组不同consumed值
- CI_004: 全部已结(consumed=基线)平仓≈0不为负(防双重扣减)
关键发现:测试必须传settment:false走盘中平仓路径(CalcUnwindInterest),
settment:true(默认)走收盘归档路径(CalcEodInterest)不传consumedInterest。
验证: 89(T0/T1)+7(DealInterests)+4(ConsumedInterest)=100全通过。
|
2026-07-01 18:40:48 +08:00 |
|
hjhan
|
be88442c91
|
test(swap): 扩展DealInterests测试-多次互换守恒+预付金ratio翻转
新增2个测试场景:
- DI_SWAP_MULTI_001: 攒10天→互换结清→再攒5天→再互换结清
守恒约束: RealizedInterest+InterestIncomeSum=全程利息(17天)
验证多次互换结算后利息不丢失/不重复
- DI_MARGIN_001: 预付金腿(初始预付金,marginTypes)互换结清后
RealizedInterest应为负(ratio翻转:收取→-1→支付方向)
验证cs:789-793的marginTypes ratio翻转逻辑
验证: 89(T0/T1)+7(DealInterests)=96全通过,无回归。
|
2026-07-01 18:25:44 +08:00 |
|
hjhan
|
775d7a5881
|
test(swap): 阶段3 扩展DealInterests测试-普通日归档值+多日连续守恒
依赖阶段1c的CalcSwapInterests虚方法接缝,现在普通日分支(copy)
也可纯内存测试。
新增/改进的测试:
- DI_BRANCH_001: 改为真正的普通日归档值验证(InterestIncomeSum
前日+1天新计=2天利息),不再是Inconclusive
- DI_MULTI_001: 连续5天收盘归档,验证InterestIncomeSum线性递增
(每天+1天利息,5天后=5×DailyInterest)
StubEodPositionService扩展:
- override CalcSwapInterests(用真实SwapDealService算固定利率利息)
- ExecuteDealInterests public包装(替代反射调用)
- 删除旧的反射辅助方法
验证: 89(T0/T1)+5(DealInterests)=94全通过,无回归。
|
2026-07-01 18:21:51 +08:00 |
|
hjhan
|
638803c497
|
refactor(swap): 阶段1c CalcSwapInterests虚方法接缝(testable迁移)
加1个protected virtual虚方法:
- CalcSwapInterests: 计算利息腿利息明细(原new SwapDealService(this).GetInterests)
参数与GetInterests完全一致,保证行为不变
将3个分支方法里的'new SwapDealService(this).GetInterests'替换为
调用CalcSwapInterests虚方法:
- SaveAutoEodInterestPosition(自动互换分支)
- SaveAutoEodWithCloseInterestPosition(平仓分支)
- SaveEodInterestPositionCopy(普通日分支)
测试子类override CalcSwapInterests,用StubSwapDealService
(已有89个测试验证)内存算利息,即可测全部4个分支。
验证: 93个测试全通过(T0/T1=89 + DealInterests=4),无回归。
|
2026-07-01 18:17:47 +08:00 |
|
hjhan
|
deb831bf3e
|
test(swap): 阶段2 DealInterests利息归档合成测试(testable迁移)
模仿GetInterestsUnitTest_T0风格,纯内存不连库:
- StubEodPositionService继承生产类,override PersistEodSwapPosition/
SaveAllChanges/GetCurrencyRate替换DB调用
- 内存构造trade/position/eod/flowEvent数据
- 独立计算期望值(非循环论证)
4个测试场景:
- DI_SWAP_ZERO_001: 互换结清后InterestIncomeSum=当天新计(非攒的全程)
- DI_SWAP_ZERO_002: 已结清后再互换(只结算当天新计)InterestIncomeSum=0
- DI_BRANCH_001: 普通日走copy分支
- DI_BRANCH_002: 互换日走SaveEodInterestPosition分支
验证: 89(T0/T1)+4(DealInterests)=93全通过,无回归。
注意: fc90636a把公式改回pre+新计-实现(比我之前的pre-实现更好,
保留了当天新计利息),测试断言已据此调整。
|
2026-07-01 17:47:00 +08:00 |
|
hjhan
|
dc3a6e9f77
|
refactor(swap): 阶段1b SwapEodPositionService加虚方法接缝(testable迁移)
加3个protected virtual虚方法(Seams接缝),不改变生产行为:
- PersistEodSwapPosition: 持久化eod持仓(原DbContext.Add+UpdateDbOption)
- SaveAllChanges: 保存变更(原DbContext.SaveChanges)
- GetCurrencyRate: 获取汇率(原new EodCurrencyRateService)
将4个利息归档分支方法里的直接DB调用替换为调虚方法:
- SaveEodInterestPosition(互换分支)
- SaveAutoEodInterestPosition(自动互换分支)
- SaveAutoEodWithCloseInterestPosition(平仓分支)
- SaveEodInterestPositionCopy(普通计息分支)
测试子类override这些虚方法即可在内存中运行收盘逻辑,
不连数据库。生产代码行为完全不变(虚方法默认实现=原逻辑)。
验证: GetInterestsUnitTest_T0/T1 89个测试全通过,无回归。
|
2026-07-01 17:21:56 +08:00 |
|
hjhan
|
b548709371
|
Revert "fix(swap): 互换审核通过后到期日状态流转为已到期"
This reverts commit 83f44124c6.
|
2026-07-01 17:07:55 +08:00 |
|
hjhan
|
3e5a939689
|
refactor(swap): 阶段1a DealInterests利息归档方法可见性放开(testable迁移准备)
将5个利息腿归档相关方法从private改为protected,不改变生产行为:
- DealInterests(利息腿归档主调度)
- SaveEodInterestPosition(手动互换分支)
- SaveAutoEodInterestPosition(自动互换分支)
- SaveAutoEodWithCloseInterestPosition(平仓分支)
- SaveEodInterestPositionCopy(普通计息分支)
这是testable迁移第一步:先放开可见性让测试子类能调用,
后续阶段再加虚方法接缝(替换DB调用)和迁移合成测试。
参考: refactor-swap-event-testable分支 Seams模式改造
|
2026-07-01 16:47:26 +08:00 |
|
tengyufan
|
c053e36d7f
|
fix(SwapTrade2): 为保证业务不受影响,暂时取消新版互换交易标的按类型筛选,两个标的输入框均返回全部标的
- consUnderlyingFlagNonBond 和 consUnderlyingFlagBond 去掉品种位,仅保留行为位
- 非债券和债券两个输入框不再按 Stock/Fund/CreditBonds 等类型过滤
- 与旧版 SwapTrade 行为对齐:不过滤标的类型,全量返回
|
2026-07-01 16:19:46 +08:00 |
|
tengyufan
|
5d426b6d3e
|
feat(tradeHelper): SelectFlag新增StockIF、Fund位支持股指期货和基金及基金专户
- flags 新增 StockIF: 1 << (i++)(之前定义但__getPostData漏映射)和 Fund: 1 << (i++)
- __getPostData 新增 StockIF→'StockIF'、Fund→'Fund' 映射
- 修复511380等股指标的/基金标的在新版互换交易下拉框无法检索的问题
|
2026-07-01 16:18:55 +08:00 |
|
tengyufan
|
1ea83ac6e8
|
Merge remote-tracking branch 'origin/glms/feature/1.4.2' into glms/feature/1.4.2
|
2026-07-01 15:33:35 +08:00 |
|
tengyufan
|
570d1339f1
|
fix(SwapTrade2): 到期日期默认值置空并限制不可早于成交/开始日期
- 移除新增交易时到期日期的默认值(原StartDate+14天),改为空白由用户手工填写
- 到期日期选择器增加mindate限制,不可选择早于成交日期和开始日期的日期
- 联动修正:成交日期或开始日期变化时同步刷新到期日期下限
|
2026-07-01 15:33:15 +08:00 |
|
锦麟 王
|
fc90636ab4
|
当天利息端待实现逻辑修改为 = 上一天待实现 + 当天产生的利息 - flowEvents的利息
|
2026-07-01 15:20:24 +08:00 |
|