Files
junhong_cmp_fiber/.scratch/ur49-device-batch-allocation-csv/issues/01-device-batch-allocation-foundation.md
2026-07-23 13:03:30 +09:00

2.3 KiB
Raw Blame History

01 — 建立设备 CSV 批量任务与受控上传基础设施

What to build: 为设备 CSV 批量分配提供可复用的任务基础设施:运营人员能够取得仅允许 CSV 的受控上传地址;系统可持久化并追踪异步任务,严格校验、解析和去重单列表格,安全记录行级失败,并仅以任务 ID 向异步队列投递任务。

Blocked by:

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 条标识。