PDD 商品详情弹窗对已采集商品显示“重新采集”,但按钮仍提交普通 POST /pdd/collect。普通批量采集规则会跳过 collected,因此不会向任务表插入记录,“采集采购”模块也看不到新任务。
POST /pdd/collect
collected
复现步骤:
collecting
failed
admin/repository/pdd.go
pending
admin/service/pdd.go
admin/handler/web/pdd.go
title
shop_name
skus_json
collected_at
预计修改文件:
admin/templates/pdd/edit_modal.html
docs/admin/
docs/task/<工单号>-admin-pdd已采集商品重新采集.md
从 admin/ 目录执行:
admin/
$env:GOTOOLCHAIN='go1.23.0' gofmt -l . go build ./... go test ./... -count=1 go vet ./... Remove-Item Env:GOTOOLCHAIN
人工验证:使用一条已有规格数据的已采集商品点击“重新采集”,立即检查旧详情仍可查看、状态为采集中且“采集采购”出现一条任务;在任务完成前再次点击,确认不产生第二条任务。
状态:进行中。
已完成独立 /pdd/recollect 入口、详情页可选客户端、Service 事务编排和 Repository 原子状态占用。普通批量入口保持不变;重新采集只改变状态并创建任务,不清空旧标题、店铺、规格和采集时间。已增加已采集重采、连续点击防重复、越权客户端完整回滚和模板入口测试。正在执行最终全量验证与归档。
/pdd/recollect
POST /pdd/recollect
/pdd/collect
从 admin/ 执行 Go 1.23.0:
gofmt -l
go build ./...
go test ./... -count=1
go vet ./...
git diff --check
未验证:真实浏览器人工点击、真实 Client 领取并完成重采。
546d9ef
7e4adf2
docs/task/121-admin-pdd已采集商品重新采集.md
工单保持开启,状态为待验收;父工单 #14、#15 暂不勾选。
用户已明确验收通过。验收清单已回填,本工单关闭。
No dependencies set.
The note is not visible to the blocked user.
基本信息
要解决什么
PDD 商品详情弹窗对已采集商品显示“重新采集”,但按钮仍提交普通
POST /pdd/collect。普通批量采集规则会跳过collected,因此不会向任务表插入记录,“采集采购”模块也看不到新任务。复现步骤:
做什么 / 不做什么
collecting并创建新采集任务。collecting商品重复创建任务。failed和超时collecting恢复采集。怎么做
admin/repository/pdd.go增加专用于重新采集的原子状态占用方法:允许collected、pending、failed和超时collecting进入collecting;未超时collecting返回不允许。admin/service/pdd.go增加单商品重新采集服务,复用商品存在性、Client 可见范围、事务和任务插入规则;不复用会跳过collected的批量入口。admin/handler/web/pdd.go和路由中增加独立 POST 入口;详情表单改投该入口,并允许按现有规则选择/默认不指定 Client。title、shop_name、skus_json、collected_at。预计修改文件:
admin/repository/pdd.goadmin/service/pdd.goadmin/handler/web/pdd.goadmin/templates/pdd/edit_modal.htmldocs/admin/文档docs/task/<工单号>-admin-pdd已采集商品重新采集.md验收标准
怎么验证
从
admin/目录执行:人工验证:使用一条已有规格数据的已采集商品点击“重新采集”,立即检查旧详情仍可查看、状态为采集中且“采集采购”出现一条任务;在任务完成前再次点击,确认不产生第二条任务。
风险和回退
状态:进行中。
已完成独立
/pdd/recollect入口、详情页可选客户端、Service 事务编排和 Repository 原子状态占用。普通批量入口保持不变;重新采集只改变状态并创建任务,不清空旧标题、店铺、规格和采集时间。已增加已采集重采、连续点击防重复、越权客户端完整回滚和模板入口测试。正在执行最终全量验证与归档。实施完成,等待用户验收
最终实现
POST /pdd/recollect,不再被普通批量入口的collected跳过规则拦截。collecting并创建一条任务;未超时的采集中商品连续点击不会重复建任务。/pdd/collect行为保持不变。验证结果
从
admin/执行 Go 1.23.0:gofmt -l:通过go build ./...:通过go test ./... -count=1:全部通过go vet ./...:通过git diff --check:通过未验证:真实浏览器人工点击、真实 Client 领取并完成重采。
提交与归档
546d9ef7e4adf2docs/task/121-admin-pdd已采集商品重新采集.md工单保持开启,状态为待验收;父工单 #14、#15 暂不勾选。
用户已明确验收通过。验收清单已回填,本工单关闭。