chore: establish V1.1 recovery baseline
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
# Phase 17 Completion Report
|
||||
|
||||
## Status
|
||||
✅ Completed
|
||||
|
||||
## Implemented
|
||||
|
||||
### P17-T01 ~ P17-T10: 举报 + 风控核心
|
||||
- [x] V012 迁移:`reports` + `risk_events` + `risk_actions` 三张表
|
||||
- [x] `Report` / `RiskEvent` / `RiskAction` 实体 + Mapper(8个查询方法)
|
||||
- [x] `ReportService` — 提交举报/获取列表/处理举报/风险画像
|
||||
- [x] `ReportController` — 用户端2个端点
|
||||
- [x] `ReportOperatorController` — 管理端5个端点
|
||||
- [x] Constants 新增:举报原因/状态/风险动作/风险等级 常量
|
||||
|
||||
### Miniapp 页面
|
||||
- [x] U26 举报页 — 9种举报原因 + 补充说明 + 截图证据
|
||||
- [x] 我的举报页 — 举报记录列表 + 状态标签
|
||||
|
||||
### Admin Web
|
||||
- [x] A15 举报中心 — 统计卡片 + 待处理列表 + 按优先级排序
|
||||
- [x] A16 举报详情抽屉 — 被举报人风险画像 + 处置操作表单
|
||||
- [x] 路由注册:/risk/reports
|
||||
|
||||
## Core Invariants 已保护
|
||||
- ✅ **关键词命中 ≠ 直接处罚** — 仅创建风险事件+提示,不自动封禁
|
||||
- ✅ **风险评分不自动定罪** — 仅用于排序发现和人工审核
|
||||
- ✅ **封禁需人工复核** — 永久封禁不走自动流程
|
||||
- ✅ **举报不成立 ≠ 诈骗** — 不处罚举报人
|
||||
- ✅ **RiskLevel与AccountStatus分离** — 风险等级高不代表直接封号
|
||||
- ✅ **诈骗/冒充优先处理** — 按 reason_type 优先级排序
|
||||
|
||||
## API 端点(7个)
|
||||
POST /risk/reports(提交举报)
|
||||
GET /risk/reports/my(我的举报)
|
||||
GET /operator/risk/reports/pending(待处理列表)
|
||||
GET /operator/risk/reports/{id}(详情+风险画像)
|
||||
POST /operator/risk/reports/{id}/process(处理举报)
|
||||
GET /operator/risk/reports/stats(统计)
|
||||
GET /operator/risk/users/{userId}(用户风险画像)
|
||||
|
||||
## Migration
|
||||
V012__add_risk_and_report_tables.sql
|
||||
|
||||
## Tests
|
||||
- `ReportServiceTest`: 7 个不变量用例
|
||||
|
||||
## Project Stats
|
||||
- Java files: 176 (+12 from Phase 16)
|
||||
- Test classes: 29 (+1)
|
||||
- Migration SQL: 12
|
||||
|
||||
## Next Phase
|
||||
Phase 18: 申诉(appeal提交/审核/Feature Flag控制)
|
||||
EOF
|
||||
echo "Done"
|
||||
Reference in New Issue
Block a user