gz-oarms/task_plan.md

91 lines
3.8 KiB
Markdown
Raw Normal View History

# OARMS 全链路命名规范审查计划
## 目标
以命名映射规范(实体属性 → camelCase为基准对 gz-oarms 后端 + gz-oarms-web 前端进行全链路命名审查,发现并修复所有不一致的命名。
## 规范基准
| 层级 | 校验内容 | 规范要求 |
|------|---------|---------|
| 数据库 DDL | DM8 表名、字段名 | 表名 `bs_/lb_/mr_/am_/cw_` 前缀 + snake_caseDDL 中 COMMENT/INDEX 标识符大写 |
| 后端 Entity | Java 实体类属性名 + `@TableField` 注解 | camelCase`@TableField("snake_case")` 显式映射 DB |
| 后端 VO/Query/Req | DTO 类属性名 | camelCase与 Entity 属性名一致 |
| 后端 Controller | API 路径命名 | `/api/{kebab-case}`,方法路径 query/detail/save/update/remove |
| 前端 API 文件 | JS 请求参数/响应字段名 | camelCase与后端 JSON 返回字段 100% 一致 |
| 前端页面 | 组件变量、表单字段绑定 | camelCase与 API 字段一致 |
## 已知重大不一致(前置发现)
| 不一致项 | 前端现状 | 后端现状 | 影响 |
|---------|---------|---------|------|
| 参数字段命名 | snake_case`screen_name`、`page_num` | camelCase`screenName`、`pageNum` | 前后端字段无法映射 |
| API 路径风格 | `/api/recording-configs/query`(复数) | `/api/monitoring-clue/query`(单数) | 路径不匹配 |
| 域路径前缀 | `/api/cw/monitoring-clues/query` | `/api/monitoring-clue/query` | 路径不匹配 |
## 当前阶段
**状态**: 审查执行中
**当前阶段**: Phase 1
## 审查阶段6 个 Phase
### Phase 1后端 DB→Entity→DTO 全链路审查10 个模块)
逐模块检查DDL 字段名 ↔ Entity `@TableField` ↔ Entity 属性名 ↔ VO/Query/Req 属性名
| 模块 | DDL 文件 | Entity 数 | VO/Query/Req 数 |
|------|---------|----------|----------------|
| BS-1 | V1.0.0__BS_screen_ddl.sql | 2 | 5 |
| LB-1 | V2.0.0__LB_law_ddl.sql | 1 | 3 |
| MR-1 | V6.0.0__MR_monitoring_rule_ddl.sql | 3 | 4 |
| AM-1 | V3.0.0__AM_recording_config_ddl.sql | 1 | 3 |
| AM-2 | V4.0.0__AM_recording_task_ddl.sql | 2 | 1 |
| AM-3 | V5.0.0__AM_monitor_record_ddl.sql | 1 | 3 |
| CW-1 | V7.0.0__CW_evidence_ddl.sql | 2 | 4 |
| CW-2 | V8.0.0__CW_evidence_rule_relation_ddl.sql | 1 | 2 |
| CW-3 | V9.0.0__CW_monitoring_clue_ddl.sql | 2 | 2 |
| CW-4 | V10.0.0__CW_clue_transfer_ddl.sql | 2 | 6 |
**校验规则**
1. DDL 字段名 → `@TableField`snake_case 完全匹配
2. Entity 属性名 → VO/Query/Req 属性名camelCase 完全匹配
3. DDL 中 COMMENT ON / CREATE INDEX 标识符大写
### Phase 2后端 Controller API 路径审查
检查 11 个 Controller 的 API 路径是否符合 `/api/{kebab-case}` 规范,方法路径是否使用 query/detail/save/update/remove 等动词。
### Phase 3前端 API 文件审查10 个 API 文件)
校验前端 API 参数名与后端 JSON 字段的 camelCase 一致性:
- BS-1 大屏管理 API
- LB-1 法律法规 API
- MR-1 监测规则 API
- AM-1/2/3 广告监控 API3 个文件)
- CW-1/2/3/4 内容预警 API4 个文件)
### Phase 4前端页面组件审查30+ 个 Vue 文件)
抽样检查表单字段绑定和组件变量命名是否为 camelCase。
### Phase 5汇总 + 修复建议
1. 按模块分组输出全部审查结果
2. 标记不符合规范的命名,说明违反规则
3. 给出修正建议
### Phase 6执行修复
根据 Phase 5 的建议逐模块修复命名不一致问题。
## 补充说明
- **Mapper XML**:项目中无 Mapper XML 文件,全部使用 MyBatis Plus 注解(`@TableField`、`@TableName`。XML 审查项跳过,替换为 `@TableField` 注解审查。
- **前端项目位置**`../gz-oarms-web/`
- **命名映射规范参考**`D:\chinaweal\gz-atms\gz-atms-web\docs\rules\Youfool-LLM 命名映射规范.md`
## 修复决策
(审查过程中记录)