feat(collect): support soft deletion of one task
This commit is contained in:
+10
-7
@@ -1,7 +1,7 @@
|
||||
---
|
||||
id: T-670
|
||||
title: 导入采集单条任务软删除
|
||||
status: TODO
|
||||
status: DONE
|
||||
phase: 7
|
||||
deps: []
|
||||
created: 2026-07-20
|
||||
@@ -23,11 +23,11 @@ created: 2026-07-20
|
||||
|
||||
## 验收标准
|
||||
|
||||
- [ ] 右键任务行只弹菜单,点击「删除本条记录」后才弹确认框;取消不改变任何数据。
|
||||
- [ ] 确认后任务被软删除,立即不再出现在①、②、③列表、筛选、采集、生成、更新、回写和默认统计中;其他同批次任务保持不变。
|
||||
- [ ] 已提交线上任务的确认框说明本地删除不回滚线上;原 Excel、本地图片与任务历史字段均未被物理删除。
|
||||
- [ ] 已删除或正在处理任务不能被重复删除,相关 API 事务安全且不产生半删除状态。
|
||||
- [ ] `tests/test_db.py` 覆盖 schema 迁移、默认排除、单条读取和重复/运行中保护;`tests/test_gui.py` 覆盖右键选中、确认/取消、已提交提示和删除后刷新。
|
||||
- [x] 右键任务行只弹菜单,点击「删除本条记录」后才弹确认框;取消不改变任何数据。
|
||||
- [x] 确认后任务被软删除,立即不再出现在①、②、③列表、筛选、采集、生成、更新、回写和默认统计中;其他同批次任务保持不变。
|
||||
- [x] 已提交线上任务的确认框说明本地删除不回滚线上;原 Excel、本地图片与任务历史字段均未被物理删除。
|
||||
- [x] 已删除或正在处理任务不能被重复删除,相关 API 事务安全且不产生半删除状态。
|
||||
- [x] `tests/test_db.py` 覆盖 schema 迁移、默认排除、单条读取和重复/运行中保护;`tests/test_gui.py` 覆盖右键选中、确认/取消、已提交提示和删除后刷新。
|
||||
|
||||
## 验证
|
||||
|
||||
@@ -48,4 +48,7 @@ git diff --check
|
||||
|
||||
## 执行记录
|
||||
|
||||
- 待实现。
|
||||
- 为 `tasks` 增加 `deleted_at/deleted_reason` 兼容迁移和索引,新增事务化 `db.delete_task()`;默认 `list_tasks/get_task` 同时排除已删除批次和已删除任务,历史商品状态迁移也跳过已删除任务。
|
||||
- ①任务表新增右键「删除本条记录」菜单和确认框,已提交线上任务显示不回滚提示;成功后刷新①并通过既有回调刷新②/③。运行中入口禁用,数据库拒绝 `running` 或已删除任务。
|
||||
- 更新架构、API 和路由文档,明确单条软删除不删除 Excel、图片、账号 Chrome 数据或线上商品。
|
||||
- 验证通过:`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`。
|
||||
|
||||
Reference in New Issue
Block a user