Files
lislgosms/docs/phase-6-risk-review-progress.md

55 lines
2.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 阶段 6:风控与审核进度记录
## 当前状态
- 状态:进行中
- 开始时间:2026-07-01
## 计划步骤
1. 创建阶段 6 计划和验收标准。已完成,`npm run verify:phase6` 基线通过,BullMQ 端到端约 875.04 TPS。
2. 增加风控规则、短信发送预审任务、风控命中记录模型。已完成,`npm --prefix api run prisma:generate` 通过。
3. 实现风控评估服务与客户端预审接口。已完成,`npm --prefix api run build` 通过。
4. 实现管理端规则配置、命中记录、短信审核接口。已完成,`npm --prefix api run build` 通过。
5. 运行 Prisma generate、API build、阶段验证脚本和 API health smoke。已完成。
## 验收记录
- 风控规则模型:已建立 `RiskRule`,支持平台默认规则和租户覆盖规则。
- 短信发送预审任务:已建立 `SmsSendTask`,记录任务状态、审核原因、拒绝原因和基础风险指标。
- 风控命中记录:已建立 `RiskHitRecord`,记录规则编号、规则名称、阈值、实际值、处理动作和可读原因。
- 客户端接口:
- `POST /api/client/risk-review/tasks/evaluate`
- `GET /api/client/risk-review/tasks`
- 管理端接口:
- `GET /api/admin/risk-review/rules`
- `POST /api/admin/risk-review/rules`
- `GET /api/admin/risk-review/hits`
- `GET /api/admin/risk-review/tasks`
- `GET /api/admin/risk-review/tasks/pending`
- `POST /api/admin/risk-review/tasks/:id/approve`
- `POST /api/admin/risk-review/tasks/:id/reject`
- `npm run verify:phase6` 通过。
- 队列契约校验通过。
- Go Gateway `go test ./...` 通过。
- BullMQ Spike15000 条消息、并发 500、端到端约 795.83 TPS,满足 500 条/秒指标。
- Prisma Client 生成通过。
- API build 通过。
- 前端 build 通过,仍存在 Vite chunk size warning。
- API health smoke 通过:`/api/health` 返回 `ok`
## 阶段 6 验收状态
- 命中风控规则时记录规则编号、规则名称、阈值、实际值、处理动作:已完成。
- 进入审核的任务必须展示审核原因:已完成,`SmsSendTask.reviewReason``riskHits` 一起返回。
- 直接拒绝的任务必须向客户端返回可读原因:已完成,`evaluateTask` 返回 `reason`,并写入 `SmsSendTask.rejectReason`
## 结论
阶段 6 已完成。下一阶段可进入阶段 7:发送链路。
## 风险与说明
- 当前阶段只实现发送前预审与审核闭环,不启动真实发送链路;真实入队和 Send Worker 放到阶段 7。
- 本地没有 PostgreSQL 服务时,仅运行 Prisma Client 生成和 TypeScript 构建,不执行数据库迁移。