Commit Graph
616 Commits
Author SHA1 Message Date
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
尹峰 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
尹峰 3bf90e25ef refactor(risk-engine): ConditionJson 改为 RuleCondition 数组格式,精简 DTO 命名
- 重命名 FormulaCondition → RuleCondition,删除 FormulaDefinition
- ValidateConditionJson 直接反序列化为 List<RuleCondition>,移除 LogicOperator 校验
- 新增 RiskRuleSimpleItem DTO
- 同步更新建表注释与种子数据
2026-06-25 20:44:30 +08:00
ruisu 32b7de93e2 Merge branch 'feature/p132_74-risk-engine' of https://gitee.glmszq.com/gsty/onederiv/trs into feature/p132_74-risk-engine 2026-06-25 17:26:48 +08:00
ruisu 7747d26ed0 支持从数据库读取rule与application,进行匹配校验,以及拼接返回值 2026-06-25 17:25:47 +08:00
尹峰 193123a9bf Merge branch 'feature/p132_74-risk-engine' of https://gitee.glmszq.com/gsty/onederiv/trs into feature/p132_74-risk-engine 2026-06-24 18:24:15 +08:00
尹峰 c2fc699e57 feat(risk-engine): 完善风控规则种子数据与 CRUD 接口优化
1. 新增 21 条通用风控规则及应用配置种子数据(seed_rules.sql / seed_applications.sql)
2. 新增 9 个风控变量(偏离度类、执行价、最低保证金率、参考价格)
3. DTO 字段重命名:ExpectedVersion → Version,Keyword → RuleName/VariableName
4. 规则列表返回 ConditionJson 和 RuleExpr 字段
5. 应用列表查询支持按规则名称数据库级筛选(替代内存过滤)
6. 启用/停用操作不再递增 Version 号
7. RiskEngineService 单例构造使用 SystemUser 替代 null
8. RiskRuleService 移除冗余实例字段,改用 GetInstance() 直接调用
2026-06-24 18:23:43 +08:00
ruisu fb9c7430e9 Merge branch 'feature/p132_74-risk-engine' of https://gitee.glmszq.com/gsty/onederiv/trs into feature/p132_74-risk-engine 2026-06-24 15:44:07 +08:00
ruisu 1fa7a8b79c 将Application与编译独立,跑通基础链路 2026-06-24 15:05:24 +08:00
尹峰 28ed20e527 feat: 规则双模式公式表达式(RuleExpr)& 字段精简重构
- 新增 RuleExpr 字段,支持结构化拼接和自由文本两种模式,二选一互斥
- 删除 RuleCode/FormulaText/ApplicationCode/SourceExpression/IsImplemented/VariableCode/TargetCode
- 重命名 FormulaJson→ConditionJson, FormulaExpr→RuleExpr, ImplementationScript→VariableExpr, RuleDescription→RuleText
- RuleId(bigint)→RuleIds(varchar) 多规则支持
- FormulaCondition: variableCode(string)→variableId(long), thresholdVariableCode→thresholdVariableId
- 新增 44 条变量池 seed 数据
- 设计文档同步更新
2026-06-24 09:44:13 +08:00
尹峰 5b77bbf53e merge and fix conflict 2026-06-23 16:06:01 +08:00
尹峰 a259b745ce feat(风控引擎): RiskRuleService/RiskRuleController 权限控制及需求对齐
【权限控制】
  - FunctionRight.xml 注册 16 个风控引擎权限标识(规则/应用/变量/日志 四类 Tab+操作权限)
  - RiskRuleController 28 个 Action 均添加 [MyAuthorize] 校验
  - 权限管理员角色自动获得全部风控权限(UserInfo.cs)

【需求对齐】对照 v1.15 需求文档修复差异:
  - 审计日志操作类型命名对齐:APPLICATION_* → APP_*,VARIABLE_* → VAR_*
  - 规则列表新增按变量编码筛选(QueryRiskRuleReq.VariableCode → FormulaJson.Contains)
  - 变量列表新增分页支持(QueryRiskVariableReq 继承 BaseSearchReq,QueryVariableList → SearchListResult)
  - 需求文档同步至 v1.16
2026-06-23 16:01:31 +08:00
陈斐andClaude 3e357312c2 feat: 风控引擎核心重构 - 表达式树编译 + Roslyn Scripting + 规则模型合并
本次提交实现风控引擎从占位代码到可运行版本的核心升级:

【模型合并】
- RiskRule.cs:删除 RiskRuleApplication,将策略/时点/范围合并到 RiskRule
- 新增 FormulaJson 字段,用于 Roslyn 脚本解析
- 新增 CompiledScript 运行时字段(预编译委托,不持久化)

【规则编译器 - RuleCompiler.cs】
- ParseFormulaJson:解析 FormulaJson 条件列表
- BuildScriptCode:生成 Roslyn C# 脚本代码
- CompileScript:用 Roslyn 编译为 Func<RiskContext, bool> 委托
- 支持多条件 AND(逗号分隔自动拆分)
- 变量类型映射:YLErp.DBModels.trade 等

【EvaluateRisk 升级】
- LoadRules → 筛选 TriggerPoint → 执行 CompiledScript → 按策略聚合
- 异常处理:返回 NeedApproval(审批类,可审批通过)
- 示例规则:名义本金>1亿 且 保证金比例>50% → 禁止

【项目依赖】
- 新增 Microsoft.CodeAnalysis.CSharp (4.12.0)
- 升级 System.Text.Encoding.CodePages 6.0.0 → 7.0.0

【验证】
- 簿记交易确认(BOOK_CONFIRM)已接入 QuotaMonitorService
- 编译通过,运行验证通过

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-22 19:31:20 +08:00
陈斐andClaude 4140293b36 feat: 新增风控引擎RiskEngine模块(第一版骨架)
- 新增YLErpDAL/Modules/RiskEngine文件夹,与RiskModule平级隔离
- 新增核心模型:
  - RiskContext.cs:风控上下文(TradeId, TriggerPoint, DataMap)
  - RiskResult.cs:风控结果(Passed, Blocked, NeedApproval, Warnings, TriggeredRules)
- 新增RiskEngineService:
  - Evaluate():1==1占位,验证服务可实例化
  - EvaluateRisk(RiskContext, triggerPoint):核心风控检查入口
- 集成到现有流程:
  - QuotaMonitorService.QuotaCheck()末尾接入风控引擎
  - 触发时点:BOOK_CONFIRM(簿记交易确认)
  - 按策略映射回QuotaTrialStatusEnum(Blocked→Error, NeedApproval→Warning)
- 文件头包含完整技术方案与TODO清单

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-22 11:23:11 +08:00
尹峰 c020b1b0fa !17 fix(swap): 修复收益互换结构类型查询逻辑
Merge pull request !17 from glms/feature/1.4.2
2026-06-11 10:04:23 +00:00
张名锐 a4237cc178 fix(swap): 修复收益互换结构类型查询逻辑
- 移除了前端传入的结构类型参数限制
- 添加了对普通债券类收益互换和普通收益互换的固定查询条件
- 实现了临时方案以同时查询两种类型的收益互换数据
- 保留了原有的有效状态验证逻辑
- 注释说明了当前实现为临时解决方案
2026-06-10 14:13:39 +08:00
张名锐 7bd1e6bff1 fix:交易编号生成 不同客户 在同一天、同一 OpponentRole 类型下的交易序号都会独立从 1/A 开始递增,互不干扰。 2026-06-10 10:55:25 +08:00
张名锐 b8358a7198 fix:解决标的债券期限缓存不一致的问题 2026-06-09 16:17:48 +08:00
张名锐 68cafde942 fix:确认书编号生成修复 2026-06-09 15:17:25 +08:00
张名锐 4e9b2d7b47 feature: 确认书模板修改 2026-06-09 13:38:10 +08:00
吴方海 a6e6980f9b 成交簿记 fr007过滤条件 2026-06-08 18:11:50 +08:00
Weiming fca74041ca 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-08 12:04:07 +08:00
张名锐 dbd2c533a1 fix:邮箱配置发件人修复 2026-06-05 13:57:20 +08:00
吴方海 535497c68a 收到平仓或互换利息修复 2026-06-04 13:23:31 +08:00
Weiming 8a11819296 1. 修复期权和互换的审批中间节点记录未在操作历史中展示的问题。
2. 在操作记录的审批记录中,增加审批角色信息。
特别注意:期权和互换的操作历史是在两张不同的表中
2026-06-03 12:19:11 +08:00
吴方海 524f9a5cd8 利息计算单元测试用例添加 2026-06-02 14:41:17 +08:00
吴方海 19f8d9a8de 修复当日多次部分平仓场景 2026-06-02 14:25:30 +08:00
吴方海 3c895a2bd7 代码优化 2026-06-02 14:17:00 +08:00
吴方海 0fe5e9744d 盘中单复利计算分开,复利不取上一次收盘,直接从新算 2026-06-02 11:25:59 +08:00
吴方海 30b6c6a429 #EQD-6089 国联民生-利息多算一天:修复部分平仓利息计算错误问题 2026-06-01 17:00:44 +08:00
尹峰 8f0b039885 !16 文件还原
Merge pull request !16 from glms/feature/1.4.2
2026-05-29 10:57:02 +00:00
吴方海 1932a2e757 文件还原 2026-05-29 16:20:41 +08:00
吴方海 4e53f822ab 盘中部分平仓逻辑挪到内部 2026-05-29 14:39:44 +08:00
吴方海 53c89f1e26 当日多次平仓修复 2026-05-29 14:00:23 +08:00
吴方海 d8747274e1 #EQD-6101 国联民生&浙商-互换平仓后提交两次审批会出现问题 2026-05-29 13:47:43 +08:00
吴方海 8aaccf7fc2 修复收盘当天有部分平仓情况利息不对 2026-05-29 13:34:45 +08:00
吴方海 3e650b8f38 期初标的价格(债券的)希望是小数点9位问题 2026-05-28 15:16:32 +08:00
吴方海 50d0fdacbc #EQD-6089 国联民生-利息多算一天:未收盘,直接平仓修复 2026-05-28 14:07:20 +08:00
吴方海 f873239af4 #EQD-6090 国联民生:名义本金计算有精度问题 2026-05-28 13:23:36 +08:00
吴方海 3d06e59908 盘中平仓利息修复 2026-05-27 18:24:05 +08:00
gongpei aa14bbd516 fix: 付息数据日期类型支持DBNull 2026-05-26 10:00:59 +08:00
尹峰 a4830777bf !15 互换观察日修复
Merge pull request !15 from glms/feature/1.4.2
2026-05-22 10:17:48 +00:00
吴方海 bd4c9052da 互换观察日修复 2026-05-22 15:53:21 +08:00
锦麟 王 7a90a55fde 更新交易确认书生成逻辑,过滤待确认和审批中的交易状态,调整交易状态下拉选项 2026-05-22 14:42:03 +08:00
zheng.zhang 9a3e0a80fe fix(guolian bizlogic): 修正国联交易编号前缀为GLMS 2026-05-22 14:02:23 +08:00
锦麟 王 8371f1999f 更新 __initJqGrid 中 TradeStatus 的初始化逻辑 2026-05-22 10:49:25 +08:00
尹峰 44fcb442c5 !14 bug修复
Merge pull request !14 from glms/feature/1.4.2
2026-05-21 11:33:41 +00:00