Files
AI-Check-Test/.gitea/1.md
2026-06-05 18:00:43 +08:00

103 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.

---
#### 需求拆解:
**[类变更类通知]** Vo、Dto、Model、Entity **目前只针对****<u>修改 </u>****<u><font style="background-color:#FBDE28;">删除也需要</font></u>**
**需要展示的内容:**
修改人、修改时间 (方便后续前端对接)
对象变更细节:变更了(增删改查)哪些字段 + 字段说明
影响范围类的变更影响了哪些接口的使用展示出影响的接口List
* **入参影响** --> dto改变 --> 展示出影响的接口List
* **类转换影响** --> dto到entity的转换这种类型需要 配置开关 判断是否需要检测) --> 展示出Entity类
* **对前端的影响** --> Vo的变动 --> 展示出影响的接口List
#### 一、请求链路
Push
Gitea Runner
Pipeline
GitDiff获取变更
JavaParser解析AST Controller变化\DTO变化\VO变化\ENTITY变化
企业微信通知
#### 二、架构&技术选型
| 组件 | 方案 |
| --- | --- |
| Git Diff | Git |
| 源码解析 | JavaParser |
| 引用分析 | JavaParser Symbol Solver |
| Spring Endpoint扫描 | Spring Mapping AST |
| 通知 | 企业微信机器人 webhook |
| CI集成 | Jenkins/GitLab CI |
#### 三、分层说明
| **<font style="color:rgba(20, 20, 20, 0.92);">层级</font>** | **<font style="color:rgba(20, 20, 20, 0.92);">组件</font>** | **<font style="color:rgba(20, 20, 20, 0.92);">职责</font>** |
| :--- | :--- | :--- |
| **<font style="color:rgba(20, 20, 20, 0.92);">触发层</font>** | <font style="color:rgba(20, 20, 20, 0.92);">Git Push</font> | <font style="color:rgba(20, 20, 20, 0.92);">开发者提交代码,触发 CI 流程</font> |
| **<font style="color:rgba(20, 20, 20, 0.92);">CI/CD 层</font>** | <font style="color:rgba(20, 20, 20, 0.92);">Gitea Runner + Pipeline</font> | <font style="color:rgba(20, 20, 20, 0.92);">监听 Push 事件,编排流水线任务</font> |
| **<font style="color:rgba(20, 20, 20, 0.92);">解析层</font>** | <font style="color:rgba(20, 20, 20, 0.92);">GitDiff + JavaParser</font> | <font style="color:rgba(20, 20, 20, 0.92);">获取 diff按 AST 解析 Controller/DTO/VO/Entity 变更</font> |
| **<font style="color:rgba(20, 20, 20, 0.92);">通知层</font>** | <font style="color:rgba(20, 20, 20, 0.92);">企业微信</font> | <font style="color:rgba(20, 20, 20, 0.92);">将分析结果推送给相关开发人员</font> |
#### 四、通知模版
【类变更通知】
■ 变更对象:{ClassName}{类类型Dto/Vo/Entity/Model}
■ 修改人:{Modifier}
■ 修改时间:{ModifyTime}
────────────────────────────────
▶ 对象变更细节
────────────────────────────────
字段变更列表:
[新增] 字段名: fieldA 说明: {字段说明}
[删除] 字段名: fieldB 说明: {字段说明}
[修改] 字段名: fieldC 说明: {原说明 → 新说明 / 类型变更等}
────────────────────────────────
▶ 影响范围
────────────────────────────────
① 入参影响Dto变更导致接口参数变化
影响接口列表:
- GET /api/attendance/dayStaList
- POST /api/attendance/export
(若无影响则显示:无)
② 类转换影响Dto → Entity 转换,已开启检测):
涉及Entity类{EntityClassName}
(若开关关闭或未检测到影响则显示:无 / 未开启检测)
③ 前端影响Vo变更导致返回结构变化
影响接口列表:
- GET /api/attendance/detail
- GET /api/attendance/summary
(若无影响则显示:无)