docs(phase-02): evolve PROJECT.md after phase completion — B/C/G/H 方案全部标记 Validated

This commit is contained in:
2026-03-28 10:53:37 +08:00
parent 5432fb0513
commit 8ace759200

View File

@@ -14,6 +14,17 @@
*以下功能已在代码库中实现,视为已验证的基础能力:*
**Validated in Phase 2: PERM/FIN/REALNAME/POLL 修复**
- ✓ 企业账号 Resolve 接口移除错误拦截,Refresh 接口新增拦截(只读)— PERM-01/02
- ✓ 提现审批人字段补全(approved_by/approved_at)— FIN-01
- ✓ 提现拒绝 remark 必填校验(Reject 补 Validate 调用)— FIN-02
- ✓ 激活配置并发行锁保护(clause.Locking FOR UPDATE)— FIN-03
- ✓ enable_realname_activation → expiry_base 全链路重构,三维激活决策(卡类型+购买路径+expiry_base)— REALNAME-01~05
- ✓ polling:protect 接入调度器(processManualQueue + processTimedQueue)— POLL-01
- ✓ gatewayClient=nil 时停复机返回业务错误而非 nil — POLL-02
- ✓ GetPackages 接口支持分页(page/pageSize/total)— POLL-03
- ✓ PackageSeries 删除前检查关联套餐(CountBySeriesID)— POLL-04
**Validated in Phase 1: P0 紧急修复**
- ✓ 实名状态常量统一(DB 写入值统一为 constants.RealNameStatusVerified=1)— CRITICAL-01
- ✓ C 端实名校验修复(依赖常量统一)— CRITICAL-02
@@ -57,14 +68,14 @@
- [x] A-6:设备导入补充 IMEI 字段(DeviceRow 缺 IMEI,导入后 Gateway 无法调用)
- [x] A-7:提现冻结并发校验(只检查 Error 不检查 RowsAffected,并发创建重复提现单)
**方案 B — 企业端权限完善**
- [ ] B-1:Resolve 接口错误拦截企业账号(应可查,需移除拦截)
- [ ] B-2:Refresh 接口缺少企业账号拦截(应只读)
**方案 B — 企业端权限完善** ✅ *Validated in Phase 2*
- [x] B-1:Resolve 接口错误拦截企业账号(应可查,需移除拦截)
- [x] B-2:Refresh 接口缺少企业账号拦截(应只读)
**方案 C — 提现/佣金流程完善**
- [ ] C-1:审批人字段补全(approved_by/approved_at 永远为空)
- [ ] C-2:提现拒绝 remark 必填校验(Reject 缺少 Validate 调用)
- [ ] C-3:激活配置并发保护(两步 UPDATE 无锁,可出现两条 active=true)
**方案 C — 提现/佣金流程完善** ✅ *Validated in Phase 2*
- [x] C-1:审批人字段补全(approved_by/approved_at 永远为空)
- [x] C-2:提现拒绝 remark 必填校验(Reject 缺少 Validate 调用)
- [x] C-3:激活配置并发保护(两步 UPDATE 无锁,可出现两条 active=true)
**方案 D — 设备体系完善**
- [ ] D-0:设备模型字段扩展(online_status / last_online_time / software_version 等)
@@ -85,14 +96,14 @@
- [ ] F-5:Handler/Service 权限不一致修复
- [ ] F-6:StopResumeCallback / ResumeCallback 注入(bootstrap 未调用)
**方案 G — 实名激活架构重构**
- [ ] G:enable_realname_activation 字段拆分为 expiry_base(from_activation/from_purchase)
**方案 G — 实名激活架构重构** ✅ *Validated in Phase 2*
- [x] G:enable_realname_activation 字段拆分为 expiry_base(from_activation/from_purchase)
**方案 H — 轮询系统小修**
- [ ] H-1:polling:protect 接入调度(已注册未调度)
- [ ] H-2:gatewayClient=nil 时停复机应返回错误(而非假装成功)
- [ ] H-3:packages 接口加分页
- [ ] H-4:Series 删除前检查关联套餐
**方案 H — 轮询系统小修** ✅ *Validated in Phase 2*
- [x] H-1:polling:protect 接入调度(已注册未调度)
- [x] H-2:gatewayClient=nil 时停复机应返回错误(而非假装成功)
- [x] H-3:packages 接口加分页
- [x] H-4:Series 删除前检查关联套餐
**方案 I — 退款完整功能(新功能)**
- [ ] I-1:新建 tb_refund_request 数据模型
@@ -146,7 +157,7 @@
| 流量体系改革独立发布 | 破坏性变更(DB 迁移 + Redis 架构),风险隔离 | — Pending |
---
*Last updated: 2026-03-28 after Phase 1 (P0 紧急修复) completion — CRITICAL-01~08 all validated*
*Last updated: 2026-03-28 after Phase 2 (perm-fin-realname-poll) completion — PERM-01/02, FIN-01/02/03, REALNAME-01~05, POLL-01~04 all validated*
## Evolution