# 03 — 完成 CSV 批量分配套餐系列接口闭环

**What to build:** 平台员工或代理提交已上传的 CSV 与套餐系列后，系统创建并执行批量系列设置任务；后台重新验证实时授权和设备范围后安全更新系列、写入审计，并提供可供前端展示进度、汇总和失败详情的任务查询结果。

**Blocked by:** 01 — 建立设备 CSV 批量任务与受控上传基础设施。

**Status:** ready-for-agent

**架构通道：** 主通道为复杂写，辅助通道为 Query。

**完整业务边界：** 本票收口任务提交、执行时实时权限重验、唯一设备匹配、套餐系列条件更新、幂等/并发处理、实际变更审计和任务详情安全读取。复杂写必须遵循 `Handler → Application UseCase → Domain → Repository/Infrastructure`；授权、设备范围、并发与审计规则完整收口，不拆散到旧 Service。

**明确不迁移：** 不迁移既有同步系列绑定入口；不得修改设备归属、设备状态或绑定卡归属，也不实现清除套餐系列。

- [ ] `batch-assign-series` 只接受 `file_key` 与正套餐系列 ID，提交时校验操作者、目标系列及授权，并返回前端轮询所需的任务创建结果。
- [ ] 平台沿用既有系列范围；代理仅能操作自己名下设备和当前有效授权系列，Worker 执行时重新确认账号状态、店铺关系及授权。
- [ ] 同目标系列按幂等成功处理；不同系列经 Application、Domain 和 Repository/Infrastructure 按既有规则条件更新，历史重复 IMEI 或跨字段多命中不会任取设备，并发变更不会被覆盖。
- [ ] 任务详情由 Query 只读负责权限、批量加载和 DTO 投影；终态、部分成功及全行业务失败均以统一契约准确表达，且审计与失败明细不泄露其他店铺或底层错误信息。
