gz-oarms/task_plan.md

91 lines
3.8 KiB
Markdown
Raw 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.

# 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`
## 修复决策
(审查过程中记录)