feat(apply): filter updates by product status

This commit is contained in:
chengma
2026-07-20 10:35:38 +08:00
parent fa101c16ce
commit ffc4cd8ca2
4 changed files with 75 additions and 11 deletions
+10 -7
View File
@@ -1,7 +1,7 @@
---
id: T-672
title: 更新蝦皮商品状态筛选与更新状态命名
status: TODO
status: DONE
phase: 7
deps: [T-671]
created: 2026-07-20
@@ -24,11 +24,11 @@ created: 2026-07-20
## 验收标准
- [ ] ③筛选行显示「商品状态」和「更新状态」两个明确标签,商品状态位于更新状态左侧。
- [ ] 筛选「商品状态=架上商品」后点击检查或开始更新,只从该筛选结果构建候选,不会扫描同批次其他未上架、审核中或未知商品。
- [ ] 商品状态筛选可与更新状态、批次、店铺、商品 ID 叠加;确认框显示当前商品状态筛选和最终可执行数量。
- [ ] 选择未上架、审核中、状态未知或待检测后,检查/开始更新仍被既有状态预检阻止,不创建 `ApplyWorker`、不打开 Chrome、不提交蝦皮。
- [ ] `tests/test_gui.py` 与商品状态计划测试覆盖筛选交集、确认范围文本、只从当前模型任务取候选,以及异常状态无法绕过预检。
- [x] ③筛选行显示「商品状态」和「更新状态」两个明确标签,商品状态位于更新状态左侧。
- [x] 筛选「商品状态=架上商品」后点击检查或开始更新,只从该筛选结果构建候选,不会扫描同批次其他未上架、审核中或未知商品。
- [x] 商品状态筛选可与更新状态、批次、店铺、商品 ID 叠加;确认框显示当前商品状态筛选和最终可执行数量。
- [x] 选择未上架、审核中、状态未知或待检测后,检查/开始更新仍被既有状态预检阻止,不创建 `ApplyWorker`、不打开 Chrome、不提交蝦皮。
- [x] `tests/test_gui.py` 与商品状态计划测试覆盖筛选交集、确认范围文本、只从当前模型任务取候选,以及异常状态无法绕过预检。
## 验证
@@ -49,4 +49,7 @@ git diff --check
## 执行记录
- 待实现。
- ③筛选行新增「商品状态」下拉,原「状态」改名为「更新状态」;商品状态与批次、店铺、商品 ID、更新状态共同筛选当前 `model.tasks`。
- 确认检查/开始更新弹窗新增当前商品状态与更新状态范围;启动前仍重新执行 `build_apply_plan()`,异常商品状态不会创建 `ApplyWorker` 或打开 Chrome。
- 更新路由文档,并补充筛选交集、确认范围文本和未上架商品预检阻断的 GUI 回归测试。
- 验证通过:`py -3.10 -m unittest discover -s tests`(623 项)、`py -3.10 -m ruff check app tests main.py`、`py -3.10 -m compileall app main.py`、`git diff --check`。