Files
junhong_cmp_fiber/docs/unified-export-task-system/手工验证清单.md
huang fe4c545308
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 7m55s
修正数据
2026-04-27 18:10:08 +08:00

2.1 KiB
Raw Blame History

统一导出任务手工验证清单

验证工具与原则

  • 数据库结构与数据状态:使用 PostgreSQL MCP只读
  • 接口契约验证:使用 Postman 或 curl
  • 明确约束:不新增自动化测试文件(*_test.go

A. 创建导出任务

  • POST /api/admin/export-tasksscene=deviceformat=xlsx
  • POST /api/admin/export-tasksscene=iot_cardformat=csv
  • 非法 scene(如 order)返回参数错误
  • 非法 format(如 pdf)返回参数错误

B. 列表与过滤

  • GET /api/admin/export-tasks?page=1&page_size=20 默认分页生效
  • scene 过滤生效(device / iot_card
  • status 过滤生效1~5
  • start_time/end_time 时间过滤生效
  • page_size > 100 时被限制到 100

C. 详情与下载

  • 未完成任务详情不返回 download_url
  • 已完成任务详情返回 download_url
  • download_url 有效期固定 24 小时
  • 过期后再次访问详情可刷新新链接

D. 取消语义

  • 待处理任务可取消,状态立即变为已取消
  • 处理中任务可提交取消请求(cancel_requested=true
  • 已完成/已失败/已取消任务再次取消被拒绝
  • 重复取消处理中任务幂等返回

E. 异步链路dispatch -> shard -> finalize

  • 创建任务后 export:dispatch 被消费
  • 分片任务写入 tb_export_shard_task
  • export:shard 执行后分片状态更新,产物写入 OSS
  • export:finalize 汇总后主任务状态收敛
  • 分片失败时主任务最终失败,错误信息可追踪

F. 数据权限与可见性

  • 平台用户可见全量任务
  • 代理仅可见其店铺范围任务
  • 越权访问详情统一返回:无权限操作该资源或资源不存在

G. 数据库核查项PostgreSQL MCP

  • tb_export_task 表存在,字段与注释完整
  • tb_export_shard_task 表存在,字段与注释完整
  • 关键索引存在并生效(任务号唯一索引、task_id+statusscene+status+created_at