docs: 归档任务 #121
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
# 121 Admin:允许已采集 PDD 商品明确重新采集
|
||||
|
||||
- 类型:缺陷
|
||||
- 父级大工单:#14
|
||||
- 所属 MVP / 版本:#15 Admin 四模块可用闭环
|
||||
- 状态:已完成
|
||||
- 日期:2026-08-10
|
||||
- Gitea 工单:http://ilaer.eicp.net:8418/chengma/cmautobuy/issues/121
|
||||
|
||||
## 背景与目标
|
||||
|
||||
PDD 商品详情虽然显示“重新采集”,但原先复用普通批量采集入口。普通入口会按既有规则
|
||||
跳过已采集商品,因此不会创建任务,“采集采购”模块也没有对应记录。本任务让详情页的
|
||||
明确重新采集操作可以创建任务,同时保留批量入口的防误重采规则。
|
||||
|
||||
## 最终方案
|
||||
|
||||
- 增加独立的 `/pdd/recollect` Web 入口和单商品 Service 方法。
|
||||
- Repository 使用条件更新原子占用状态,允许 `collected`、`pending`、`failed` 和超时
|
||||
`collecting` 进入采集中;未超时的 `collecting` 不重复建任务。
|
||||
- 重新采集只更新状态并插入任务,不清空标题、店铺、规格、价格和采集时间;Client 成功
|
||||
提交后继续由原有结果提交逻辑覆盖。
|
||||
- 详情弹窗允许选择当前账号可见的 Client,默认不指定;服务端重新校验可见范围。
|
||||
- 普通批量 `/pdd/collect` 及其“已采集商品跳过”规则保持不变。
|
||||
|
||||
实现与建单方案一致,无数据库迁移,不改变 Client 四接口。
|
||||
|
||||
## 改了哪些
|
||||
|
||||
- `admin/repository/pdd.go`:增加重新采集专用的原子状态占用方法。
|
||||
- `admin/service/pdd.go`:增加单商品重新采集事务编排、权限校验和任务创建。
|
||||
- `admin/handler/web/pdd.go`、`admin/handler/web/web.go`:增加详情重采处理器和路由,并加载可选 Client。
|
||||
- `admin/templates/pdd/edit_modal.html`:详情按钮改用独立入口,增加执行客户端选择和旧结果保留提示。
|
||||
- `admin/service/pdd_page_test.go`、`admin/main_test.go`:增加重采成功、防重复、越权回滚和模板入口测试。
|
||||
- `docs/admin/01-requirements.md`、`docs/admin/05-ui-specification.md`:记录稳定业务和界面规则。
|
||||
|
||||
## 验收结果
|
||||
|
||||
| 验收标准 | 结果 |
|
||||
|---|---|
|
||||
| 已采集商品明确重采时创建一条任务并进入采集中 | 通过 |
|
||||
| 任务创建后旧标题、规格、价格和采集时间仍保留 | 通过 |
|
||||
| 连续点击不会产生第二条未超时任务 | 通过 |
|
||||
| 失败和超时状态仍可按状态条件重新创建 | 通过 |
|
||||
| 普通批量入口继续跳过已采集商品 | 通过 |
|
||||
| 不可见 Client 被拒绝且状态、任务完整回滚 | 通过 |
|
||||
| 不修改数据库结构和 Client 四接口 | 通过 |
|
||||
| Go build、test、vet 通过 | 通过 |
|
||||
|
||||
## 测试
|
||||
|
||||
- 执行的命令:`GOTOOLCHAIN=go1.23.0 go build ./...`、`go test ./... -count=1`、`go vet ./...`、`git diff --check`
|
||||
- 结果:Admin 全部包构建成功,全部自动化测试通过,vet 和差异检查无报错。
|
||||
- **没验证到的部分**:未在真实浏览器中人工点击详情弹窗;未让真实 Client 领取并完成本次重新采集任务。
|
||||
|
||||
## 相关提交
|
||||
|
||||
- `546d9ef` fix: 允许已采集 PDD 商品重新采集 (#121)
|
||||
Reference in New Issue
Block a user