feat: 套餐系统升级 - Worker 重构、流量重置、文档与规范更新
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 6m54s
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 6m54s
- 重构 Worker 启动流程,引入 bootstrap 模块统一管理依赖注入 - 实现套餐流量重置服务(日/月/年周期重置) - 新增套餐激活排队、加油包绑定、囤货待实名激活逻辑 - 新增订单创建幂等性防重(Redis 业务键 + 分布式锁) - 更新 AGENTS.md/CLAUDE.md:新增注释规范、幂等性规范,移除测试要求 - 添加套餐系统升级完整文档(API文档、使用指南、功能总结、运维指南) - 归档 OpenSpec package-system-upgrade 变更,同步 specs 到主目录 - 新增 queue types 抽象和 Redis 常量定义
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
# Spec Delta: 订单管理能力扩展
|
||||
|
||||
## ADDED Requirements
|
||||
|
||||
### Requirement: 主套餐购买时自动排队
|
||||
系统 SHALL 在用户购买主套餐时,如果已有生效中的主套餐,自动将新套餐设置为待生效状态并分配 priority。
|
||||
|
||||
#### Scenario: 首个主套餐立即生效
|
||||
- **WHEN** 载体首次购买主套餐
|
||||
- **THEN** PackageUsage status=1, priority=1, activated_at=支付完成时间
|
||||
|
||||
#### Scenario: 第二个主套餐自动排队
|
||||
- **WHEN** 载体已有生效中主套餐,购买第2个主套餐
|
||||
- **THEN** PackageUsage status=0, priority=2, pending_realname_activation=false
|
||||
|
||||
### Requirement: 加油包购买前检查主套餐
|
||||
系统 SHALL 在用户购买加油包前,检查是否有生效中或待生效的主套餐。
|
||||
|
||||
#### Scenario: 无主套餐时购买加油包失败
|
||||
- **WHEN** 用户购买加油包,但载体无主套餐
|
||||
- **THEN** 系统返回错误 400 "必须有主套餐才能购买加油包"
|
||||
|
||||
#### Scenario: 有主套餐时可购买加油包
|
||||
- **WHEN** 用户购买加油包,载体有生效中主套餐
|
||||
- **THEN** 系统创建订单成功,PackageUsage master_usage_id=主套餐ID
|
||||
|
||||
### Requirement: 客户端未实名时禁止购买套餐
|
||||
系统 SHALL 在客户端购买套餐时,检查载体的实名状态。
|
||||
|
||||
#### Scenario: 客户端未实名购买返回错误
|
||||
- **WHEN** 客户通过 H5 端购买套餐,载体未实名
|
||||
- **THEN** 系统返回错误 403 "设备/卡必须先完成实名认证才能购买套餐"
|
||||
|
||||
#### Scenario: 后台管理端可为未实名载体购买
|
||||
- **WHEN** 管理员通过后台为未实名载体购买套餐
|
||||
- **THEN** 系统创建订单成功,PackageUsage status=0, pending_realname_activation=true
|
||||
Reference in New Issue
Block a user