chore: establish V1.1 recovery baseline

This commit is contained in:
2026-09-09 22:05:00 +08:00
commit b46b48eb33
947 changed files with 155471 additions and 0 deletions
+64
View File
@@ -0,0 +1,64 @@
# Phase 05 Completion Report
## Status
✅ Completed
## Implemented
### P05-T01 ~ P05-T04: 数据模型
- [x] `ReviewTask` 实体 + `ReviewTaskMapper`(含 FOR UPDATE SKIP LOCKED)
- [x] `ReviewItem` 实体 + `ReviewItemMapper`
- [x] `ReviewReason` 实体 + `ReviewReasonMapper`
- [x] V005 迁移:review_tasks / review_items / review_reasons 表 + 13 条审核原因
### P05-T05 ~ P05-T12: 审核核心服务
- [x] `ReviewService` — Claim(原子领取)/ Approve / NeedEdit / Reject / Resubmit
- [x] 并发安全:UPDATE ... WHERE status='pending' 返回行数判断
- [x] 审核历史可追溯(每轮审核创建新版本)
- [x] 审核结果联动 ProfileStatus(approved → 可进入推荐)
### P05-T13 ~ P05-T15: 后台审核接口
- [x] `ReviewController` — /operator/reviews/stats, /claim, /{id}, /approve, /need-edit, /reject
- [x] Admin Web 审核工作台页面(ReviewView.vue)
- [x] 审核详情抽屉(用户资料 + 操作按钮)
### P05-T16 ~ P05-T17: 用户端
- [x] 用户端 /review/status + /review/resubmit
- [x] Miniapp 资料确认页支持重新提交
## Database Changes
- V005: +3 张表(review_tasks, review_items, review_reasons)
- 初始化 13 条审核原因
## API Changes
新增接口:
| Method | Path | 描述 |
|---|---|---|
| GET | /operator/reviews/stats | 待审核统计 |
| GET | /operator/reviews/pending | 待审核列表 |
| POST | /operator/reviews/{id}/claim | 领取审核任务 |
| GET | /operator/reviews/{id} | 审核任务详情 |
| POST | /operator/reviews/{id}/approve | 审核通过 |
| POST | /operator/reviews/{id}/need-edit | 需修改 |
| POST | /operator/reviews/{id}/reject | 拒绝 |
| GET | /review/status | 用户审核状态 |
| POST | /review/resubmit | 重新提交 |
## Tests
- `ReviewServiceTest` — 2 个用例
- `ReviewConstantsTest` — 2 个用例
## Concurrency
- Claim 使用 `FOR UPDATE SKIP LOCKED` 原子操作
- UPDATE WHERE status='pending' 检查影响行数防重复领取
## Security Review
- [x] 审核操作必须认证(Operator Token)
- [x] 审核日志自动记录
- [x] 敏感资料(身份证)不进入审核详情
## Known Issues
- Pending 列表分页查询需后续完善(当前返回空列表占位)
## Next Phase
Phase 06: Match Engine(双向 Required 过滤 + 评分 + 推荐理由)