# 04-任务矩阵 状态说明: - `未开始`:尚未实施。 - `进行中`:正在实施。 - `已完成`:已完成并有验收证据。 - `阻塞`:存在外部条件阻塞。 - `取消`:明确不再执行。 ## 1. 总任务表 | 编号 | 任务 | 状态 | 优先级 | 验收标准 | | --- | --- | --- | --- | --- | | `T000` | 移植前基线准备 | 已完成 | P0 | 目标 SDK 固定为 `.NET 10`;`working1` 文档补齐;`MesUniversalApi/` 目录骨架创建;当前开发环境约束已记录 | | `T001` | 旧接口资产盘点 | 未开始 | P0 | 输出旧 Type/Name/Param 调用清单,标出文件、SQL、存储过程和高风险接口 | | `T002` | 新 WebAPI 项目骨架创建 | 未开始 | P0 | 项目可启动,Swagger 可访问,健康检查通过 | | `T003` | 数据源配置模型设计 | 未开始 | P0 | 支持 SQL Server/PostgreSQL/MySQL 三类数据源配置 | | `T004` | 统一响应与异常处理中间件 | 未开始 | P0 | 所有 JSON 接口返回 `{code,message,data,traceId}` | | `T005` | JWT 鉴权和 action 授权 | 未开始 | P0 | 未登录不能执行业务接口,action 权限可配置 | | `T006` | Provider 抽象接口 | 未开始 | P0 | 定义 `IDatabaseProvider`、`DbExecutionContext`、结果模型 | | `T007` | SQL Server Provider | 未开始 | P0 | 可执行 Text 查询、非查询、StoredProcedure、输出参数 | | `T008` | Legacy Type=11 兼容 | 未开始 | P0 | 旧格式请求可通过白名单执行 SQL Server 存储过程并返回 JSON | | `T009` | Legacy Type=111 分页兼容 | 未开始 | P1 | 可追加分页参数并返回 `rows/total` | | `T010` | Legacy Type=12/13/21 兼容 | 未开始 | P1 | 执行型、DataSet、新结构响应均可用 | | `T011` | 文件上传 Type=15 迁移 | 未开始 | P1 | multipart 上传成功,支持大小和扩展名校验 | | `T012` | 文件下载 Type=16/2004 迁移 | 未开始 | P1 | 返回二进制、文件名和正确响应头 | | `T013` | actionId 白名单执行接口 | 未开始 | P0 | 前台可通过 actionId 执行一个配置动作 | | `T014` | PostgreSQL Provider | 未开始 | P1 | 可执行 Text 查询、Function、非查询、bytea 文件 | | `T015` | MySQL Provider | 未开始 | P1 | 可执行 Text 查询、CALL procedure、非查询、longblob 文件 | | `T016` | 报表导出接口 | 未开始 | P2 | 可按 reportId 导出 Excel/PDF | | `T017` | 审计日志 | 未开始 | P0 | 记录用户、action、数据库、耗时、结果 | | `T018` | Linux Docker 部署 | 未开始 | P0 | Docker 容器在 Linux 启动并通过健康检查 | | `T019` | systemd 部署文档 | 未开始 | P2 | 具备 systemd service 配置和启动说明 | | `T020` | 集成测试环境 | 未开始 | P1 | docker compose 可启动 API + 三类数据库测试环境 | | `T021` | 旧接口回归对比 | 未开始 | P0 | 选定旧接口与新接口输出一致或差异有说明 | | `T022` | 高风险 Type 退场方案 | 未开始 | P0 | `3/4/7/22/1001/1002/3001` 有明确禁用或替代方案 | | `T023` | OpenAPI 与前台对接文档 | 未开始 | P1 | 前台可按文档调用新接口 | | `T024` | 性能压测 | 未开始 | P2 | 有查询、分页、文件上传下载压测报告 | | `T025` | 云仓库初始化与首次提交 | 进行中 | P1 | 云端仓库创建成功;`main` 分支首次提交完成;仓库只包含迁移资料与新移植目录 | ## 2. 当前优先队列 第一批建议执行: 1. `T001` 旧接口资产盘点。 2. `T002` 新 WebAPI 项目骨架创建。 3. `T003` 数据源配置模型设计。 4. `T004` 统一响应与异常处理中间件。 5. `T006` Provider 抽象接口。 6. `T007` SQL Server Provider。 7. `T008` Legacy Type=11 兼容。 ## 3. 任务依赖 ```text T000 -> T001/T002/T003/T018/T020 T001 -> T008/T009/T010/T011/T012/T021/T022 T002 -> T003/T004/T005/T006/T018 T006 -> T007/T014/T015 T007 -> T008/T009/T010/T011/T012/T013 T013 -> T014/T015/T023 T017 -> T021/T024 ``` ## 4. 防重复规则 - 所有新工作必须先在本矩阵中找到或新增任务编号。 - 新增代码、测试、部署文件和工具脚本只进入 `MesUniversalApi/`,不回写到旧系统目录。 - 同一能力不得同时以 legacy 和 actionId 两条线重复开发,除非明确是兼容过渡。 - 已完成任务如果返工,必须在 `03-推进台账.md` 写明原因。 - 验收证据必须写入 `05-验收证据.md` 后才能标记 `已完成`。 ## 5. 高风险任务说明 ### T022 高风险 Type 退场方案 必须处理的旧 Type: - `3`:直接 SQL 查询。 - `4`:直接 SQL 非查询。 - `7`:动态建表,含 DROP/CREATE。 - `22`:直接 SQL 返回新结构。 - `1001`:客户端传 SQL 增删改。 - `1002`:客户端传 SQL 查询。 - `3001`:SQL 命令执行入口。 验收标准: - 每个 Type 都有处置策略:禁用、仅内网管理、替换为 actionId、保留但强审计。 - 默认生产环境不可被普通前台调用。