增加项目侧重构文档

This commit is contained in:
strepsiades
2026-03-12 14:54:48 +08:00
parent 758b1c4f77
commit 84b3b7652a
16 changed files with 1485 additions and 458 deletions
+44
View File
@@ -87,3 +87,47 @@
1.`preparation.code` 正式迁到 `field_config`
2. 区分“节点编码范围”与“审批状态/存在性”这两类字段,不要混在一个配置源里。
3.`approval_status` 接入通用审批状态定义。
## 5. 按本轮要求的改造落点
preparation 属于本轮最适合先收口的一类:
- 初始化平铺
- code 字段明确
- 旧代码里已经出现多份硬编码映射
### 5.1 初始化
当前 preparation 初始化直接来自 `preparation_{project_type}` dict。
本轮目标是:
-`preparation.code` 迁到 field config
- 初始化改成通过 config 工具读取候选项再批量创建
- 不再依赖 dict 作为初始化真源
### 5.2 Create 校验
当前 `PreparationCreate` / `PreparationService` 没有统一的 code 白名单校验入口。
本轮目标是:
- 在 create / update 对应的 service 入口开头,基于 config 校验 `preparation.code`
- 不再新增本地 code 白名单或名称反查表来兜底
### 5.3 下拉列表
preparation 当前没有单独的“节点编码下拉接口”,前端更多拿的是项目实例列表 `/preparation/list`
这轮文档上的要求是:
- 如果后续需要独立 code 候选项下拉,应直接从 `preparation.code` field config 返回
## 6. 测试关注点
preparation 领域 service 层集成测试至少覆盖:
1. 初始化:项目初始化时生成的节点是否来自目标 field config。
2. Create / Update:合法 `code` 可以写入,非法 `code` 明确报错。
3. 列表:项目实例列表顺序是否来自配置顺序,而不是硬编码 `sort_code`