feat(status): default legacy batches to normal
This commit is contained in:
@@ -9,6 +9,8 @@ created: 2026-07-18
|
||||
|
||||
# T-666 历史批次商品状态重检与更新引导
|
||||
|
||||
> 后续变更:T-667 已按产品决策移除本任务新增的状态重检入口,改为对商品状态功能上线前的活动历史批次自动默认「架上商品」。本任务保留为历史实现记录。
|
||||
|
||||
## 问题 / 背景
|
||||
|
||||
商品状态字段在 T-662a 才加入 SQLite。此前已采集、已生成新标题或新封面的历史任务,其 `product_status/product_status_at` 均为 NULL。T-662d 正确地将 NULL 归为状态未知并阻止③更新,避免未经状态确认的商品被提交线上;但③现有提示“回到①重新确认商品状态”无法执行,因为 `CollectWorker` 只处理 `stage=imported`,历史 `stage=generated/applied` 任务不会进入采集 Worker。直接把历史 NULL 批量写成 `normal` 没有页面事实依据,不能作为修复方案。
|
||||
@@ -60,3 +62,4 @@ git diff --check
|
||||
- ③预检将原始 NULL/空状态单列为「尚未检测商品状态」,真实 `unknown` 继续显示「状态未知」,前者直接引导①重检;两类记录均保持安全拦截。
|
||||
- 已更新 `docs/routes.md`、`docs/04-architecture.md`、`docs/api.md`,并补 worker、GUI、状态规划及编辑器测试。
|
||||
- 验证通过:`py -3.10 -m unittest discover -s tests`(624 项)、`py -3.10 -m ruff check app tests main.py`、`py -3.10 -m compileall app main.py`、`git diff --check`。
|
||||
- 2026-07-20:T-667 替代本任务的产品方案,移除重检入口及专用流程;历史批次改为数据库初始化时按上线时间迁移默认状态。
|
||||
|
||||
+10
-7
@@ -1,7 +1,7 @@
|
||||
---
|
||||
id: T-667
|
||||
title: 历史批次默认架上商品与移除状态重检入口
|
||||
status: TODO
|
||||
status: DONE
|
||||
phase: 7
|
||||
deps: [T-662a, T-662d, T-666]
|
||||
created: 2026-07-20
|
||||
@@ -22,11 +22,11 @@ T-662a 于 2026-07-18 16:34:37(本地时间)首次上线商品状态字段
|
||||
|
||||
## 验收标准
|
||||
|
||||
- [ ] 启动或 `db.init_db()` 后,状态功能上线时间前的活动批次中 NULL/空状态任务变为 `normal`,备注为历史默认语义,`product_status_at` 仍为空;重复初始化不重复改写。
|
||||
- [ ] 上线时间等于或晚于阈值的 NULL/空状态任务不迁移,已有四类状态也不覆盖,软删除批次不迁移。
|
||||
- [ ] ③历史默认 `normal` 记录可按原有标题/封面完整性规则进入更新;已保存 `unknown` 仍按「状态未知」阻断。
|
||||
- [ ] ①不再显示「重新检测商品状态」,运行中控件状态、采集活动计时、回写逻辑和正常采集不回归。
|
||||
- [ ] 不打开 Chrome、不访问商品详情页、不新增 AI 调用、不修改 Excel、不更新线上商品。
|
||||
- [x] 启动或 `db.init_db()` 后,状态功能上线时间前的活动批次中 NULL/空状态任务变为 `normal`,备注为历史默认语义,`product_status_at` 仍为空;重复初始化不重复改写。
|
||||
- [x] 上线时间等于或晚于阈值的 NULL/空状态任务不迁移,已有四类状态也不覆盖,软删除批次不迁移。
|
||||
- [x] ③历史默认 `normal` 记录可按原有标题/封面完整性规则进入更新;已保存 `unknown` 仍按「状态未知」阻断。
|
||||
- [x] ①不再显示「重新检测商品状态」,运行中控件状态、采集活动计时、回写逻辑和正常采集不回归。
|
||||
- [x] 不打开 Chrome、不访问商品详情页、不新增 AI 调用、不修改 Excel、不更新线上商品。
|
||||
|
||||
## 测试与文档
|
||||
|
||||
@@ -51,4 +51,7 @@ git diff --check
|
||||
|
||||
## 执行记录
|
||||
|
||||
- 待实现。
|
||||
- 在 `db.init_db()` 增加幂等历史状态迁移:仅迁移上线时间前、未软删除批次的 NULL/空状态任务,写入 `normal` 和明确的历史默认备注,保留 `product_status_at=NULL`。
|
||||
- 移除 T-666 的①「重新检测商品状态」入口、专用 Worker、编辑器流程、运行日志及其③引导;常规采集的实时状态读取保持不变。
|
||||
- 更新架构、路由和 API 文档,并在 T-666 保留历史执行记录及其被替代说明。
|
||||
- 验证通过:`py -3.10 -m unittest discover -s tests`(619 项)、`py -3.10 -m ruff check app tests main.py`、`py -3.10 -m compileall app main.py`、`git diff --check`。
|
||||
|
||||
Reference in New Issue
Block a user