docs(tasks): remove mistaken T-603 task
This commit is contained in:
@@ -1,113 +0,0 @@
|
||||
---
|
||||
id: T-603
|
||||
title: ②/③ 重置持久化标记与商品ID列语义色
|
||||
phase: 7
|
||||
deps: [T-404a, T-511, T-534, T-554, T-566, T-577]
|
||||
status: TODO
|
||||
created: 2026-07-11
|
||||
---
|
||||
|
||||
## 问题 / 背景
|
||||
|
||||
②AI生成和③更新蝦皮已经支持多种重置:
|
||||
|
||||
- ②「重置生成结果」可重置标题、封面或全部。
|
||||
- ②封面画廊「重置图片」可只清当前封面指针,退出后批量补生成。
|
||||
- ③「重置更新状态」可把已更新/失败任务退回待更新,方便重新提交测试或正式重跑。
|
||||
|
||||
但当前重置只改变 `new_title/new_cover_path/stage/status/last_error` 等业务字段,没有一个明确的“这条记录是用户手动重置后待处理”的持久化标记。用户刷新列表、切换批次、重启软件后,很难快速看出哪些商品是刚刚被人工重置过、需要重点补生成或重新更新。
|
||||
|
||||
需要增加**持久化标记 + 商品ID列语义色**:被重置且仍待处理的任务,在②/③表格的「商品ID」列用 warning 语义色突出;补生成或重新更新成功后自动清除标记。
|
||||
|
||||
## 方案
|
||||
|
||||
### 1. DB 持久化标记
|
||||
|
||||
在 `tasks` 表做兼容迁移,新增轻量字段:
|
||||
|
||||
- `generation_reset_flags TEXT NOT NULL DEFAULT ''`
|
||||
- 取值为空、`title`、`cover`、`title,cover`。
|
||||
- 表示②生成结果被人工重置后,哪些组件仍处于“待补生成/待恢复”状态。
|
||||
- `generation_reset_at TEXT`
|
||||
- 最近一次②生成结果重置时间,用于 tooltip 或诊断。
|
||||
- `apply_reset_pending INTEGER NOT NULL DEFAULT 0`
|
||||
- ③更新状态是否被人工重置后仍待重新更新。
|
||||
- `apply_reset_at TEXT`
|
||||
- 最近一次③更新状态重置时间,用于 tooltip 或诊断。
|
||||
|
||||
同步更新 `Task` dataclass、row 映射、schema 初始化和重复初始化迁移测试。
|
||||
|
||||
### 2. 标记写入与清除
|
||||
|
||||
- `db.reset_generated(..., reset_title=True/False, reset_cover=True/False)`:
|
||||
- 根据本次重置组件把 `generation_reset_flags` 写为 `title` / `cover` / `title,cover`。
|
||||
- 反复重置时合并组件,不丢旧标记。
|
||||
- 写入 `generation_reset_at=now`。
|
||||
- ②封面画廊「重置图片」复用 `reset_generated(reset_title=False, reset_cover=True)`,自动得到 `cover` 标记。
|
||||
- `db.update_generated_title()`:
|
||||
- 用户手动填回/修改新标题成功时,清除 `title` 标记。
|
||||
- `db.update_generated_cover()`:
|
||||
- 用户从历史候选图保存为当前封面时,清除 `cover` 标记。
|
||||
- `db.set_generated()` / AI 批量生成成功写库:
|
||||
- 成功写入 `new_title` 时清除 `title` 标记。
|
||||
- 成功写入 `new_cover_path` 时清除 `cover` 标记。
|
||||
- 两个组件都清完后 `generation_reset_flags=''`;`generation_reset_at` 可保留最近时间,不驱动颜色。
|
||||
- `db.reset_apply_status()`:
|
||||
- 写入 `apply_reset_pending=1`、`apply_reset_at=now`。
|
||||
- `db.set_applied(... committed=True ...)`:
|
||||
- 重新更新成功后清除 `apply_reset_pending=0`。
|
||||
- 更新失败不清除,继续提醒该商品仍是重置后待处理。
|
||||
|
||||
### 3. 商品ID列语义色
|
||||
|
||||
只改商品ID列,不刷整行背景,不覆盖状态列颜色:
|
||||
|
||||
- ② `GenerateTaskTableModel`
|
||||
- 商品ID列(列 1)如果 `generation_reset_flags` 非空,`Qt.ForegroundRole` 返回 `COLOR_WARNING`。
|
||||
- tooltip 增加中文说明,例如:
|
||||
- `该商品已重置标题,需重新生成标题`
|
||||
- `该商品已重置图片,需重新生成或从候选图保存图片`
|
||||
- `该商品已重置标题和图片,需重新生成后再更新`
|
||||
- ③ `ApplyTaskTableModel`
|
||||
- 商品ID列(列 1)如果 `apply_reset_pending=1`,`Qt.ForegroundRole` 返回 `COLOR_WARNING`。
|
||||
- tooltip 增加中文说明:`该商品已重置更新状态,需重新更新蝦皮`。
|
||||
- 颜色取自 T-511/T-543 既有语义色板,不新增随意颜色。
|
||||
- 失败仍通过状态列/结果列显示 danger;商品ID warning 只表达“人工重置后待处理”,不表达失败。
|
||||
|
||||
### 4. 筛选和日志
|
||||
|
||||
- 第一版不新增“只看已重置”筛选,避免扩大范围;用户可通过商品ID列颜色快速识别。
|
||||
- 既有 `run_type=reset` 运行日志保留;本任务只补 DB 活跃标记。
|
||||
- Excel 回写不新增字段,不把重置标记写回运营 Excel。
|
||||
|
||||
## 验收要点
|
||||
|
||||
- ②重置标题后,刷新列表/重启软件仍能看到该商品ID列为 warning 色,tooltip 说明需重新生成标题。
|
||||
- ②重置封面或画廊「重置图片」后,商品ID列为 warning 色;从历史候选图点「保存」或 AI 成功补生成封面后,warning 色消失。
|
||||
- ②重置全部后,只有标题和图片都重新补齐后,商品ID列才恢复普通颜色。
|
||||
- ③重置更新状态后,③表格商品ID列为 warning 色;重新更新成功后恢复普通颜色,更新失败则继续保留 warning 标记。
|
||||
- 标记跨列表刷新、批次切换、软件重启持久存在;不是内存变量。
|
||||
- 任务失败的状态列/结果列仍按 T-511 显示 danger,不被商品ID warning 逻辑破坏。
|
||||
- 单测覆盖:
|
||||
- schema 迁移和旧库重复初始化。
|
||||
- `reset_generated` 写入/合并/清除 `generation_reset_flags`。
|
||||
- `update_generated_title`、`update_generated_cover`、`set_generated` 清除对应组件标记。
|
||||
- `reset_apply_status` 写入、`set_applied(success)` 清除、失败不清除。
|
||||
- ②/③ TableModel 商品ID列 `ForegroundRole` 和 tooltip。
|
||||
- 验证命令:
|
||||
- `python -m ruff check app tests main.py`
|
||||
- `py -3.10 -m compileall app main.py`
|
||||
- `py -3.10 -m unittest discover -s tests`
|
||||
- `git diff --check`
|
||||
|
||||
## 边界(不改什么)
|
||||
|
||||
- 不改 AI/cmhub 请求、并发、重试、下载保存逻辑。
|
||||
- 不改 Shopee/CDP 更新流程,不因为颜色标记自动提交或自动生成。
|
||||
- 不新增 Excel 字段,不回写重置标记。
|
||||
- 不新增筛选条件,不做整行底色,不改变现有状态列/结果列文案。
|
||||
- 不把“曾经重置过”的历史永久高亮;高亮只代表“重置后仍待处理”。历史仍以 run_logs 为准。
|
||||
|
||||
## 执行记录
|
||||
|
||||
(完成后记录 schema 字段、标记清除口径、GUI 颜色与验证命令。)
|
||||
Reference in New Issue
Block a user