- dropdown sits left of the renamed 任务状态 label in all three tabs - option wording aligned with platform text: 审核中 not 未审核, 未知 not 其他 - clarify the status filter scopes collection candidates in ① (the existing model.tasks mechanism), default 全部 so first-round collection of unknown-status imports still works - reinforce composite defaults 可生成/可更新 include unknown so legacy batches are not blocked Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
60 lines
3.2 KiB
Markdown
60 lines
3.2 KiB
Markdown
---
|
|
id: T-662b
|
|
title: 导入采集商品状态展示、筛选与汇总
|
|
status: TODO
|
|
phase: 7
|
|
deps: [T-662a]
|
|
created: 2026-07-18
|
|
---
|
|
|
|
# T-662b 导入采集商品状态展示、筛选与汇总
|
|
|
|
## 问题 / 背景
|
|
|
|
T-662a 落库商品状态后,①导入采集需要让运营看见状态快照、按状态定位记录,并在本轮采集结束时知道异常商品数量。
|
|
|
|
## 方案
|
|
|
|
- ①任务表增加「商品状态」列,显示 `正常/未上架/审核中/未知`。
|
|
- `未上架/审核中` 使用警示色,`未知` 使用中性提示色;不使用红色冒充任务失败。
|
|
- tooltip 显示状态说明、`product_status_note` 和快照时间;note 为空时不展示空段落。
|
|
- 现有「状态」标签改为「任务状态」,新增独立「商品状态」下拉,避免两个状态含义混淆;**「商品状态」下拉放在「任务状态」label 左边**(需求定稿位置)。
|
|
- 商品状态筛选:`全部`(默认)/`正常`/`未上架`/`审核中`/`未知`;与批次、店铺、商品ID、任务状态叠加。
|
|
- 选项术语与平台原文对齐:用「审核中」不用「未审核」(编辑页横幅原文「審核中」、卖家中心页签同名);未知桶叫「未知」不叫「其他」(含历史 NULL、检测失败与未识别横幅,不代表异常)。
|
|
- ①默认「全部」的理由必须保持:新导入商品状态均为未知,若默认筛「正常」首轮采集列表为空;「筛正常再采集」是重采场景的用法。
|
|
- **商品状态筛选与既有筛选一致,参与圈定采集候选**:采集执行当前筛选结果(`collect_old_data()` 取 `model.tasks` 的现机制不变),用户筛「正常」后点采集即只重采正常商品。本任务不改动候选圈定机制本身,也不改变执行顺序。
|
|
- 采集结束汇总增加:异常状态总数、未上架数、审核中数、未知数;只统计本轮成功完成状态检测的结果,不把采集失败重复算入异常。
|
|
- 运行中禁用新增筛选,结束后恢复。
|
|
|
|
## 验收标准
|
|
|
|
- [ ] 历史 NULL 显示「未知」,不会崩溃或隐藏。
|
|
- [ ] 状态列颜色、tooltip 和筛选结果正确,刷新后保持仍有效的筛选值;「商品状态」下拉位于「任务状态」左边。
|
|
- [ ] 商品状态筛选参与采集候选:筛「正常」后点采集,未知/异常记录不进 CollectWorker;默认「全部」时新导入(未知)商品正常可采。
|
|
- [ ] 汇总区分未上架、审核中和未知,不改变原成功/失败/略过统计。
|
|
- [ ] 1180x760 与最小窗口下筛选栏、表格标题不重叠或截断。
|
|
- [ ] 本任务只展示与筛选,不阻断采集、不修改 stage/status/Excel。
|
|
|
|
## 测试与文档
|
|
|
|
- `tests/test_gui.py` 覆盖列显示、颜色、tooltip、组合筛选、运行态和汇总。
|
|
- 更新 `docs/routes.md`、`docs/04-architecture.md` 和 `docs/api.md`。
|
|
|
|
## 验证
|
|
|
|
```bash
|
|
py -3.10 -m unittest tests.test_gui
|
|
py -3.10 -m unittest discover -s tests
|
|
py -3.10 -m ruff check app tests main.py
|
|
py -3.10 -m compileall app main.py
|
|
git diff --check
|
|
```
|
|
|
|
## 非目标
|
|
|
|
- 不改变②③行为,不自动删除异常商品,不回写商品状态到 Excel。
|
|
|
|
## 执行记录
|
|
|
|
- 待实现。
|