Files
cmautobuy/docs/task/136-pdd任务列表显示店铺名和最新执行用时.md
T
2026-08-11 11:18:15 +08:00

2.0 KiB
Raw Blame History

#136 PDD 任务列表显示店铺名和最新执行用时

背景与目标

任务列表直接展示采集到的店铺名和最近一次采集或采购用时,方便采购人员快速判断任务结果和性能。

最终方案

SQLite 升级到 v5,增加轻量 shop_name 摘要列并从有效的历史 pdd_data.shop_name 回填。保存新结果时同步该摘要。列表查询在同一条 SQL 中关联最新一条 task_runs,返回执行状态和整秒用时,不读取完整 JSON,也不逐行查询。

改了哪些

  • client/src/db_schema.py:增加 v5 迁移和历史店铺名回填。
  • client/src/task_repository.py:保存店铺名,并用单条列表 SQL 查询最新执行用时。
  • client/src/task_models.py:扩展轻量任务摘要。
  • client/src/pdd_ui.py、client/src/pdd_ui_event.py:增加“店铺名”“用时”列。
  • client/test/:覆盖迁移、摘要、负用时保护和表格列。
  • docs/client/03-data-model.md、05-ui-specification.md:更新稳定基线。

验收结果

验收标准 结果
SQLite v5 增加店铺名并安全回填历史有效 JSON 通过
保存采集或采购结果时同步店铺名摘要 通过
列表单条 SQL 获取最新执行记录,不读取完整 pdd_data 通过
已结束显示整数秒,执行中显示“进行中”,负值按 0 秒 通过
表格按确认顺序显示 11 列且空表仍保留 通过

测试

  • 执行的命令:在 client 目录分别运行 test_db.py、test_task_repository.py、test_pdd_ui.py、test_pdd_ui_event.py 的 unittest discover。
  • 结果:通过,共 96 项。
  • 没验证到的部分:未用生产 SQLite 副本执行迁移;未用真机完成一次采集和采购后人工检查列表。

相关提交

  • e354ddd 任务列表显示店铺名和执行用时