2.9 KiB
2.9 KiB
113 Admin:采购任务价格仅展示选定颜色规格
- 类型:需求
- 父级大工单:#96
- 所属 MVP / 版本:#97
- 状态:已完成
- 日期:2026-08-10
- Gitea 工单:#113
背景与目标
顺运宝页面创建采购任务时,价格输入区域原来可能展示同一 PDD 商品的多个规格,采购员容易把其他颜色或尺码的价格误当成当前货运单规格。此次只展示规格匹配结果中已选定的 PDD 颜色、尺码和该规格的价格上限,并防止弹窗打开后规格映射发生变化时按旧结果创建任务。
最终方案
- 服务层只把当前顺运宝规格已映射的一个 PDD 规格传给创建弹窗,不再返回其他候选颜色和尺码。
- 弹窗同时展示顺运宝原规格和已选 PDD 规格,价格字段明确标注为“选定颜色的人民币价格上限(元)”。
- 表单携带当前映射的唯一键和上下文版本;创建事务重新读取映射并比对,映射已变化时拒绝创建并提示刷新页面后重试。
- 服务端仍负责价格格式、数量、客户端权限与真实下单安全门禁校验;没有修改数据库结构或 Client 接口。
改了哪些
admin/service/syb.go:采购候选行只保留当前映射规格,并生成映射确认信息。admin/service/purchase_workflow.go:创建任务时校验映射唯一键和上下文版本,拒绝过期弹窗。admin/handler/web/others.go:解析并传递映射确认字段。admin/templates/syb/list.html:只展示选定 PDD 规格及对应价格输入。admin/service/purchase_workflow_test.go:覆盖单一选定规格展示和映射变化拒绝创建。docs/admin/05-ui-specification.md:同步采购弹窗界面规范。
验收结果
| 验收标准 | 结果 |
|---|---|
| 创建弹窗只展示当前映射的 PDD 颜色、尺码和价格 | 通过 |
| 不展示同一商品的其他颜色或规格候选 | 通过 |
| 价格字段文案明确对应选定颜色 | 通过 |
| 弹窗打开后映射变化时服务端拒绝旧数据创建 | 通过 |
| 不修改数据库结构和 Client 接口 | 通过 |
| Go 1.23.0 全量验证 | 通过 |
测试
- 执行的命令:
GOTOOLCHAIN=go1.23.0 go test ./service ./handler/web -count=1GOTOOLCHAIN=go1.23.0 go vet ./...GOTOOLCHAIN=go1.23.0 go build ./...GOTOOLCHAIN=go1.23.0 go test ./... -count=1git diff --check
- 结果:Admin 全部包测试、构建、vet 和格式检查通过;新增测试确认只显示当前选定规格,并拒绝使用已过期的规格映射创建任务。
- 没验证到的部分:未在浏览器中人工操作弹窗,界面结构和业务数据由 Go 模板及服务测试覆盖;未连接 Android 真机,也未创建真实未付款订单。
相关提交
66565d50ccfc3682860280613c6f70d2b3efde8bfeat: 采购价格仅展示选定规格 (#113)