Files
X-Financial/docs/superpowers/plans/2026-06-23-attachment-association-background-job.md
caoxiaozhu f9553a6a1a docs: 清理过期计划文档并补全 work-log 与开发/用户文档
- 删除已落地的 improvement-roadmap、superpowers 计划与 ui-mockups 参考稿,删除早期 work-log(2026-05-06~08)
- 新增 2026-05-23 起的 work-log 与 attachment-association-background-job、reimbursement-draft-action-branching 等开发文档及用户文档
- docker-compose(.full).yml 微调服务配置
2026-06-24 10:42:57 +08:00

1.3 KiB

附件自动关联后台任务实施计划

目标

把小财管家 AI 模式里的附件关联从前端会话内存任务改为后端可查询后台任务,保证用户退出或刷新当前会话后,附件关联仍能继续完成并可恢复状态。

执行清单

  • 定位当前断链根因:前端依赖 File 对象和内存 Map
  • 确认票据夹已有 receipt_id、源文件和关联状态能力。
  • 落开发方案文档。
  • 实现后端任务 schema 和内存任务池。
  • 实现后端任务 API。
  • 实现后端票据夹源文件归集到报销单明细。
  • 增加后端测试。
  • 实现前端任务创建、轮询和恢复。
  • 增加前端测试断言。
  • 执行容器后端定向测试。
  • 执行前端定向测试和构建。

验证结果

  • 后端定向测试:6 passed
  • 前端定向测试:12 passed
  • 前端构建:通过,保留既有 chunk size warning。
  • 运行时检查:新任务查询路由已加载,未知任务返回“附件关联任务不存在或已失效。”

关键决策

  • 第一版使用后端内存任务池和 FastAPI BackgroundTasks,解决前端会话断链。
  • 第一版不新增数据库任务表,服务重启后的任务恢复作为后续增强。
  • 前端消息只保存 job_id、状态和票据引用,不再保存附件原件。