修正数据
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 7m55s

This commit is contained in:
2026-04-27 18:10:08 +08:00
parent bb33232b1b
commit fe4c545308
57 changed files with 4477 additions and 226 deletions

View File

@@ -0,0 +1,56 @@
# 统一导出任务手工验证清单
## 验证工具与原则
- 数据库结构与数据状态:使用 PostgreSQL MCP只读
- 接口契约验证:使用 Postman 或 curl
- 明确约束:不新增自动化测试文件(`*_test.go`
## A. 创建导出任务
- [ ] `POST /api/admin/export-tasks``scene=device``format=xlsx`
- [ ] `POST /api/admin/export-tasks``scene=iot_card``format=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+status``scene+status+created_at`