Files
one-pipe-system/openspec/changes/update-series-grant-package-edit-cost-price-consistency/proposal.md
sexygoat 73ce9af11a
Some checks failed
构建并部署前端到测试环境 / build-and-deploy (push) Failing after 2m0s
fix: 代理系列授权店铺
2026-05-09 16:13:11 +08:00

31 lines
1.7 KiB
Markdown

# Change: 修正代理系列授权套餐编辑中的成本价回填与提交一致性
## Why
当前“代理系列授权套餐列表”页面在编辑已授权套餐时,成本价输入框没有稳定使用列表行中的当前成本价作为初始值;同时,用户修改输入框后,前端提交给 `manageGrantPackages` 接口的 `cost_price` 可能退化为默认值 `0`,会直接把代理授权套餐的成本价错误覆盖。
这类问题会导致代理系列授权价格被误改,属于高风险的业务数据错误,需要明确前端在编辑态下的回填来源和提交流程。
## What Changes
- 为代理系列授权中的“编辑授权套餐”交互补充统一规范:
- 编辑弹窗打开时,成本价必须使用当前被编辑套餐记录中的 `cost_price` 回填
- 该回填行为不能依赖“可选套餐列表”是否已预先加载
- 用户在输入框中修改后的值,保存时必须按“元转分”写入 `manageGrantPackages` 请求体中的 `cost_price`
- 保存时不得回退为表单默认值 `0`,除非用户实际输入的就是 `0` 且通过业务校验
- 约束同一能力下多个编辑入口保持一致行为,包括:
- 代理系列授权套餐列表页
- 代理系列授权页面中的套餐管理弹窗
- 不修改后端接口路径、字段命名或请求结构
## Impact
- Affected specs:
- `shop-series-grant-packages`
- Affected code:
- `src/views/package-management/series-grants/packages.vue`
- `src/views/package-management/series-grants/index.vue`
- Dependencies:
- `GET /api/admin/shop-series-grants/{id}` 继续返回授权套餐的 `cost_price`
- `PUT /api/admin/shop-series-grants/{id}/packages` 继续接收 `packages[].package_id``packages[].cost_price`