docs: add client subscription policy task

This commit is contained in:
QiuSW
2026-07-28 15:03:41 +08:00
parent 324f1faec8
commit f0f34156da
2 changed files with 113 additions and 0 deletions
+2
View File
@@ -113,6 +113,7 @@
| T-632 | 会员订阅三阶段启用与简化运营 | T-630, T-631 | **已完成。** 新增 `CMSHOPEE_SUBSCRIPTION_MODE=open|shadow|enforce`,将真实权益状态与最终访问结果分离;`open` / `shadow` 不写虚假权益,`enforce` 才拦截产品专属 submit。状态接口补齐桌面端账号、套餐、顶层有效期、会员中心、通知及观测字段,并保留 T-630 旧字段。admin 首页仅保留“会员套餐”和“用户会员”,其他模型只隐藏不删除。5 条无数据库单元测试、`check`、迁移一致性和编译通过;数据库集成测试因旧远程 MySQL 拒绝连接未取得结果。详见 [`tasks/T-632.md`](tasks/T-632.md)。 | DONE |
| T-633 | 存量用户批量授予过渡测试套餐 | T-632, T-626 | **已完成。** 新增默认只预演的 `grant_existing_users_plan`,通过明确 `plan_id`、非空原因、`--execute` 与预期人数双重确认,为启用的非后台账号批量授予套餐;已有同产品有效/宽限期权益会跳过。执行在单事务内复用 `grant_software_entitlement()` 生成权益快照、席位和授权事件,任一失败整批回滚。线上已备份 MySQL 后为 30 个存量用户授予“测试”套餐,反向预演待授予为 0;后台账号、API Key、点数、充值、软件订单和生成记录未由命令修改。详见 [`tasks/T-633.md`](tasks/T-633.md)。 | DONE |
| T-634 | 过期会员允许购买其他套餐 | T-629, T-632 | **已完成。** 软件下单与支付入账统一按 `status=active + grace_expires_at > now` 识别当前可用权益;支付校验通过后在同一事务内把同产品自然到期但仍为 `active` 的历史权益收敛为 `expired`,并为目标套餐创建新权益。有效/宽限期内的跨套餐仍拒绝;同套餐有效权益续订、支付幂等、金额校验和点数账本隔离保持不变。新增 5 条缺陷回归,扩大非并发 licensing / 软件支付 API 回归 40 条通过;无迁移。详见 [`tasks/T-634.md`](tasks/T-634.md)。 | DONE |
| T-635 | cmshopee 客户端启动订阅策略接口 | T-607, T-632 | 在公开 `GET /api/v1/client/releases/latest` 顶层新增只读 `client_policy`,用稳定配置发布客户端订阅检测 / 门禁策略;有发布和 `release:null` 均返回,响应 `Cache-Control: no-store`。客户端策略与 `CMSHOPEE_SUBSCRIPTION_MODE` 服务端授权解耦;订阅状态接口新增真实权益是否有效的明确字段,避免 `open` / `shadow` 的兼容 `allowed=true` 被客户端误判。不得读取用户、套餐、点数或变更账本;不改生文、生图、支付和订阅订单。详见 [`tasks/T-635.md`](tasks/T-635.md)。 | TODO |
## 里程碑
@@ -137,6 +138,7 @@
- M19:蝦皮圈设备授权与订阅迁移(T-624~T-629)。
- M20:存量用户过渡测试套餐安全批量授予(T-633)。
- M21:过期会员可自助购买新套餐(T-634)。
- M22:cmshopee 客户端启动订阅策略接口(T-635)。
## 待办池(Backlog)