92 lines
4.8 KiB
Markdown
92 lines
4.8 KiB
Markdown
# 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、保留但强审计。
|
||
- 默认生产环境不可被普通前台调用。
|