docs: 归档任务 #153
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
# 153 Admin:顺运宝待采集商品支持批量创建 PDD 采集任务
|
||||
|
||||
- 类型:缺陷 / 需求
|
||||
- 父级大工单:#14
|
||||
- 所属 MVP / 版本:#15 / 顺运宝采购工作台后续
|
||||
- 状态:已完成
|
||||
- 日期:2026-08-11
|
||||
- Gitea 工单:http://ilaer.eicp.net:8418/chengma/cmautobuy/issues/153
|
||||
|
||||
## 背景与目标
|
||||
|
||||
顺运宝列表的复选框原本直接绑定 `CanPurchase`,导致“PDD 待采集”和“PDD 采集失败”
|
||||
记录虽然下一步是创建采集任务,却无法勾选,只能逐条打开详情操作。生产只读核对显示,
|
||||
店铺 `qwg8fkb044` 有 50 条待采集明细、对应 36 个 PDD 商品,问题来自批量动作能力缺失,
|
||||
不是数据、账号权限或已有采集任务造成。
|
||||
|
||||
## 最终方案
|
||||
|
||||
列表行分别输出 `CanCollect` 和 `CanPurchase`,复选框通过 `data-select-action` 携带服务端
|
||||
已经判断好的动作能力。PDD 待采集、PDD 采集失败行可参与批量采集;采购就绪行只参与
|
||||
采购动作;其余阶段继续禁用,并显示不可批量操作的具体原因。
|
||||
|
||||
工具条增加“创建 PDD 采集任务”和确认弹窗,可不指定客户端或选择当前账号可见客户端。
|
||||
原生 JavaScript 仅按动作能力统计和搬运已选 ID,不自行推导业务状态;混合勾选时,采集与
|
||||
采购按钮各自只读取兼容记录。
|
||||
|
||||
服务端收到顺运宝明细 ID 后重新读取当前上下文并推导阶段,任何不存在或不可采集的明细
|
||||
都会使整批请求在写入前失败。通过校验后按 PDD 商品 ID 去重,再复用现有 PDD 批量采集
|
||||
服务的事务、状态占用、超时重试、任务幂等和客户端权限规则。
|
||||
|
||||
## 改了哪些
|
||||
|
||||
- `admin/service/syb.go`:增加采集/采购动作能力和禁用原因。
|
||||
- `admin/service/shopee_pdd.go`:增加顺运宝明细批量校验、PDD 商品去重和任务创建入口。
|
||||
- `admin/handler/web/others.go`、`admin/handler/web/web.go`:增加批量 POST 处理及路由。
|
||||
- `admin/templates/syb/list.html`:增加批量采集按钮、确认弹窗、客户端选择和动作能力属性。
|
||||
- `admin/static/js/app.js`:勾选计数、按钮状态、采购弹窗和采集弹窗支持按动作能力隔离。
|
||||
- `admin/service/*_test.go`、`admin/handler/web/others_test.go`、`admin/main_test.go`、`admin/syb_interaction_template_test.go`:覆盖状态能力、去重、整批拒绝、客户端权限、筛选保留、模板和 JavaScript 静态约束。
|
||||
- `docs/admin/05-ui-specification.md`:记录顺运宝批量采集和复选框语义。
|
||||
|
||||
## 验收结果
|
||||
|
||||
| 验收标准 | 结果 |
|
||||
|---|---|
|
||||
| PDD 待采集、采集失败可勾选,其他无批量动作阶段禁用并说明原因 | 通过 |
|
||||
| 批量采集弹窗显示兼容明细数并支持可见客户端或不指定 | 通过 |
|
||||
| 多条顺运宝明细关联同一 PDD 商品时只创建一个任务 | 通过 |
|
||||
| 混合勾选时采集和采购动作互不混入 | 通过 |
|
||||
| 不存在、不可采集或不可见客户端参数整批拒绝且不部分写入 | 通过 |
|
||||
| 操作后保留店铺、阶段、订单号和页码 | 通过 |
|
||||
| 单条采集、PDD 批量采集和采购任务既有规则不变 | 通过 |
|
||||
| Go 1.23 build/test/vet 和 JavaScript 语法检查通过 | 通过 |
|
||||
|
||||
## 测试
|
||||
|
||||
- 执行的命令:在 `admin/` 使用 `GOTOOLCHAIN=go1.23.0` 执行 `go test ./... -count=1`、`go vet ./...`、`go build ./...`,并执行 `node --check static/js/app.js`、`git diff --check`。
|
||||
- 结果:全部通过。
|
||||
- **没验证到的部分**:未部署生产,也未对生产店铺 `qwg8fkb044` 实际创建采集任务;避免在用户上线确认前改变线上任务和 PDD 商品状态。未进行登录后的真实浏览器人工点击验收,模板渲染、动作隔离和服务端行为已由自动化测试覆盖。
|
||||
|
||||
## 相关提交
|
||||
|
||||
- `b527204` 支持顺运宝批量创建采集任务
|
||||
Reference in New Issue
Block a user