Commit Graph
1243 Commits
Author SHA1 Message Date
张名锐 78751f0a57 feat(swap): 完善自动互换资金记录管理功能
- 在SwapEodPositionService中添加clientCashIds列表追踪多笔资金记录
- 为UnwindData类新增ClientCashIds属性存储自动互换生成的资金记录ID集合
- 在SwapTradeBaseService中实现GetAutoSwapClientCashIds方法解析历史数据
- 添加GetLegacyAutoSwapClientCashRecords方法处理遗留资金记录删除逻辑
- 实现IsLegacyAutoSwapClientCashRecord方法精确匹配待删除资金记录
- 优化资金记录删除策略区分自动互换与手动操作产生的记录
2026-07-01 09:53:44 +08:00
lisong 1a9b8af512 Merge remote-tracking branch 'dest/glms/feature/1.4.2' into feature/p132_74-risk-engine 2026-07-01 09:47:07 +08:00
lisong 0a8599c69f Merge branch 'feature/p132_74-risk-engine' of https://gitee.glmszq.com/gsty/onederiv/trs into feature/p132_74-risk-engine 2026-07-01 09:46:11 +08:00
hjhan 6f9aa5fb45 互换重收盘误删手动互换资金记录: 分析文档+TDD红灯测试
问题:重新收盘后用户手动互换产生的资金记录(ClientCashInCashOut,
Action=系统操作-互换)被误删。根因 ClearSwapPositions:400 按 Action
字符串模糊删除,而该 Action 手动/自动共用,表无来源字段区分。
引入点 commit 44e89726(2026-05-14)。

- 新增决策文档(根因/引入时间/三种修复方案/自测方法)
- 新增 SwapReEodDeleteManualCashRecordTest 4个测试(探查/诊断/录制红灯/离线校验)
- 录制 golden 坐实 bug: trade 1903 手动互换资金记录 id=13032 会被误删
2026-07-01 08:35:58 +08:00
尹峰 29ac61e2d5 修改风控规则操作权限 2026-06-30 19:44:20 +08:00
tengyufan b4ff5f9f10 feat(SwapTrade2): 新增交易默认值填充及日期限制放开
- 成交日期默认前一银行间交易日,放开上限
- 开始日期默认当前系统日期(跳过节假日),放开上限,下限绑定成交日期
- 到期日期保留StartDate+14天默认,下限取max(成交日期,开始日期)
- 交易场所默认"柜台市场"修复(created不再覆盖为空)
- 重置频率默认7(利息端/预付金端/浮动端)
- FR007利率准则默认前一营业日(-1)
- 成交日期变更时自动修正开始日期(+1)和到期日期(+14),跳过节假日
- 开始日期变更时自动修正到期日期(+14)
- 提交校验:开始日期≥成交日期,到期日期≥两者
2026-06-30 18:21:07 +08:00
lisong 7ceb875532 Merge remote-tracking branch 'dest/glms/feature/1.4.2' into feature/p132_74-risk-engine 2026-06-30 17:06:30 +08:00
lisong 19dbf94825 Merge branch 'feature/p132_74-risk-engine' of https://gitee.glmszq.com/gsty/onederiv/trs into feature/p132_74-risk-engine 2026-06-30 17:05:34 +08:00
尹峰 f53ef95222 修改风控规则操作权限 2026-06-30 16:56:14 +08:00
尹峰 5caad4d0ff 修改URL地址 2026-06-30 15:05:34 +08:00
张名锐 adb5473732 Merge remote-tracking branch 'origin/glms/feature/1.4.2' into glms/feature/1.4.2 2026-06-30 11:23:21 +08:00
lisong e7fa48d82e Merge remote-tracking branch 'dest/glms/feature/1.4.2' into feature/p132_74-risk-engine 2026-06-30 09:59:31 +08:00
尹峰 10b08f8f21 优化字段类型 2026-06-29 18:34:46 +08:00
尹峰 94da9748a2 Merge branch 'feature/p132_74-risk-engine' of https://gitee.glmszq.com/gsty/onederiv/trs into feature/p132_74-risk-engine 2026-06-29 18:10:13 +08:00
尹峰 d7c09c793a fix(risk-engine): 修复多个风控引擎问题
- ScopeIsGlobal 类型由 bool 改为 int 以兼容前端传输 0/1
- 修复 QueryApplicationList 中 Status 投影 EF Core enum 转换失败
- 新增 Scope 字段查询支持(逗号分隔集合精确匹配)
- 新增变量列表 DataType 筛选
- 修复审计日志日期查询范围(EndDate 纳入整天数据)
- 统一 Application 审计日志 OperationType 前缀(APP_xxx)
- 审计日志 OperationDetail 枚举值映射为中文
2026-06-29 18:09:19 +08:00
ruisu cc18bdafda Merge branch 'feature/p132_74-risk-engine' of https://gitee.glmszq.com/gsty/onederiv/trs into feature/p132_74-risk-engine 2026-06-29 17:30:14 +08:00
ruisu 9777698a9a feat:修改互换交易样式以支持展示新风控内容,将rule与application加载前移到系统启动时 2026-06-29 17:29:36 +08:00
张名锐 1f584302e6 Merge remote-tracking branch 'origin/glms/feature/1.4.2' into glms/feature/1.4.2 2026-06-29 16:51:50 +08:00
锦麟 王 cf2f8b6e9f SwapCloseAmount分红重复计算 2026-06-29 16:39:02 +08:00
锦麟 王 1c45a54395 BugFix SwapCloseAmount计算位置太前,导致资金算了两遍 2026-06-29 16:38:34 +08:00
张名锐 c76c3aa218 fix(trade): 修复合同编号生成和追保区间计算逻辑
- 在合同编号前缀中添加FICC标识符
- 修复银行账户信息中支付系统号字段的赋值逻辑
- 修正追保区间计算公式,使用正确的差值参数替代维持保证金百分比
- 更新追保区间上下限的计算逻辑以确保正确的风险控制范围
2026-06-29 16:26:17 +08:00
锦麟 王 1e4ab52c1e 平仓总额计算规则调整 2026-06-29 15:54:07 +08:00
锦麟 王 3c5f25a5a0 BugFix FloatPnlSum展示的位数问题 2026-06-29 15:18:46 +08:00
锦麟 王 375ad46b6d BugFix 平仓互换页面展示的盈亏不对 2026-06-29 15:02:37 +08:00
尹峰 56890f348d Merge branch 'glms/feature/1.4.2' of https://gitee.glmszq.com/gsty/onederiv/trs into glms/feature/1.4.2 2026-06-26 17:19:15 +08:00
锦麟 王 87671fcece BugFix 平仓互换平仓,导致页面的分红不对 2026-06-26 17:17:55 +08:00
尹峰 04c01f2f47 Merge branch 'feature/p132_74-risk-engine' of https://gitee.glmszq.com/gsty/onederiv/trs into feature/p132_74-risk-engine 2026-06-26 17:15:29 +08:00
尹峰 e8ef5be862 优化调整规则管理 2026-06-26 17:14:53 +08:00
ruisu 0c2a4b3afb feat:打通前后端链路。老风控新风控映射:禁止=》Error,需审批=》RiskWarning(新状态,需二次确认,并记录日志),提示、通过=》Success(提示增加TIpMessage) 2026-06-26 17:01:21 +08:00
锦麟 王 d9fc5965d3 BugFix 系统中MarkCloseValue歧义部分修改 2026-06-26 16:06:13 +08:00
嬴政 时 cdfb38862a 确认书模板增加营业厅"内"描述 2026-06-26 16:05:19 +08:00
zheng.zhang 2e21d799dc refactor(tradeEdit): use统一格式化方法处理名义金额 2026-06-26 16:05:04 +08:00
zheng.zhang c76976e141 feat(swaptrade): 新增名义本金数值的四舍五入格式化处理 2026-06-26 16:04:59 +08:00
锦麟 王 652c0cedd8 Merge branch 'glms/feature/1.4.2' of http://git.yiliantech.com/gitlab/otc-dev/zszq-trs into glms/feature/1.4.2 2026-06-26 14:13:01 +08:00
锦麟 王 33fd6f8d41 BugFix 收益互换调整分红方向 2026-06-26 14:12:54 +08:00
hjhan 5a731c4442 docs(swap): MarkClosePnl字段语义统一决策文档
修复ab70531f让MarkClosePnl不再含分红后,梳理出消费端3处PosiPnl公式
不一致(①不减分红/②③减分红,2024~2026分批引入),其中②③对新数据
会多减一份分红导致结算单/收益偏小。

给出3种改法权衡(修正公式/数据迁移/TotalClosePnl分离)+建议分阶段路径,
列出4个需团队决策的问题。含字段引用全景表便于实施定位。
2026-06-26 13:41:32 +08:00
锦麟 王 54e8c5cfca BugFix 错误函数 2026-06-26 11:12:32 +08:00
锦麟 王 e484b35415 consumedDividend保持和totalInterest同向 2026-06-26 11:10:53 +08:00
锦麟 王 ab70531f17 MarkClosePnl 不要重复计算分红 2026-06-26 11:03:22 +08:00
hjhan ee1e8487d7 docs(swap): 排查SQL新增第2.5步-分红重复计算完整证明
4段查询还原证据链(含事件/价格/费用/付息明细):
段1事件拆解 MarkClosePnl=价差+费+分红;段2 EOD逐日盯市vs分红列;
段3累计对照;段4一句话结论。已连库实测:1875重复302400、1891重复-18.66。

修正段1列名: PosiNetPrice/PosiGrossPrice 在swap_flow_event是[NotMapped]
不入库,改用 TradingAmountNetAvg/TradingAmountNetFeeAvg。
2026-06-26 09:55:19 +08:00
锦麟 王 dd305444dd 自动分红的不要清除掉当日分红 2026-06-26 09:49:34 +08:00
嬴政 时 3eb2d0432b Merge branch 'glms/feature/1.4.2' of http://git.yiliantech.com/gitlab/otc-dev/zszq-trs into glms/feature/1.4.2 2026-06-26 09:27:58 +08:00
嬴政 时 1385fe43ef 确认书模板增加营业厅"内"描述 2026-06-26 09:27:50 +08:00
hjhan 029475ce8d test(swap): 新增互换分红重复计算录制测试+排查SQL(TDD红灯)
分红被重复计入 RealizedPnl 两次的根因:互换/平仓事件的 MarkClosePnl
已含分红成分(DividendIn),导致分红既进 RealizedMtmPnL(盯市列) 又进
RealizedDividend(分红列)。本次提供数据证据与回归基线:

- SwapDividendGoldenRecordTest: 连库录制1875(纯分红型)/1891(混合型)
  5表快照→JSON golden,录制时逐事件拆解 MarkClosePnl=价差+费+分红,
  按 PositionId 汇总出重复计入的分红金额。Step2 离线校验已通过。
  诊断结论:1875 重复302400,1891 重复-18.66,均与 eod 分红列吻合。
- golden JSON 纳入源码树(全量复制规则),修复后可作回归基线。
- 排查SQL工具箱: 基于真实DDL核对全部列名(swap_flow_event.EventDate/
  bond_payment_info.paying_interest 等),含定位样本/导出/验证/守恒4步。
- appsettings.json 测试库 zszq→glms 前缀修正。

详见 项目文档/互换分红损益字段语义与重复计算分析.md(9e6af84e)。
2026-06-26 09:13:37 +08:00
hjhan 9e6af84e47 新增文档:互换分红损益字段语义与重复计算分析
分析互换分红/付息损益核算链路中的字段语义混乱与分红重复计算问题,
用真实交易数据佐证,供团队对齐字段语义、确定修复方案:

- 核心结论:MarkClosePnl含分红(价差+费+DividendIn),而DividendIn又
  单独存同一笔分红,导致汇总时分红算2次(确定,非2~3次)
- 字段三层分类:客观源头/一次计算/入库字段,理清哪些是录入哪些是计算
- totalInterest链路:payment_interest→求和→×0.01→增值税调整→DividendIn
- MarkClosePnl含分红的四场景对照(手动互换/平仓、自动互换/平仓)
- 真实数据佐证:6笔交易(含EventType=3/4)显示差值=0且价差=0
- 重复次数确定2次:两个层级各自独立计算,非叠加3次
- 演进过程(f9d8a256→2140a97f,用hash+日期)
- 修复方向A(治本:MarkClosePnl不含分红)/B(保守:改汇总公式)
- 附录A:验证SQL(重复检验/守恒检验)
- 附录B:精确文件:类:行号索引
- 附录C:calcFloatClosePnl两处不一致技术债(floatRatio/longRatio)
- 附录D:测试策略(记录golden source分支refactor-swap-event-testable)
2026-06-26 07:33:36 +08:00
尹峰 3bf90e25ef refactor(risk-engine): ConditionJson 改为 RuleCondition 数组格式,精简 DTO 命名
- 重命名 FormulaCondition → RuleCondition,删除 FormulaDefinition
- ValidateConditionJson 直接反序列化为 List<RuleCondition>,移除 LogicOperator 校验
- 新增 RiskRuleSimpleItem DTO
- 同步更新建表注释与种子数据
2026-06-25 20:44:30 +08:00
锦麟 王 09f256d3c3 Merge branch 'glms/feature/1.4.2' of http://git.yiliantech.com/gitlab/otc-dev/zszq-trs into glms/feature/1.4.2 2026-06-25 20:35:01 +08:00
锦麟 王 1c9b28ff0d 互换审核时对持仓sotckeqvnotional不要调整 2026-06-25 20:34:53 +08:00
tengyufan ff69c9b6e2 Merge remote-tracking branch 'origin/glms/feature/1.4.2' into glms/feature/1.4.2 2026-06-25 20:00:25 +08:00
tengyufan 7f6bdde521 fix: DV01汇总及合计功能,优化格式化配置
1. YLErpDAL/Modules/RiskModule/QuotaMonitorService.cs
   - 日终版本(QueryEodGlobalFromCalc)恢复互换行DV限额取值

2. YLErpDAL/Modules/SwapModule/SwapEodPositionService.cs
   - SaveEodSwap / UpdateEodSwap 补充 eod_Swap.dv01 汇总
   - SearchEodSwapList 新增DV合计,返回至前端footer

3. YLErpWeb/wwwroot/Scripts/app/swaptrade/EodPositionRisks.js
   - 框架合约tab启用footerrow,展示DV合计
   - 框架合约DV列formatter改为4位小数
2026-06-25 20:00:18 +08:00