3.0 KiB
3.0 KiB
68 Admin:统一蝦皮关联 PDD 与采集入口
- 类型:需求
- 父级大工单:#14
- 所属 MVP / 版本:#15 Admin 四模块可用闭环
- 状态:已完成
- 日期:2026-08-09
- Gitea 工单:http://ilaer.eicp.net:8418/chengma/cmautobuy/issues/68
背景与目标
蝦皮详情的 PDD 关联和采集入口原先返回 501,顺运宝处理弹窗也无法在订单上下文中完成关联。此次让两个入口共用一套事务服务,并继续复用 PDD 商品模块已经验证过的采集任务规则。
最终方案
- 完整 PDD 链接先解析
goods_id,再在一个事务内复用或复活 PDD 商品档案并更新蝦皮商品当前关联。 - 已有关联与新
goods_id不同时,只有明确勾选确认才允许更换;不删除旧 PDD 档案和旧规格映射。 - 蝦皮详情和顺运宝处理详情都提供关联、创建采集任务和失败重试入口,调用同一个 Service。
- 采集仍然只是创建无主任务,沿用已有的去重、采集中跳过和超时重试规则。
- PDD 商品页继续承担档案浏览、批量采集和故障诊断。
未修改数据库结构、Client 四接口、规格映射、采购任务和真实下单逻辑。
改了哪些文件
admin/repository/shopee.go:增加当前 PDD 关联更新方法。admin/service/shopee_pdd.go:增加共享关联事务及按蝦皮/顺运宝上下文创建采集任务。admin/service/shopee_list.go、admin/service/syb.go:补充详情所需的 PDD 和采集状态。admin/handler/web/shopee.go、admin/handler/web/others.go、admin/handler/web/web.go:实现表单处理、路由和列表状态保留。admin/templates/shopee/、admin/templates/syb/detail_modal.html:增加渐进式关联和采集入口。admin/service/shopee_pdd_test.go、admin/handler/web/pagination_test.go:覆盖事务、换品确认、复活、采集和跳转状态。docs/admin/01-requirements.md、docs/admin/05-ui-specification.md:更新稳定需求和界面规则。
验收结果
| 验收标准 | 结果 |
|---|---|
| 蝦皮详情和顺运宝详情共用关联逻辑 | 通过 |
| 同一 PDD 商品复用,软删除商品可复活 | 通过 |
| 无效和短链接不写数据 | 通过 |
| 更换 PDD 商品必须确认且旧映射不删除 | 通过 |
| 采集任务沿用幂等、跳过和超时重试规则 | 通过 |
| 页面显示当前采集状态和明确下一步 | 通过 |
| 不修改数据库、Client 四接口和实际采购 | 通过 |
| Go 1.23.0 build、test、vet 通过 | 通过 |
测试
- 从
admin/执行:node --check static/js/app.js、Go 1.23.0 的go build ./...、go test ./... -count=1、go vet ./...。 - 从仓库根目录执行:
git diff --check -- admin docs/admin。 - 结果:全部通过。
- 未验证到的部分:未让真实 Client 领取新建采集任务;未在真实浏览器人工检查弹窗布局。
相关提交
518e6df统一蝦皮与顺运宝 PDD 关联入口