23 lines
2.3 KiB
Markdown
23 lines
2.3 KiB
Markdown
# 01 — 建立设备 CSV 批量任务与受控上传基础设施
|
||
|
||
**What to build:** 为设备 CSV 批量分配提供可复用的任务基础设施:运营人员能够取得仅允许 CSV 的受控上传地址;系统可持久化并追踪异步任务,严格校验、解析和去重单列表格,安全记录行级失败,并仅以任务 ID 向异步队列投递任务。
|
||
|
||
**Blocked by:**
|
||
|
||
- [.scratch/ur36-bulk-package-purchase/issues/02-controlled-upload-object-ownership.md](../../ur36-bulk-package-purchase/issues/02-controlled-upload-object-ownership.md) — 02 — 交付受控直传与对象归属证明
|
||
- [.scratch/tech-public-foundation/issues/06-unified-async-task-contract.md](../../tech-public-foundation/issues/06-unified-async-task-contract.md) — 06 — 冻结统一异步任务五态和查询契约
|
||
- [.scratch/tech-global-audit/issues/01-audit-event-write-loop.md](../../tech-global-audit/issues/01-audit-event-write-loop.md) — 01 — 交付不可变 Audit Event 写入闭环
|
||
|
||
**Status:** ready-for-agent
|
||
|
||
**架构通道:** Infrastructure(辅助:简单写 Application)。
|
||
|
||
**完整业务边界:** 本票收口受控上传用途、设备批量任务持久化与五态生命周期、CSV 文件级/行级校验边界、去重、失败明细、最小队列载荷及任务创建/终态审计。简单任务记录使用 Application 事务脚本,不为任务表创建空洞聚合。
|
||
|
||
**明确不迁移:** 不迁移既有 Excel 设备导入、同步设备分配、同步套餐系列绑定及其他未触碰异步任务。
|
||
|
||
- [ ] `device_batch_allocation` 受控用途只生成 `.csv` 对象键,默认 `text/csv`,并拒绝错误扩展名、用途、对象归属、实际类型或不存在的对象。
|
||
- [ ] 独立任务保存命令、目标、操作者快照、五态、汇总、脱敏失败明细和中文错误摘要;创建任务或入队失败不会留下永久处理中任务,并写统一 Audit Event。
|
||
- [ ] CSV 支持 UTF-8(含 BOM)、LF/CRLF 和固定单列表头;在任何业务写入前拒绝文件级错误,逐行保留空值、非法标识、未找到及重复行失败,且保持 `total_count = success_count + fail_count`。
|
||
- [ ] 异步载荷仅为结构化 `task_id`,不含文件字节、临时路径或敏感上下文;下载后的解析和后续批量查询契约支持每批最多 200 条标识。
|