All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 7m55s
34 lines
3.0 KiB
Markdown
34 lines
3.0 KiB
Markdown
## 1. 验证准备
|
||
|
||
- [x] 1.1 梳理现有价格读取、赠送发放和分配链路,整理一份手工验证清单,覆盖后台配置、C 端列表、下单、自动购包和授权发放。
|
||
- [x] 1.2 记录当前会受影响的接口与数据表,确认回滚点和历史数据来源,避免后续迁移时把未配置价格、赠送 0 价和旧的模糊 0 数据混在一起。
|
||
- [x] 1.3 对涉及的现有实现文件先跑一次 `lsp_diagnostics`,保留基线结果,作为改动前对比。
|
||
|
||
## 2. 数据模型与迁移
|
||
|
||
- [x] 2.1 为套餐及相关价格快照补充价格状态、赠送语义和平台专属标记的迁移设计,保持原始价格字段不变,并明确普通可售套餐不能显式配置 0。
|
||
- [x] 2.2 编写 golang-migrate 迁移文件,先加字段,再回填存量数据,确保历史记录能区分未配置价格、可明确识别的赠送 0 价和需要人工复核的旧 0 数据。
|
||
- [x] 2.3 补齐历史回填逻辑和回滚脚本,完成后用数据库核验确认字段状态、默认值、人工复核清单和历史记录数量一致。
|
||
- [x] 2.4 对迁移相关文件和模型定义运行 `lsp_diagnostics`,确认没有语法或引用错误。
|
||
|
||
## 3. 价格回退与展示链路
|
||
|
||
- [x] 3.1 提炼统一的生效价解析方法,确保普通可售套餐在建议零售价未配置时回退到成本价,同时保留原始值供配置页使用。
|
||
- [x] 3.2 更新后台套餐配置、编辑和详情返回值,只展示原始价格与价格状态,不把生效价写回配置字段。
|
||
- [x] 3.3 更新 C 端可购套餐列表、订单创建和自动购包链路,统一使用生效价累加、展示和落单。
|
||
- [ ] 3.4 对价格回退链路做接口回放和手工验收,确认未配置价格回退正确、普通可售套餐显式 0 被拒绝、赠送 0 保持赠送语义。
|
||
- [x] 3.5 对改动后的价格相关服务、处理器和任务文件运行 `lsp_diagnostics`。
|
||
|
||
## 4. 赠送套餐政策与授权发放
|
||
|
||
- [x] 4.1 在套餐授权与分配链路加入赠送语义校验,禁止代理拿到、转发或分配赠送套餐。
|
||
- [x] 4.2 在 C 端可购列表和购买校验里隐藏并拦截赠送套餐,确保用户无法通过自购路径获取。
|
||
- [x] 4.3 保留后台发放入口的赠送套餐授予能力,确保赠送加油包只能通过后台 grant 进入资产,同时在后台创建、编辑时拒绝非赠送套餐的显式 0。
|
||
- [ ] 4.4 对赠送政策相关的服务、接口和任务文件运行 `lsp_diagnostics`,并用正反例手工核验平台专属与不可自购规则。
|
||
|
||
## 5. 文档与最终验收
|
||
|
||
- [x] 5.1 更新接口文档、字段说明和变更说明,明确原始值、生效值、未配置价格、赠送 0 价和普通套餐显式 0 被拒绝的区别。
|
||
- [x] 5.2 重新整理一份最终验收清单,覆盖价格回退、赠送拦截、平台发放和历史迁移四类核心场景。
|
||
- [ ] 5.3 对所有改动文件做最终 `lsp_diagnostics`,再执行一次完整手工回归,确认没有遗漏的旧口径入口。
|