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:
@@ -256,3 +256,21 @@ func RedisPollingInitProgressKey() string {
|
||||
func RedisPackageActivationLockKey(carrierType string, carrierID uint) string {
|
||||
return fmt.Sprintf("package:activation:lock:%s:%d", carrierType, carrierID)
|
||||
}
|
||||
|
||||
// ========================================
|
||||
// 订单幂等性相关 Redis Key
|
||||
// ========================================
|
||||
|
||||
// RedisOrderIdempotencyKey 生成订单创建幂等性检测的 Redis 键
|
||||
// 用途:防止相同买家在短时间内对同一载体重复下单(SETNX 快速拒绝)
|
||||
// 过期时间:3 分钟
|
||||
func RedisOrderIdempotencyKey(businessKey string) string {
|
||||
return fmt.Sprintf("order:idempotency:%s", businessKey)
|
||||
}
|
||||
|
||||
// RedisOrderCreateLockKey 生成订单创建分布式锁的 Redis 键
|
||||
// 用途:防止同一载体的订单创建并发执行
|
||||
// 过期时间:10 秒
|
||||
func RedisOrderCreateLockKey(carrierType string, carrierID uint) string {
|
||||
return fmt.Sprintf("order:create:lock:%s:%d", carrierType, carrierID)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user