docs: 归档任务 #74
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
# 74 Admin:PDD 批量采集任务支持可选客户端
|
||||
|
||||
- 类型:需求
|
||||
- 父级大工单:#14
|
||||
- 所属 MVP / 版本:#15 Admin 四模块可用闭环
|
||||
- 状态:已完成,待用户验收
|
||||
- 日期:2026-08-10
|
||||
- Gitea 工单:<http://ilaer.eicp.net:8418/chengma/cmautobuy/issues/74>
|
||||
|
||||
## 背景与目标
|
||||
|
||||
PDD 商品页原来批量创建的采集任务全部不指定客户端。现在允许采购员在有明确执行机器时选择客户端,同时保留“不指定(任意客户端可领取)”作为默认值。
|
||||
|
||||
## 最终方案
|
||||
|
||||
- 批量按钮先打开确认弹窗,显示已选商品数和带标签的“执行客户端”下拉框。
|
||||
- 默认不指定客户端,任务保持 `pending` 且 `assigned_client` 为 `NULL`。
|
||||
- 指定客户端后,任务以 `assigned` 状态创建,只能由该客户端领取。
|
||||
- 管理员可以选择全部已登记客户端;采购员只能选择当前绑定给自己的客户端。服务端在事务内重新校验,不能依赖页面选项。
|
||||
- 保留原有不指定客户端的 service/repository 入口,蝦皮和顺运宝采集流程不受影响。
|
||||
- 不改数据库结构,不改 Client 四接口;指定客户端离线时不自动改派。
|
||||
|
||||
## 改了哪些
|
||||
|
||||
- `admin/templates/pdd/list.html`:增加批量采集确认弹窗、默认选项和离线等待说明。
|
||||
- `admin/static/js/app.js`:同步已选数量,并在提交时显示“创建中”反馈。
|
||||
- `admin/handler/web/pdd.go`:加载当前账号可见客户端,解析可选客户端并区分表单错误和内部错误。
|
||||
- `admin/service/pdd.go`:增加带账号权限校验的可选客户端批量创建入口,保留原兼容入口。
|
||||
- `admin/repository/task.go`:按可选客户端写入对应的初始状态和归属。
|
||||
- `admin/service/pdd_page_test.go`:覆盖默认无主、指定领取、越权拒绝和整批回滚。
|
||||
|
||||
## 验收结果
|
||||
|
||||
| 验收标准 | 结果 |
|
||||
|---|---|
|
||||
| 批量按钮打开含已选数量和客户端字段的确认弹窗 | 通过(模板与脚本检查) |
|
||||
| 默认创建 `pending/NULL` 任务 | 通过 |
|
||||
| 指定后创建 `assigned/指定客户端` 任务 | 通过 |
|
||||
| 管理员全部可见、采购员只见当前绑定客户端 | 通过 |
|
||||
| 伪造不可见客户端时整批拒绝且无部分写入 | 通过 |
|
||||
| 原有去重、状态跳过和超时重建规则保持 | 通过 |
|
||||
| 蝦皮、顺运宝入口及 Client 四接口不变 | 通过(保持原调用入口且全量测试通过) |
|
||||
| 1366×768 可操作、字段有标签和明确反馈 | 未人工验证;代码检查通过 |
|
||||
|
||||
## 测试
|
||||
|
||||
- 执行的命令:
|
||||
- `gofmt -w handler/web/pdd.go service/pdd.go repository/task.go service/pdd_page_test.go`
|
||||
- `$env:GOTOOLCHAIN='go1.23.0'; go build ./...; go test ./... -count=1; go vet ./...`
|
||||
- `node --check static/js/app.js`
|
||||
- `git diff --check`
|
||||
- 结果:固定 Go 1.23.0 的构建、全量测试和静态检查全部通过;JavaScript 语法与 Git 空白检查通过。
|
||||
- **没验证到的部分**:未在浏览器中进行 1366×768 人工点击验收;未连接真实 Client 领取任务。没有执行真实采购或下单。
|
||||
|
||||
## 相关提交
|
||||
|
||||
- `d99c813` PDD 批量采集支持可选客户端
|
||||
Reference in New Issue
Block a user