|
|
992757c056
|
修复套餐快照集成测试与自动购包幂等
|
2026-07-23 12:23:52 +09:00 |
|
|
|
d5a35f6360
|
新增测试代码规范、修复响应体断言缺失与魔法数字
- AGENTS.md 新增测试代码专项规范:常量、fixture、触发器、HTTP断言、层边界说明
- TestUpdateAllocationExpiryBaseHTTP 补全 PATCH 响应体字段断言
- 四个集成测试文件以 testIDMask 局部常量替换 0x7fffffff 魔法数字
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-07-23 11:35:38 +09:00 |
|
|
|
4aaae07cee
|
修复错误消息含英文字段名:生效条件覆盖校验改为纯中文描述
AGENTS.md 要求用户可见的错误消息必须使用中文
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-07-23 11:23:13 +09:00 |
|
|
|
8dde55ea6d
|
修复 code review 问题:提取重复函数、补全缺失测试用例
- 提取 ResolveTermsFromTx 到 service/package,消除 order 和 auto_purchase 中的重复实现
- 补全 domain 测试:新增 from_activation 覆盖用例,现覆盖两种覆盖值
- 补全激活集成测试:新增 from_purchase 立即激活场景、历史记录兼容回退计数器验证
- 补全自动购包集成测试:新增购买后修改套餐配置不影响已有快照的验证
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-07-23 11:18:38 +09:00 |
|
|
|
147f3eb775
|
修复 UR#55 代码审查问题:事务隔离、错误包装、重复辅助函数
- resolvePackageTerms 接受 tx 参数并使用事务绑定的 Store,确保快照与写入同库
- auto_purchase.go 错误包装改用 pkgerrors.Wrap 而非标准库 errors
- shop_package_batch_allocation 去除 fmt 依赖改用 strconv 拼接
- shop_series_grant 提取 effectiveBase 局部变量避免重复调用
- 测试辅助函数统一迁移至 testutil.StringPointer,删除各文件本地重复定义
- 新增 testutil.NewRedisClient 和 testutil.StringPointer
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-07-23 11:09:08 +09:00 |
|
|
|
f7e0f07692
|
修复 code review 问题:DTO 内部字段、错误消息、重复代码与测试覆盖
- 删除 ExpiryBaseOverrideSet 字段的 description 标签(json:"-" 内部字段不进文档)
- ValidateExpiryBaseOverride 两处 CodeInvalidParam 补充中文错误消息
- 提取 initPackageExpiryBaseFields 消除 toResponse/toResponseWithAllocation 中的重复初始化
- 删除 order/service.go 中"行业卡永远直接激活"过时注释
- 补充 T01 系列授权 HTTP 集成测试(Create + ManagePackages 两个入口)
- 补充 T03 C 端购买和平台代购(无分配)快照集成测试
- 补充 T04 from_purchase 默认值、卡未实名仍立即激活的自动购包测试
- 新增 testutil.NewRedisClient 供激活接续测试使用
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-07-23 10:56:46 +09:00 |
|
|
|
9818537239
|
实现套餐生效条件覆盖与购买快照
|
2026-07-22 21:07:08 +09:00 |
|
|
|
55bdc3a8d0
|
实现换货资产快照与新旧独立搜索
|
2026-07-22 16:37:08 +09:00 |
|
|
|
2fd11daaf0
|
实现店铺联系电话精确查询与索引
|
2026-07-22 15:06:06 +09:00 |
|
|
|
2823ff13bf
|
fix: 修正排队顺延套餐激活时错误按下单时间计算生效日期
activatePendingUsage 被"前一个主套餐到期后顺延激活下一个待生效套餐"和
"等待实名认证后激活"两种场景共用,但其中 ExpiryBase=from_purchase 计时
基准分支(REALNAME-04)本来只为后者设计,却被无差别套用到前者。
导致主套餐配置为 from_purchase 且需要排队等待前一个套餐到期才能生效的
套餐,激活时错误地把生效时间算成下单时间,而不是真正开始生效的那一刻,
使到期时间提前了排队等待的天数,客户少享受了相应天数的服务。
现改为只有当 usage.PendingRealnameActivation 为 true(确实是在等实名)
时才按 ExpiryBase 选择计时基准,纯排队顺延场景一律使用当前时刻,即顺延
语义。
|
2026-07-20 11:58:01 +09:00 |
|
|
|
b38df737e1
|
先短暂去除限制,上传迁移脚本
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 7m51s
|
2026-07-09 18:23:29 +09:00 |
|
|
|
346156ee9b
|
卡只允许支付宝支付,设备只允许微信支付,钱包充值也遵循这个规则
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 7m53s
|
2026-07-03 10:26:48 +09:00 |
|
|
|
b3fb8c7a82
|
资产详情新增两个字段
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Has been cancelled
|
2026-07-02 16:49:50 +09:00 |
|
|
|
fc6af43baa
|
修复:溢出流量应优先记到主套餐而非加油包
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 7m47s
主套餐和加油包同时 Depleted 时,recordOverflowToDepletedPackage
原先取 id 最大的套餐,可能取到加油包,语义不对。
改为优先查 master_usage_id IS NULL(主套餐),找不到时
再回退取任意 Depleted 套餐。
|
2026-07-01 12:06:19 +09:00 |
|
|
|
52bdbbae25
|
修复:套餐耗尽后流量详单断档问题
问题:套餐 status=Depleted 后,queryActivePackages 查不到套餐,
DeductDataUsage 直接 return CodeNoAvailablePackage,导致上游
仍有真实流量时,tb_package_usage_daily_record 不再写入,详单断档。
修复:无 Active 套餐时,找最近一条 Depleted 套餐,将溢出流量
累加到 data_usage_mb 并写入当日 daily_record,保持详单连续性。
status 不变,不重复触发停机。
|
2026-07-01 12:03:39 +09:00 |
|
|
|
76f657c986
|
1. 套餐过期前再主动同步一次流量
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 7m55s
2. 生效套餐逻辑错误的问题
|
2026-06-30 15:54:55 +09:00 |
|
|
|
b930662817
|
从乐观锁变成悲观锁
|
2026-06-29 12:29:21 +09:00 |
|
|
|
f4b6a55b27
|
驳回
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Failing after 7m17s
|
2026-06-26 12:12:15 +09:00 |
|
|
|
8cf921f11c
|
驳回接口
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 7m55s
|
2026-06-25 17:10:24 +09:00 |
|
|
|
c5871b59a1
|
修复开放接口 wallet/package-orders 支持 IMEI 下单
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 7m48s
|
2026-06-23 11:46:02 +09:00 |
|
|
|
5c2ef97c24
|
相关问题优化以及新功能开发
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 7m57s
迁移 155- 157
|
2026-06-22 17:21:13 +09:00 |
|
|
|
ba435dd6a6
|
关于绑定的问题
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Has been cancelled
|
2026-06-22 12:08:41 +09:00 |
|
|
|
3b7b856e48
|
企业授权增强与资产列表扩展
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 8m9s
- 企业卡授权唯一约束:新增 DB 迁移(000154),卡级部分唯一索引防止同一张卡被多个企业同时持有,Service 层新增跨企业冲突检测
- 单卡列表新增 network_status 过滤参数
- 单卡/设备列表新增 asset_status、asset_status_name、generation 响应字段
- 单卡/设备列表新增企业维度过滤(authorized_enterprise_id、is_authorized_to_enterprise)及响应中企业授权信息(批量加载,无 N+1)
- 主钱包流水/退款列表新增 asset_identifier 精确过滤参数
- 企业卡授权/收回接口升级为三模式(list/range/filter),企业设备授权/收回升级为双模式(list/filter)
- 升级 sonic v1.14.2 → v1.15.2 以兼容 Go 1.26
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-06-17 16:23:03 +09:00 |
|
Break
|
016e7bee79
|
修改过期时间,以及修改套餐已用量
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Has been cancelled
|
2026-06-12 10:41:24 +08:00 |
|
Break
|
c437593a8c
|
修复错误购买报错的问题,修复接口返回虚流量启动错误的问题
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 7m48s
|
2026-06-11 14:51:26 +08:00 |
|
Break
|
5c779cb6e0
|
不允许购买第二个主套餐
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 7m50s
|
2026-06-10 15:24:26 +08:00 |
|
Break
|
32c9859b38
|
监控
|
2026-06-10 01:15:26 +08:00 |
|
Break
|
6a70713b30
|
加分布式锁
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 8m0s
|
2026-06-09 10:54:13 +08:00 |
|
Break
|
4ccbf13197
|
开放接口已用完流量查询错误的问题
|
2026-06-08 10:10:10 +08:00 |
|
Break
|
0ae8148689
|
审批金额
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 8m13s
|
2026-06-06 14:55:48 +08:00 |
|
Break
|
9a802c04e5
|
审计日志修复
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 8m20s
|
2026-06-05 17:22:05 +08:00 |
|
Break
|
4d419a1966
|
校验bug
|
2026-06-05 16:59:27 +08:00 |
|
Break
|
fe2041bcf5
|
机卡分离复机判断
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 8m13s
|
2026-06-05 14:20:58 +08:00 |
|
Break
|
6ac19d6565
|
支撑单卡
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 8m16s
|
2026-06-04 14:29:20 +08:00 |
|
Break
|
cce27975a1
|
设备关键词查询
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 8m7s
|
2026-06-04 10:34:58 +08:00 |
|
Break
|
d86ac46761
|
关键词查询
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Has been cancelled
|
2026-06-04 10:34:14 +08:00 |
|
Break
|
420f3d83f9
|
应当允许卡就算没有销售也能换货
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Has been cancelled
|
2026-06-04 10:26:47 +08:00 |
|
Break
|
5089a71764
|
返回错误原因
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 8m25s
|
2026-06-03 17:52:51 +08:00 |
|
Break
|
5f57429fb0
|
直接换货流程
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 8m28s
|
2026-06-03 16:55:32 +08:00 |
|
Break
|
46ede81aef
|
修复佣金错误计算的问题
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 8m15s
|
2026-06-03 10:25:49 +08:00 |
|
Break
|
a6cd550b94
|
1
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 8m18s
|
2026-06-02 16:56:09 +08:00 |
|
Break
|
c6e65fde9b
|
开放接口
|
2026-06-02 16:56:01 +08:00 |
|
Break
|
1b47fb8f32
|
佣金计算问题
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 8m23s
|
2026-06-02 16:19:42 +08:00 |
|
Break
|
918b9b4f25
|
退款也应该记录快照
|
2026-06-01 11:45:31 +08:00 |
|
Break
|
944526d9ef
|
修复订单金额落库不对的问题
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 8m17s
|
2026-06-01 11:21:29 +08:00 |
|
Break
|
1ee554daec
|
钱包流水新增资产信息
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 7m59s
|
2026-05-29 10:52:12 +08:00 |
|
Break
|
6a3fffc46c
|
错误的套餐购买限制
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 7m48s
|
2026-05-29 09:44:48 +08:00 |
|
Break
|
1550ef3cb1
|
修复超额流量不记录的问题
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 8m18s
|
2026-05-28 15:19:54 +08:00 |
|
Break
|
0d96a94e5f
|
关于上游流量同步覆盖修复,以及新增redis同步迁移
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 8m25s
|
2026-05-27 10:59:19 +08:00 |
|
Break
|
f4d92f99a2
|
新增退款凭证
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 8m41s
|
2026-05-26 17:16:11 +08:00 |
|