风控限额
受众:开发者 / 运维 摘要:Core Risk 风控限额底座,负责场景规则、风险事件、冻结记录和人工复核任务。
Risk 是中性风控底座。业务模块可以调用 Risk 的规则评估和冻结 / 复核 contract,但业务处置、订单状态和资金动作仍由各业务模块自己完成。
能力范围
| 能力 | 说明 |
|---|---|
| 风控规则 | 按场景维护次数、金额阈值和人工触发规则 |
| 风险事件 | 保存每次评估结果、风险等级和命中原因 |
| 冻结记录 | 对用户、账户、资产或业务对象建立冻结事实 |
| 人工复核 | 创建、通过、驳回和关闭复核任务 |
| 限流协作 | 可结合 Rate Limit starter 处理高频风险场景 |
API 路径
| API | 说明 |
|---|---|
GET /api/v1/admin/risk/limits/rules | 风控规则分页 |
POST /api/v1/admin/risk/limits/rules | 保存风控规则 |
POST /api/v1/admin/risk/limits/rules/{id}/enable | 启用规则 |
POST /api/v1/admin/risk/limits/rules/{id}/disable | 禁用规则 |
GET /api/v1/admin/risk/limits/events | 风险事件分页 |
POST /api/v1/admin/risk/limits/evaluate | 手动评估风险 |
GET /api/v1/admin/risk/limits/freezes | 冻结记录分页 |
POST /api/v1/admin/risk/limits/freezes | 创建冻结 |
POST /api/v1/admin/risk/limits/freezes/{id}/release | 释放冻结 |
GET /api/v1/admin/risk/limits/review-tasks | 复核任务分页 |
POST /api/v1/admin/risk/limits/review-tasks/{id}/approve | 通过复核 |
POST /api/v1/admin/risk/limits/review-tasks/{id}/reject | 驳回复核 |
POST /api/v1/admin/risk/limits/review-tasks/{id}/close | 关闭复核 |
权限前缀为 risk:*。
数据模型
| 表 | 说明 |
|---|---|
risk_rule | 场景风控规则 |
risk_event | 风控评估事件 |
risk_freeze | 冻结事实 |
risk_review_task | 人工复核任务 |
迁移归属:
| 文件 | 说明 |
|---|---|
spring-open-core/spring-open-core-risk/src/main/resources/db/changelog/migrations/0000_00_00_016000_core_risk_create_tables.xml | 建表 |
spring-open-core/spring-open-core-risk/src/main/resources/db/changelog/migrations/0000_00_00_016100_core_risk_seed_data.xml | 权限、菜单和角色绑定 |
与其他模块的边界
- Payment Platform、Web3、Open Platform、Form 等业务模块接入风控时,只依赖 Risk 的中性 command / service。
- Risk 不把单一业务模块的状态机、订单字段或资金规则写入通用实体。
- Rate Limit 只提供技术限流能力;Risk 保存业务风控事实和复核流程。
验证命令
bash
./mvnw -pl spring-open-core/spring-open-core-risk -am test -DskipITs -DskipFrontend -Dsurefire.failIfNoSpecifiedTests=false
./.ai/scripts/check modules
./.ai/scripts/check migrations
git diff --check