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 |
|