chore: establish V1.1 recovery baseline
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
# Phase 14 Completion Report
|
||||
|
||||
## Status
|
||||
✅ Completed
|
||||
|
||||
## Implemented
|
||||
|
||||
### P14-T01 ~ P14-T13: 活动核心
|
||||
- [x] `Activity` + `ActivityRegistration` 实体
|
||||
- [x] `ActivityMapper`(含名额统计查询)
|
||||
- [x] `ActivityRegistrationMapper`(含唯一约束查询 + 原子名额检查)
|
||||
- [x] `ActivityService` — CRUD/报名/审核/取消/我的活动
|
||||
- [x] `ActivityController`(用户端6端点)
|
||||
- [x] `ActivityOperatorController`(后台7端点)
|
||||
|
||||
### P14: 数据库
|
||||
- [x] V010 迁移:activities + activity_registrations 表
|
||||
- 唯一约束:UNIQUE(activity_id, user_id) 防重复报名
|
||||
- 状态约束:activity_status + registration_status
|
||||
|
||||
### Miniapp 页面
|
||||
- [x] U27 活动首页
|
||||
- [x] U28 活动详情
|
||||
- [x] U29 活动报名
|
||||
- [x] U30 我的活动
|
||||
|
||||
## Core Invariants 已保护
|
||||
- ✅ **活动名额并发安全** — 事务内原子检查 + UNIQUE约束兜底
|
||||
- ✅ **重复报名安全** — 数据库唯一约束 (activity_id, user_id)
|
||||
- ✅ **Pending不占正式名额** — 仅approved状态计入名额统计
|
||||
- ✅ **活动取消后通知所有已审核用户**
|
||||
|
||||
## API 端点(13个)
|
||||
用户端:GET /activities · GET /activities/upcoming · GET /activities/{id}
|
||||
POST /activities/{id}/register · DELETE /activities/{id}/register · GET /activities/my
|
||||
后台:POST /operator/activities · PUT /operator/activities/{id}/publish
|
||||
PUT /operator/activities/{id}/cancel · GET /operator/activities/{id}/registrations
|
||||
POST /operator/activities/registrations/{rid}/approve
|
||||
POST /operator/activities/registrations/{rid}/reject
|
||||
|
||||
## Tests
|
||||
- `ActivityServiceTest`: 4 个用例(状态常量 + 并发安全Invariants)
|
||||
|
||||
## Next Phase
|
||||
Phase 15: 签到(Signed Checkin Token + Staff Scan + Duplicate Check)
|
||||
Reference in New Issue
Block a user