3.0 KiB
3.0 KiB
#### 需求拆解:
[类变更类通知] Vo、Dto、Model、Entity 目前只针对**修改 ****删除也需要**
需要展示的内容:
修改人、修改时间 (方便后续前端对接)
对象变更细节:变更了(增删改查)哪些字段 + 字段说明
影响范围:类的变更影响了哪些接口的使用(展示出影响的接口List)
* 入参影响 --> dto改变 --> 展示出影响的接口List
* 类转换影响 --> dto到entity的转换(这种类型需要 配置开关 判断是否需要检测) --> 展示出Entity类?
* 对前端的影响 --> Vo的变动 --> 展示出影响的接口List
#### 一、请求链路
Push
↓
Gitea + act_runner
↓
Pipeline
↓
GitDiff获取变更
↓
JavaParser解析(AST Controller变化\DTO变化\VO变化\ENTITY变化)
↓
企业微信通知
#### 二、架构&技术选型
| 组件 | 方案 |
| --- | --- |
| Git Diff | Git |
| 源码解析 | JavaParser |
| 引用分析 | JavaParser Symbol Solver |
| Spring Endpoint扫描 | Spring Mapping AST |
| 通知 | 企业微信机器人 webhook |
| CI集成 | Gitea Actions |
#### 三、分层说明
| 层级 | 组件 | 职责 |
| :--- | :--- | :--- |
| 触发层 | Git Push | 开发者提交代码,触发 CI 流程 |
| CI/CD 层 | 本地 Gitea + act_runner | 监听 Push 事件,编排流水线任务 |
| 解析层 | GitDiff + JavaParser | 获取 diff,按 AST 解析 Controller/DTO/VO/Entity 变更 |
| 通知层 | 企业微信 | 将分析结果推送给相关开发人员 |
#### 四、通知模版
模版已按类类型拆分至 notify-templates/ 目录:
| 类类型 | 模版文件 | 影响范围段落 |
|--------|----------|--------------|
| Dto | dto.md | request + 类转换 |
| Vo | vo.md | response + 类转换 |
| Entity | entity.md | 类转换 |
| Model | model.md | 类转换 |
详见 notify-templates/README.md(含企微颜色样式、路径、字段说明规则)。