ur49 issues创建

This commit is contained in:
2026-07-23 12:51:52 +09:00
parent 59f920bea2
commit b741d8af66
4 changed files with 56 additions and 0 deletions

View File

@@ -0,0 +1,14 @@
# 01 — 建立设备 CSV 批量任务与受控上传基础设施
**What to build:** 为设备 CSV 批量分配提供可复用的任务基础设施:运营人员能够取得仅允许 CSV 的受控上传地址;系统可持久化并追踪异步任务,严格校验、解析和去重单列表格,安全记录行级失败,并仅以任务 ID 向异步队列投递任务。
**Blocked by:** None — can start immediately.
**Status:** ready-for-agent
**架构通道:** 主通道为 Infrastructure + Application。此任务建立任务生命周期、对象存储用途和 CSV 解析边界;不迁移既有同步设备分配、套餐系列绑定及设备导入用例。
- [ ] 受控上传用途只生成 `.csv` 对象键,并拒绝错误扩展名、用途、类型或不存在的对象。
- [ ] 独立任务可记录五态生命周期、汇总、脱敏失败明细和中文错误摘要;入队失败不会遗留永久处理中任务。
- [ ] CSV 支持 UTF-8含 BOM、LF/CRLF 和固定单列表头,并在任何写入前拒绝文件级错误;行级错误、重复行和计数关系可准确保留。
- [ ] 异步载荷只包含结构化 `task_id`,不包含文件字节、临时路径或敏感上下文;解析与批量查询契约支持每批最多 200 条标识。

View File

@@ -0,0 +1,14 @@
# 02 — 完成 CSV 批量分配代理接口闭环
**What to build:** 平台员工或代理提交已上传的 CSV 与目标代理后,系统创建并执行批量分配任务;任务按既有设备分配规则安全处理每一行、同步绑定卡和设备状态、写入资产分配与审计事实,并向前端提供可轮询的进度、成功、幂等和失败原因。
**Blocked by:** 01 — 建立设备 CSV 批量任务与受控上传基础设施。
**Status:** ready-for-agent
**架构通道:** 主通道为复杂写Application + 既有资产业务规则门面),辅助通道为 Query。完整边界覆盖任务提交、后台执行、设备/绑定卡/分配记录同事务变更与任务详情读取不迁移既有页面勾选、ID 列表、号段、筛选和设备回收入口。
- [ ] `batch-assign-shop` 只接受 `file_key` 与正目标代理 ID提交时校验操作者、对象和目标权限并返回前端轮询所需的任务标识、命令和状态。
- [ ] 平台仅能分配平台库存,代理仅能分配自己名下设备给直属下级;同目标为幂等成功,横向转移、跨级、无权和未命中均安全拒绝。
- [ ] 每个写批次以条件更新在同一事务内完成设备归属、绑定卡同步、状态变化和资产分配记录;重试或并发不会重复记录或覆盖其他操作。
- [ ] 任务详情可展示目标摘要、状态名称、进度、总数、成功数、幂等数、失败数、逐行中文失败原因及起止时间,且权限与不存在使用相同安全语义。

View File

@@ -0,0 +1,14 @@
# 03 — 完成 CSV 批量分配套餐系列接口闭环
**What to build:** 平台员工或代理提交已上传的 CSV 与套餐系列后,系统创建并执行批量系列设置任务;后台重新验证实时授权和设备范围后安全更新系列、写入审计,并提供可供前端展示进度、汇总和失败详情的任务查询结果。
**Blocked by:** 01 — 建立设备 CSV 批量任务与受控上传基础设施。
**Status:** ready-for-agent
**架构通道:** 主通道为复杂写Application + 既有资产业务规则门面),辅助通道为 Query。完整边界覆盖任务提交、后台执行、系列变更审计和任务详情读取不迁移既有同步系列绑定入口且不修改设备归属、设备状态或绑定卡归属。
- [ ] `batch-assign-series` 只接受 `file_key` 与正套餐系列 ID提交时校验操作者、目标系列及授权并返回前端轮询所需的任务创建结果。
- [ ] 平台沿用既有系列范围代理仅能操作自己名下设备和当前有效授权系列Worker 执行时重新确认账号状态、店铺关系及授权。
- [ ] 同目标系列按幂等成功处理;不同系列按既有规则条件更新,历史重复 IMEI 或跨字段多命中不会任取设备,并发变更不会被覆盖。
- [ ] 任务终态、部分成功及全行业务失败均以统一的详情契约准确表达,且审计不泄露其他店铺或底层错误信息。

View File

@@ -0,0 +1,14 @@
# 04 — 固化前端接口交互契约并完成发布验收
**What to build:** 交付可由前端页面直接消费的 CSV 批量分配接口交互契约:上传、两个独立命令提交、任务轮询和结果展示所需字段、状态与错误语义完整一致;通过真实环境异步链路验证平台和代理场景,确保发布与回滚安全。此任务不开发前端页面。
**Blocked by:** 02 — 完成 CSV 批量分配代理接口闭环03 — 完成 CSV 批量分配套餐系列接口闭环。
**Status:** ready-for-agent
**架构通道:** 主通道为接口契约与发布验证,辅助通道为 Query。完整边界是前端可完成上传、提交、轮询和结果展示的交互闭环明确不包含设备管理页、弹框、模板静态资源或其他前端页面实现。
- [ ] 两个命令保持独立请求字段和语义,上传后仅提交 `file_key`,不使用 multipart也不提供可同时修改代理与系列的通用操作。
- [ ] 响应完整提供前端展示任务号、命令、目标摘要、状态及中文名称、进度、总数、成功/幂等/失败数、失败明细和时间;终态可据此停止轮询。
- [ ] 接口文档和集成测试覆盖 CSV 上传、平台与代理权限、部分成功、文件级失败、入队失败和安全错误语义,保证前端无需依赖隐含规则。
- [ ] 在真实 PostgreSQL、Redis、Asynq 和对象存储可用的环境中验证端到端链路;确认 Worker 未部署不开放入口,回滚不删除既有任务、分配记录或审计事实。