Files
MesUniversalApi-Migration/working1/04-任务矩阵.md

92 lines
4.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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、保留但强审计。
- 默认生产环境不可被普通前台调用。