Admin:顺运宝同步复用蝦皮商品已有 PDD 关联并明确展示 #183

Closed
opened 2026-08-12 15:06:39 +08:00 by ila · 2 comments
Owner

基本信息

  • 类型:需求
  • 父级大工单:#14
  • 所属 MVP / 版本:#15 Admin 四模块可用闭环
  • 阶段:顺运宝驱动采购闭环

要解决什么

顺运宝同步后,如果货运单的蝦皮商品 ID 已在蝦皮商品主数据中关联有效 PDD 商品,采购员不应再次进入顺运宝详情手工输入 PDD URL。现有数据模型已经通过 syb_orders.shopee_goods_id → shopee_products.pdd_goods_id → pdd_products 动态取得关联,且同步不会覆盖已有人工/导入关联;但页面没有明确说明关联来自复用,也缺少“先关联、后同步”的完整回归测试。

做什么 / 不做什么

  • 做:固定“已有蝦皮→PDD 关联,新顺运宝明细自动复用”的同步行为。
  • 做:顺运宝列表和详情对自动复用的有效关联显示明确来源提示。
  • 做:有效关联直接进入 PDD 待采集、采集中、待匹配等后续阶段,不再提示手工关联。
  • 做:覆盖 PDD 缺失/软删除、重复同步、PDD 换绑、旧映射隔离与换回复用。
  • 做:保证同步补���蝦皮骨架时不覆盖已有 PDD 关联。
  • 不做:不在 syb_orders 冗余保存 pdd_goods_id 或 URL,不自动确认规格,不自动创建任务。
  • 不做:不静默恢复已删除 PDD,不覆盖人工或目录导入关联,不新增迁移,不改变 Client 接口。
  • 不做:本次不持久化复用数量;若以后要求同步记录永久保存该计数,另建迁移工单。

怎么做

  • admin/repository/syb.go:保持动态联查为唯一事实来源,暴露可判定有效复用关系的数据库事实。
  • admin/service/syb.go:向列表/详情视图提供关联来源文案,阶段仍按当前有效 PDD 商品和采集状态计算。
  • admin/templates/syb/list.html、detail_modal.html:显示“已复用蝦皮商品的 PDD 关联”。
  • admin/repository/syb_test.go、admin/service/syb_test.go、admin/service/syb_workflow_test.go:增加先关联后同步、重复同步、失效和换绑场景。
  • 同步更新 docs/admin/01-requirements.md、03-data-model.md、05-ui-specification.md。

验收标准

  • 已关联有效 PDD 时,随后同步相同蝦皮商品 ID 的新顺运宝明细直接取得该 PDD 商品。
  • 该明细不显示“未关联 PDD”,而是进入与 PDD 采集状态相符的后续阶段。
  • 列表或详情明确显示“已复用蝦皮商品的 PDD 关联”。
  • 重复同步不新增重复关系,也不覆盖人工/目录导入关联。
  • PDD 不存在或软删除时仍判定失效,不静默复活。
  • 换绑后立即使用新关联,旧 PDD 规格映射不误用,换回可复用原映射。
  • 未关联 PDD 时仍保留手工输入 URL 的入口。
  • 固定 Go 1.23.0 的 build、test、vet 通过。

怎么验证

从 admin/ 执行固定 Go 1.23.0 的 go vet ./...、go build ./...、go test ./... -count=1。使用独立 _test MySQL 覆盖先关联后同步、重复同步、软删除、A→B→A 换绑,并核对页面阶段和来源文案。

风险和回退

  • 风险:失效 PDD 被误判有效。控制:必须通过未软删除 pdd_products 联查确认。
  • 风险:复制关联形成陈旧数据。控制:继续以蝦皮商品关联为唯一事实来源。
  • 风险:换绑误用旧映射。控制:映射查询继续包含当前 pdd_goods_id。
  • 回退:移除新增来源文案和视图字段;动态关联和数据结构不变。

实施结果

  • 状态:已完成,待用户验收。
  • 实现提交:4c5f061
  • 归档提交:7e2d33c
  • 归档:docs/task/183-顺运宝复用蝦皮PDD关联.md
  • 固定 Go 1.23.0:go vet ./...、go build ./...、go test ./... -count=1 全部通过。
  • 未验证:未使用真实顺运宝账号执行线上同步,未做浏览器人工视觉验收。
## 基本信息 - 类型:需求 - 父级大工单:#14 - 所属 MVP / 版本:#15 Admin 四模块可用闭环 - 阶段:顺运宝驱动采购闭环 ## 要解决什么 顺运宝同步后,如果货运单的蝦皮商品 ID 已在蝦皮商品主数据中关联有效 PDD 商品,采购员不应再次进入顺运宝详情手工输入 PDD URL。现有数据模型已经通过 syb_orders.shopee_goods_id → shopee_products.pdd_goods_id → pdd_products 动态取得关联,且同步不会覆盖已有人工/导入关联;但页面没有明确说明关联来自复用,也缺少“先关联、后同步”的完整回归测试。 ## 做什么 / 不做什么 - 做:固定“已有蝦皮→PDD 关联,新顺运宝明细自动复用”的同步行为。 - 做:顺运宝列表和详情对自动复用的有效关联显示明确来源提示。 - 做:有效关联直接进入 PDD 待采集、采集中、待匹配等后续阶段,不再提示手工关联。 - 做:覆盖 PDD 缺失/软删除、重复同步、PDD 换绑、旧映射隔离与换回复用。 - 做:保证同步补���蝦皮骨架时不覆盖已有 PDD 关联。 - 不做:不在 syb_orders 冗余保存 pdd_goods_id 或 URL,不自动确认规格,不自动创建任务。 - 不做:不静默恢复已删除 PDD,不覆盖人工或目录导入关联,不新增迁移,不改变 Client 接口。 - 不做:本次不持久化复用数量;若以后要求同步记录永久保存该计数,另建迁移工单。 ## 怎么做 - admin/repository/syb.go:保持动态联查为唯一事实来源,暴露可判定有效复用关系的数据库事实。 - admin/service/syb.go:向列表/详情视图提供关联来源文案,阶段仍按当前有效 PDD 商品和采集状态计算。 - admin/templates/syb/list.html、detail_modal.html:显示“已复用蝦皮商品的 PDD 关联”。 - admin/repository/syb_test.go、admin/service/syb_test.go、admin/service/syb_workflow_test.go:增加先关联后同步、重复同步、失效和换绑场景。 - 同步更新 docs/admin/01-requirements.md、03-data-model.md、05-ui-specification.md。 ## 验收标准 - [x] 已关联有效 PDD 时,随后同步相同蝦皮商品 ID 的新顺运宝明细直接取得该 PDD 商品。 - [x] 该明细不显示“未关联 PDD”,而是进入与 PDD 采集状态相符的后续阶段。 - [x] 列表或详情明确显示“已复用蝦皮商品的 PDD 关联”。 - [x] 重复同步不新增重复关系,也不覆盖人工/目录导入关联。 - [x] PDD 不存在或软删除时仍判定失效,不静默复活。 - [x] 换绑后立即使用新关联,旧 PDD 规格映射不误用,换回可复用原映射。 - [x] 未关联 PDD 时仍保留手工输入 URL 的入口。 - [x] 固定 Go 1.23.0 的 build、test、vet 通过。 ## 怎么验证 从 admin/ 执行固定 Go 1.23.0 的 go vet ./...、go build ./...、go test ./... -count=1。使用独立 _test MySQL 覆盖先关联后同步、重复同步、软删除、A→B→A 换绑,并核对页面阶段和来源文案。 ## 风险和回退 - 风险:失效 PDD 被误判有效。控制:必须通过未软删除 pdd_products 联查确认。 - 风险:复制关联形成陈旧数据。控制:继续以蝦皮商品关联为唯一事实来源。 - 风险:换绑误用旧映射。控制:映射查询继续包含当前 pdd_goods_id。 - 回退:移除新增来源文案和视图字段;动态关联和数据结构不变。 ## 实施结果 - 状态:已完成,待用户验收。 - 实现提交:`4c5f061` - 归档提交:`7e2d33c` - 归档:`docs/task/183-顺运宝复用蝦皮PDD关联.md` - 固定 Go 1.23.0:`go vet ./...`、`go build ./...`、`go test ./... -count=1` 全部通过。 - 未验证:未使用真实顺运宝账号执行线上同步,未做浏览器人工视觉验收。
Author
Owner

已随生产发布工单 #184 部署到 https://buy.833729.com。生产构建基线 7e2d33c,服务 active/enabled,公网登录页 HTTP 200;当前待用户登录后验收本工单页面行为。

已随生产发布工单 #184 部署到 `https://buy.833729.com`。生产构建基线 `7e2d33c`,服务 active/enabled,公网登录页 HTTP 200;当前待用户登录后验收本工单页面行为。
Author
Owner

用户于 2026-08-13 明确验收通过。工单已完成归档,现关闭工单。

用户于 2026-08-13 明确验收通过。工单已完成归档,现关闭工单。
ila closed this issue 2026-08-13 15:56:12 +08:00
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: chengma/cmautobuy#183