Files
cmautobuy/docs/task/95-顺运宝支持输入PDD商品ID.md

2.9 KiB

95 Admin:顺运宝商品详情支持输入 PDD 商品 ID

  • 类型:需求
  • 父级大工单:#14
  • 所属 MVP / 版本:#15
  • 状态:已完成,用户验收通过
  • 日期:2026-08-10
  • Gitea 工单:#95

背景与目标

顺运宝商品详情原来只接受带 goods_id 的完整拼多多链接。采购员已经拿到商品 ID 时, 仍要手工拼接链接。本任务让该入口同时接受完整 PDD 链接和 6~24 位纯数字商品 ID, 并继续复用已有 PDD 商品档案和采集结果。

最终方案

  • 只在顺运宝关联入口规范化输入,不改变蝦皮数据页和 PDD 商品页的既有输入边界。
  • 6~24 位纯数字按 PDD 商品 ID 处理,并生成 https://mobile.yangkeduo.com/goods.html?goods_id=<ID> 标准链接。
  • 完整链接继续经过协议、拼多多域名和 goods_id 参数校验;短 ID、超长 ID、混合字符及 普通文本均返回可操作的错误提示。
  • 规范化后复用原有关联事务和按 goods_id 去重逻辑。已有有效商品不重置采集状态、SKU 或采集结果;软删除、换品确认等原规则保持不变。
  • 输入框改为文本类型,使用可见标签和持续帮助文字说明两种格式,避免浏览器在提交前 把纯数字误判为非法 URL。
  • 保存关联不会自动创建采集任务、采购任务或触发下单。

改了哪些

  • admin/service/shopee_pdd.go:顺运宝 PDD 引用规范化和错误提示。
  • admin/service/purchase_workflow_test.go:纯 ID、完整链接、复用、边界和换品确认测试。
  • admin/templates/syb/detail_modal.html:输入类型、标签、示例和帮助文字。
  • admin/main_test.go:真实路由下的详情弹窗渲染回归。
  • docs/admin/01-requirements.md、05-ui-specification.md:同步稳定需求和界面规范。

验收结果

验收标准 结果
完整 PDD 链接的原有关联行为不变 通过
6~24 位纯数字 ID 生成标准 URL 并保存 通过
已有 PDD 商品唯一复用,采集状态、SKU 和结果保持 通过
非法长度、混合字符和普通文本拒绝保存 通过
换成其他 PDD 商品仍要求明确确认 通过
页面展示两种格式且不再受 type=url 拦截 通过
保存关联不自动创建任何任务 通过

测试

  • 执行的命令:
    • cd D:\chengma\cmautobuy\admin; $env:GOTOOLCHAIN='go1.23.0'; go vet ./...; gofmt -l .; go test ./... -count=1
    • go test ./service -run 'TestAssociateSybPdd_' -count=1
    • go test . -run 'TestMainPagesReturnOK' -count=1
  • 结果:Go 1.23.0 静态检查、格式检查、全量测试、顺运宝关联定向测试和真实路由模板测试通过。
  • 没验证到的部分:尚未部署线上;未使用真实浏览器人工粘贴商品 ID 并提交。

相关提交

  • 775e388 feat: 顺运宝支持输入 PDD 商品 ID (#95)