Admin:统一蝦皮关联 PDD 与采集入口 #68

Closed
opened 2026-08-09 22:21:42 +08:00 by ila · 3 comments
Owner

基本信息

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

要解决什么

采购员当前只能在 PDD 商品页单独添加链接和创建采集任务,蝦皮商品页的关联入口仍返回 501,顺运宝订单处理中也没有上下文入口。采购员需要在明确的蝦皮商品上下文中关联 PDD,并能直接发起或重试采集。

做什么 / 不做什么

做

  • 实现蝦皮商品关联当前 PDD 商品:解析完整链接、按 PDD goods_id 复用/复活商品,并更新蝦皮商品关联。
  • 蝦皮商品详情提供“关联 PDD 商品”和“创建采集任务”。
  • 顺运宝处理详情在蝦皮 SKU 已确认但缺少 PDD 关联时提供相同入口。
  • 两个入口调用同一个 Service;PDD 商品页继续作为档案、采集状态和诊断页面。
  • 换成不同 PDD goods_id 时明确确认;旧 SKU 映射保留但不会被当前关联查询复用。
  • 创建采集任务复用既有幂等、采集中跳过、超时重试规则。

不做

  • 不保存蝦皮到 PDD 的规格映射,不创建采购任务。
  • 不接受无法解析 goods_id 的短链接。
  • 不自动执行采集或真实采购;只创建采集任务。

怎么做

  • Repository 增加事务内更新 shopee_products.pdd_goods_url/pdd_goods_id 的方法。
  • Service 封装“解析链接 → EnsurePddProduct → 更新当前关联”的事务,以及单商品采集任务创建。
  • Shopee 和 SYB Handler 只解析表单并调用共享 Service,所有 POST 带 CSRF,并保留原列表筛选/页码。
  • 服务端渲染弹窗按当前状态渐进展示关联、采集、失败重试提示。
  • 更新需求、数据/UI 规范和测试;不修改数据库结构。

预计修改:Shopee/PDD/SYB Repository、Service、Handler、路由、详情模板、公共 JS/CSS、测试和 Admin 文档。

验收标准

  • 蝦皮详情和顺运宝处理详情能调用同一逻辑关联 PDD 商品。
  • 同一 PDD goods_id 不重复建档,软删除商品能安全复活。
  • 无效或短链接不写入任何数据。
  • 更换 PDD 商品需要明确确认,当前关联切换后旧映射不会被误用。
  • 能创建采集任务;采集中、重复选择和超时重试行为沿用现有规则。
  • 界面明确显示待采集、采集中、采集失败、已采集及下一步。
  • 不修改数据库和 Client 四接口,不触发实际采购。
  • Go 1.23.0 build、test、vet 通过。

怎么验证

从 admin/ 执行 Go 1.23.0 的 build/test/vet,覆盖新建、复用、复活、无效链接事务回滚、换品确认、重复采集和两个入口状态保留。

风险和回退

关联错误会导致后续规格映射指向错误商品。保存前必须展示解析出的 PDD goods_id;更换商品必须显式确认。回退代码即可,已建立的 PDD 档案和旧映射不做破坏性删除。

## 基本信息 - 类型:需求 - 父级大工单:#14 - 所属 MVP / 版本:#15 Admin 四模块可用闭环 - 阶段:顺运宝驱动采购闭环 - 依赖:#67 - 状态:待验收 ## 要解决什么 采购员当前只能在 PDD 商品页单独添加链接和创建采集任务,蝦皮商品页的关联入口仍返回 501,顺运宝订单处理中也没有上下文入口。采购员需要在明确的蝦皮商品上下文中关联 PDD,并能直接发起或重试采集。 ## 做什么 / 不做什么 ### 做 - 实现蝦皮商品关联当前 PDD 商品:解析完整链接、按 PDD goods_id 复用/复活商品,并更新蝦皮商品关联。 - 蝦皮商品详情提供“关联 PDD 商品”和“创建采集任务”。 - 顺运宝处理详情在蝦皮 SKU 已确认但缺少 PDD 关联时提供相同入口。 - 两个入口调用同一个 Service;PDD 商品页继续作为档案、采集状态和诊断页面。 - 换成不同 PDD goods_id 时明确确认;旧 SKU 映射保留但不会被当前关联查询复用。 - 创建采集任务复用既有幂等、采集中跳过、超时重试规则。 ### 不做 - 不保存蝦皮到 PDD 的规格映射,不创建采购任务。 - 不接受无法解析 goods_id 的短链接。 - 不自动执行采集或真实采购;只创建采集任务。 ## 怎么做 - Repository 增加事务内更新 `shopee_products.pdd_goods_url/pdd_goods_id` 的方法。 - Service 封装“解析链接 → EnsurePddProduct → 更新当前关联”的事务,以及单商品采集任务创建。 - Shopee 和 SYB Handler 只解析表单并调用共享 Service,所有 POST 带 CSRF,并保留原列表筛选/页码。 - 服务端渲染弹窗按当前状态渐进展示关联、采集、失败重试提示。 - 更新需求、数据/UI 规范和测试;不修改数据库结构。 预计修改:Shopee/PDD/SYB Repository、Service、Handler、路由、详情模板、公共 JS/CSS、测试和 Admin 文档。 ## 验收标准 - [x] 蝦皮详情和顺运宝处理详情能调用同一逻辑关联 PDD 商品。 - [x] 同一 PDD goods_id 不重复建档,软删除商品能安全复活。 - [x] 无效或短链接不写入任何数据。 - [x] 更换 PDD 商品需要明确确认,当前关联切换后旧映射不会被误用。 - [x] 能创建采集任务;采集中、重复选择和超时重试行为沿用现有规则。 - [x] 界面明确显示待采集、采集中、采集失败、已采集及下一步。 - [x] 不修改数据库和 Client 四接口,不触发实际采购。 - [x] Go 1.23.0 build、test、vet 通过。 ## 怎么验证 从 `admin/` 执行 Go 1.23.0 的 build/test/vet,覆盖新建、复用、复活、无效链接事务回滚、换品确认、重复采集和两个入口状态保留。 ## 风险和回退 关联错误会导致后续规格映射指向错误商品。保存前必须展示解析出的 PDD goods_id;更换商品必须显式确认。回退代码即可,已建立的 PDD 档案和旧映射不做破坏性删除。
Author
Owner

开始实施。先把蝦皮详情与顺运宝处理详情接到同一个 PDD 关联服务,再复用现有 PDD 采集任务服务;更换已有 PDD 商品时要求明确确认,所有写操作保持 CSRF 和事务边界。

开始实施。先把蝦皮详情与顺运宝处理详情接到同一个 PDD 关联服务,再复用现有 PDD 采集任务服务;更换已有 PDD 商品时要求明确确认,所有写操作保持 CSRF 和事务边界。
Author
Owner

实现完成,已进入待验收。

  • 实现提交:518e6df
  • 归档提交:5df5398
  • 归档文档:docs/task/68-admin统一蝦皮与顺运宝PDD关联入口.md
  • 验证:Go 1.23.0 build/test/vet、Node 语法检查和 diff check 均通过。
  • 未验证:真实 Client 领取采集任务及真实浏览器视觉检查。

工单保持开启等待用户验收,父工单清单暂不勾选。

实现完成,已进入待验收。 - 实现提交:`518e6df` - 归档提交:`5df5398` - 归档文档:`docs/task/68-admin统一蝦皮与顺运宝PDD关联入口.md` - 验证:Go 1.23.0 build/test/vet、Node 语法检查和 diff check 均通过。 - 未验证:真实 Client 领取采集任务及真实浏览器视觉检查。 工单保持开启等待用户验收,父工单清单暂不勾选。
Author
Owner

用户已明确验收通过。验收清单已回填,本工单关闭。

用户已明确验收通过。验收清单已回填,本工单关闭。
ila closed this issue 2026-08-10 23:22:38 +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#68