All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 7m55s
99 lines
4.0 KiB
Markdown
99 lines
4.0 KiB
Markdown
# 实施基线与手工验证清单
|
||
|
||
## 一、当前受影响接口与链路
|
||
|
||
### 1. 后台套餐管理
|
||
- `GET /api/admin/packages`
|
||
- `GET /api/admin/packages/:id`
|
||
- `POST /api/admin/packages`
|
||
- `PUT /api/admin/packages/:id`
|
||
- `PUT /api/admin/packages/:id/shelf-status`
|
||
- `PUT /api/admin/packages/:id/retail-price`
|
||
|
||
### 2. C 端可购套餐与下单
|
||
- `GET /api/c/v1/asset/packages?identifier=xxx`
|
||
- C 端创建订单链路(`internal/service/client_order/service.go`)
|
||
- 充值后自动购包链路(`internal/task/auto_purchase.go`)
|
||
|
||
### 3. 后台订单与发放链路
|
||
- 后台创建订单(`internal/service/order/service.go`)
|
||
- 套餐激活链路(`internal/service/order/service.go`、`internal/service/package/activation_service.go`)
|
||
|
||
### 4. 代理授权与分配
|
||
- 系列授权创建/维护(`internal/service/shop_series_grant/service.go`)
|
||
- 批量分配(`internal/service/shop_package_batch_allocation/service.go`)
|
||
|
||
## 二、当前受影响数据表
|
||
|
||
- `tb_package`:套餐主数据,当前仅有 `cost_price`、`suggested_retail_price`
|
||
- `tb_shop_package_allocation`:代理分配记录,当前仅有 `cost_price`、`retail_price`
|
||
- `tb_order`:订单主表
|
||
- `tb_order_item`:订单价格快照
|
||
- `tb_package_usage`:套餐使用记录快照
|
||
- `tb_shop_package_allocation_price_history`:当前仅记录成本价变更历史
|
||
|
||
## 三、回滚点与历史数据来源
|
||
|
||
### 1. 回滚点
|
||
- 迁移文件回滚:撤销新增字段、清理人工复核清单表
|
||
- Service 层回滚:恢复到直接读取 `suggested_retail_price` / `retail_price` 的旧逻辑
|
||
- 发放策略回滚:撤销后台赠送订单专属分支,恢复统一后台订单逻辑
|
||
|
||
### 2. 历史数据判定来源
|
||
- `tb_package.suggested_retail_price`
|
||
- `tb_shop_package_allocation.retail_price`
|
||
- `tb_order_item.unit_price`
|
||
- `tb_order.total_amount` / `tb_order.actual_paid_amount`
|
||
- `tb_package_usage.paid_amount`
|
||
- 后台创建订单记录(用于识别“发放=后台创建订单”的赠送语义)
|
||
|
||
## 四、改动前诊断基线
|
||
|
||
### 1. 无阻塞诊断错误的核心文件
|
||
- `internal/model/package.go`
|
||
- `internal/service/purchase_validation/service.go`
|
||
- `internal/service/client_order/service.go`
|
||
- `internal/task/auto_purchase.go`
|
||
- `internal/service/shop_package_batch_allocation/service.go`
|
||
- `internal/service/shop_series_grant/service.go`
|
||
|
||
### 2. 已知基线提示(非本次改动引入)
|
||
- `internal/service/order/service.go` 存在若干 `QF1003` 提示、`unusedparams` 提示和既有 `nilness` warning,作为改动前基线保留
|
||
- `internal/handler/app/client_asset.go` 存在 `unusedfunc` 基线提示
|
||
|
||
## 五、手工验证清单
|
||
|
||
### 1. 后台套餐配置
|
||
- 创建普通可售套餐,建议售价留空,保存成功
|
||
- 创建普通可售套餐,建议售价填 `0`,保存失败
|
||
- 创建赠送套餐,建议售价填 `0`,保存成功
|
||
- 编辑普通可售套餐将建议售价改成 `0`,保存失败
|
||
- 详情页/编辑页能区分“未配置价格”和“赠送 0 价”
|
||
|
||
### 2. C 端可购列表
|
||
- 平台渠道普通套餐未配置建议售价时,列表显示成本价
|
||
- 代理渠道分配记录未配置零售价时,列表显示成本价
|
||
- 赠送套餐不出现在可购列表
|
||
- 无主套餐时,加油包仍然不可见
|
||
|
||
### 3. 下单与自动购包
|
||
- C 端普通套餐下单按生效价落单
|
||
- H5/后台普通购买接口无法购买赠送套餐
|
||
- 自动购包命中赠送套餐时被拦截
|
||
- 同一订单仍禁止正式套餐和加油包混买
|
||
|
||
### 4. 后台发放(走创建订单)
|
||
- 平台后台可为目标资产创建赠送订单并激活套餐
|
||
- 赠送订单无需支付凭证,不产生正常购买语义
|
||
- 赠送加油包必须已有主套餐,否则发放失败
|
||
|
||
### 5. 代理授权与分配
|
||
- 代理授权列表不展示赠送套餐
|
||
- 系列授权新增赠送套餐失败
|
||
- 批量分配不会把赠送套餐分配给代理
|
||
|
||
### 6. 迁移与历史数据
|
||
- 迁移后能区分未配置价格、赠送 0 价、已配置非 0
|
||
- 历史模糊 0 数据进入人工复核清单
|
||
- 历史快照查询不再把普通未配置价格当成显式 0 售卖价
|