Files
cmautobuy/docs/task/113-采购价格仅展示选定颜色.md
T
2026-08-10 17:57:16 +08:00

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=1
    • GOTOOLCHAIN=go1.23.0 go vet ./...
    • GOTOOLCHAIN=go1.23.0 go build ./...
    • GOTOOLCHAIN=go1.23.0 go test ./... -count=1
    • git diff --check
  • 结果:Admin 全部包测试、构建、vet 和格式检查通过;新增测试确认只显示当前选定规格,并拒绝使用已过期的规格映射创建任务。
  • 没验证到的部分:未在浏览器中人工操作弹窗,界面结构和业务数据由 Go 模板及服务测试覆盖;未连接 Android 真机,也未创建真实未付款订单。

相关提交

  • 66565d50ccfc3682860280613c6f70d2b3efde8b feat: 采购价格仅展示选定规格 (#113)