feat:通知新增分支参数
This commit is contained in:
@@ -68,6 +68,7 @@ public class CodeCheckMain implements Callable<Integer> {
|
||||
}
|
||||
|
||||
GitChangeScanner gitScanner = new GitChangeScanner(repoRoot.toAbsolutePath());
|
||||
String branch = gitScanner.getCurrentBranch();
|
||||
DtoNestIndex nestIndex = DtoNestIndex.build(repoRoot.toAbsolutePath(), appConfig);
|
||||
List<ClassChangeReport> classReports = List.of();
|
||||
List<EndpointChangeReport> apiReports = List.of();
|
||||
@@ -86,8 +87,8 @@ public class CodeCheckMain implements Callable<Integer> {
|
||||
|
||||
OverlapNotificationFilter.FilterResult filtered = OverlapNotificationFilter.apply(
|
||||
classReports, apiReports, appConfig.getDtoOverlapMode(), nestIndex);
|
||||
int totalSent = sendClassNotifications(appConfig, filtered.classReports())
|
||||
+ sendApiNotifications(appConfig, filtered.apiReports());
|
||||
int totalSent = sendClassNotifications(appConfig, filtered.classReports(), branch)
|
||||
+ sendApiNotifications(appConfig, filtered.apiReports(), branch);
|
||||
|
||||
if (totalSent == 0 && appConfig.isOnlyOnChange()) {
|
||||
System.out.println("无变更,静默退出");
|
||||
@@ -155,24 +156,24 @@ public class CodeCheckMain implements Callable<Integer> {
|
||||
return new ArrayList<>(merged.values());
|
||||
}
|
||||
|
||||
private int sendClassNotifications(AppConfig appConfig, List<ClassChangeReport> reports) {
|
||||
private int sendClassNotifications(AppConfig appConfig, List<ClassChangeReport> reports, String branch) {
|
||||
if (reports.isEmpty()) {
|
||||
return 0;
|
||||
}
|
||||
WeComNotifier notifier = new WeComNotifier();
|
||||
if (appConfig.isWecomEnabled()) {
|
||||
return notifier.sendAll(appConfig.getWecomWebhookUrl(), reports, modifier, modifyTime);
|
||||
return notifier.sendAll(appConfig.getWecomWebhookUrl(), reports, modifier, modifyTime, branch);
|
||||
}
|
||||
notifier.logAll(reports, modifier, modifyTime);
|
||||
notifier.logAll(reports, modifier, modifyTime, branch);
|
||||
return reports.size();
|
||||
}
|
||||
|
||||
private int sendApiNotifications(AppConfig appConfig, List<EndpointChangeReport> reports) {
|
||||
private int sendApiNotifications(AppConfig appConfig, List<EndpointChangeReport> reports, String branch) {
|
||||
if (reports.isEmpty()) {
|
||||
return 0;
|
||||
}
|
||||
ApiChangeNotifier notifier = new ApiChangeNotifier();
|
||||
return notifier.sendAll(appConfig.getWecomWebhookUrl(), reports, modifier, modifyTime,
|
||||
return notifier.sendAll(appConfig.getWecomWebhookUrl(), reports, modifier, modifyTime, branch,
|
||||
appConfig.isWecomEnabled());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,14 +18,14 @@ public class ApiChangeNotifier {
|
||||
private final WeComMarkdownSender sender = new WeComMarkdownSender();
|
||||
|
||||
public int sendAll(String webhookUrl, List<EndpointChangeReport> reports,
|
||||
String modifier, String modifyTime, boolean wecomEnabled) {
|
||||
String modifier, String modifyTime, String branch, boolean wecomEnabled) {
|
||||
if (reports == null || reports.isEmpty()) {
|
||||
System.out.println("无 API 变更,不发送通知");
|
||||
return 0;
|
||||
}
|
||||
int sent = 0;
|
||||
for (EndpointChangeReport report : reports) {
|
||||
String markdown = buildMarkdown(report, modifier, modifyTime);
|
||||
String markdown = buildMarkdown(report, modifier, modifyTime, branch);
|
||||
if (wecomEnabled) {
|
||||
if (sender.send(webhookUrl, markdown)) {
|
||||
sent++;
|
||||
@@ -43,20 +43,20 @@ public class ApiChangeNotifier {
|
||||
return sent;
|
||||
}
|
||||
|
||||
public String buildMarkdown(EndpointChangeReport report, String modifier, String modifyTime) {
|
||||
public String buildMarkdown(EndpointChangeReport report, String modifier, String modifyTime, String branch) {
|
||||
ApiChangeKind kind = report.getChangeKind();
|
||||
if (kind == ApiChangeKind.PATH_CHANGED
|
||||
|| kind == ApiChangeKind.NEW_ENDPOINT
|
||||
|| kind == ApiChangeKind.REMOVED_ENDPOINT) {
|
||||
return buildPathMarkdown(report, modifier, modifyTime);
|
||||
return buildPathMarkdown(report, modifier, modifyTime, branch);
|
||||
}
|
||||
if (kind == ApiChangeKind.METHOD_CHANGED) {
|
||||
return buildMethodMarkdown(report, modifier, modifyTime);
|
||||
return buildMethodMarkdown(report, modifier, modifyTime, branch);
|
||||
}
|
||||
return buildParamMarkdown(report, modifier, modifyTime);
|
||||
return buildParamMarkdown(report, modifier, modifyTime, branch);
|
||||
}
|
||||
|
||||
private String buildPathMarkdown(EndpointChangeReport report, String modifier, String modifyTime) {
|
||||
private String buildPathMarkdown(EndpointChangeReport report, String modifier, String modifyTime, String branch) {
|
||||
String changeLabel;
|
||||
switch (report.getChangeKind()) {
|
||||
case NEW_ENDPOINT:
|
||||
@@ -72,10 +72,10 @@ public class ApiChangeNotifier {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append("# 【API路径变更通知】").append("\n\n");
|
||||
sb.append(MarkdownStyles.quoteKvBold("变更类型", MarkdownStyles.colorWarning(changeLabel))).append("\n");
|
||||
sb.append(MarkdownStyles.quoteKvBold("路径",
|
||||
MarkdownStyles.colorInfo(MarkdownStyles.safe(report.getSourceFile())))).append("\n");
|
||||
sb.append(MarkdownStyles.quoteKvBold("修改人", MarkdownStyles.colorComment(modifier))).append("\n");
|
||||
sb.append(MarkdownStyles.quoteKvBold("时间", MarkdownStyles.colorComment(modifyTime))).append("\n");
|
||||
sb.append(MarkdownStyles.quoteKvBold("路径", MarkdownStyles.colorInfo(MarkdownStyles.safe(report.getSourceFile())))).append("\n");
|
||||
sb.append(MarkdownStyles.quoteKvBold("分支", MarkdownStyles.colorComment(branch))).append("\n");
|
||||
sb.append("\n## 【URI变更详情】").append("\n\n");
|
||||
sb.append(MarkdownStyles.quoteKvBold("接口说明", formatEndpointDescription(report))).append("\n");
|
||||
appendPathUriLines(sb, report, changeLabel);
|
||||
@@ -103,12 +103,13 @@ public class ApiChangeNotifier {
|
||||
}
|
||||
}
|
||||
|
||||
private String buildMethodMarkdown(EndpointChangeReport report, String modifier, String modifyTime) {
|
||||
private String buildMethodMarkdown(EndpointChangeReport report, String modifier, String modifyTime, String branch) {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append("# 【API请求方式变更通知】").append("\n\n");
|
||||
sb.append(MarkdownStyles.quoteKvBold("变更类型", MarkdownStyles.colorWarning("修改请求方式"))).append("\n");
|
||||
sb.append(MarkdownStyles.quoteKvBold("路径",
|
||||
MarkdownStyles.colorInfo(MarkdownStyles.safe(report.getSourceFile())))).append("\n");
|
||||
sb.append(MarkdownStyles.quoteKvBold("分支", MarkdownStyles.colorComment(branch))).append("\n");
|
||||
sb.append(MarkdownStyles.quoteKvBold("修改人", MarkdownStyles.colorComment(modifier))).append("\n");
|
||||
sb.append(MarkdownStyles.quoteKvBold("时间", MarkdownStyles.colorComment(modifyTime))).append("\n");
|
||||
sb.append("\n## 【请求方式变更详情】").append("\n\n");
|
||||
@@ -122,7 +123,7 @@ public class ApiChangeNotifier {
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
private String buildParamMarkdown(EndpointChangeReport report, String modifier, String modifyTime) {
|
||||
private String buildParamMarkdown(EndpointChangeReport report, String modifier, String modifyTime, String branch) {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append("# 【API参数变更通知】").append("\n\n");
|
||||
sb.append(MarkdownStyles.quoteKvBold("修改人", MarkdownStyles.colorComment(modifier))).append("\n");
|
||||
@@ -133,6 +134,7 @@ public class ApiChangeNotifier {
|
||||
+ MarkdownStyles.inlineCode(report.getUri()))).append("\n");
|
||||
sb.append(MarkdownStyles.quoteKvBold("路径",
|
||||
MarkdownStyles.colorInfo(MarkdownStyles.safe(report.getSourceFile())))).append("\n");
|
||||
sb.append(MarkdownStyles.quoteKvBold("分支", MarkdownStyles.colorComment(branch))).append("\n");
|
||||
sb.append("\n## 【接口参数变动详情】").append("\n\n");
|
||||
appendParameterDetails(sb, report);
|
||||
return sb.toString();
|
||||
|
||||
@@ -23,6 +23,7 @@ import java.util.Map;
|
||||
public class GitChangeScanner {
|
||||
private final Path repoRoot;
|
||||
private final ClassDeclParser classDeclParser = new ClassDeclParser();
|
||||
public static final String UNKNOWN_BRANCH = "未知";
|
||||
|
||||
public GitChangeScanner(Path repoRoot) {
|
||||
this.repoRoot = repoRoot;
|
||||
@@ -203,6 +204,23 @@ public class GitChangeScanner {
|
||||
return runGit("diff", "--name-only", oldSha, newSha);
|
||||
}
|
||||
|
||||
/** 获取当前检出的分支名(detached HEAD 等情况返回「未知」) */
|
||||
public String getCurrentBranch() {
|
||||
try {
|
||||
List<String> lines = runGit("rev-parse", "--abbrev-ref", "HEAD");
|
||||
if (lines.isEmpty()) {
|
||||
return UNKNOWN_BRANCH;
|
||||
}
|
||||
String branch = lines.get(0) == null ? "" : lines.get(0).trim();
|
||||
if (branch.isBlank() || "HEAD".equalsIgnoreCase(branch)) {
|
||||
return UNKNOWN_BRANCH;
|
||||
}
|
||||
return branch;
|
||||
} catch (IOException e) {
|
||||
return UNKNOWN_BRANCH;
|
||||
}
|
||||
}
|
||||
|
||||
/** 在 repoRoot 下执行 git 命令并返回 stdout 行 */
|
||||
private List<String> runGit(String... args) throws IOException {
|
||||
String[] command = new String[args.length + 3];
|
||||
|
||||
@@ -20,7 +20,8 @@ public class WeComNotifier {
|
||||
private final WeComMarkdownSender sender = new WeComMarkdownSender();
|
||||
|
||||
/** 逐条发送企微通知,返回成功条数 */
|
||||
public int sendAll(String webhookUrl, List<ClassChangeReport> reports, String modifier, String modifyTime) {
|
||||
public int sendAll(String webhookUrl, List<ClassChangeReport> reports,
|
||||
String modifier, String modifyTime, String branch) {
|
||||
if (reports == null || reports.isEmpty()) {
|
||||
System.out.println("无类变更,不发送到企业微信");
|
||||
return 0;
|
||||
@@ -28,7 +29,7 @@ public class WeComNotifier {
|
||||
|
||||
int sent = 0;
|
||||
for (ClassChangeReport report : reports) {
|
||||
String markdown = buildMarkdown(report, modifier, modifyTime);
|
||||
String markdown = buildMarkdown(report, modifier, modifyTime, branch);
|
||||
if (postMarkdown(webhookUrl, markdown)) {
|
||||
sent++;
|
||||
System.out.println("已发送类变更通知: " + report.getClassName());
|
||||
@@ -41,7 +42,7 @@ public class WeComNotifier {
|
||||
}
|
||||
|
||||
/** 企微关闭时打印 Markdown 到控制台 */
|
||||
public void logAll(List<ClassChangeReport> reports, String modifier, String modifyTime) {
|
||||
public void logAll(List<ClassChangeReport> reports, String modifier, String modifyTime, String branch) {
|
||||
if (reports == null || reports.isEmpty()) {
|
||||
System.out.println("无类变更,无日志输出");
|
||||
return;
|
||||
@@ -52,17 +53,17 @@ public class WeComNotifier {
|
||||
ClassChangeReport report = reports.get(i);
|
||||
System.out.println("========== 类变更 [" + (i + 1) + "/" + reports.size()
|
||||
+ "]: " + report.getClassName() + " ==========");
|
||||
System.out.println(buildMarkdown(report, modifier, modifyTime));
|
||||
System.out.println(buildMarkdown(report, modifier, modifyTime, branch));
|
||||
System.out.println("========== 结束 ==========");
|
||||
}
|
||||
System.out.println("共 " + reports.size() + " 条类变更结果(未发送到企业微信)");
|
||||
}
|
||||
|
||||
/** 组装完整 Markdown 正文(引用块 + 换行,每项独立一行) */
|
||||
public String buildMarkdown(ClassChangeReport report, String modifier, String modifyTime) {
|
||||
public String buildMarkdown(ClassChangeReport report, String modifier, String modifyTime, String branch) {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append("# 【类变更通知】").append("\n\n");
|
||||
appendHeader(sb, report, modifier, modifyTime);
|
||||
appendHeader(sb, report, modifier, modifyTime, branch);
|
||||
|
||||
sb.append("\n## 【对象变更细节】").append("\n\n");
|
||||
appendChangeDetails(sb, report);
|
||||
@@ -87,11 +88,12 @@ public class WeComNotifier {
|
||||
|
||||
/** 头部元信息,每项一行引用(加粗) */
|
||||
private void appendHeader(StringBuilder sb, ClassChangeReport report,
|
||||
String modifier, String modifyTime) {
|
||||
String modifier, String modifyTime, String branch) {
|
||||
sb.append(quoteKvBold("变更对象", formatChangeTarget(report))).append("\n");
|
||||
sb.append(quoteKvBold("修改人", colorComment(modifier))).append("\n");
|
||||
sb.append(quoteKvBold("时间", colorComment(modifyTime))).append("\n");
|
||||
sb.append(quoteKvBold("路径", colorComment(report.getSourceFile()))).append("\n");
|
||||
sb.append(quoteKvBold("分支", colorComment(branch))).append("\n");
|
||||
}
|
||||
|
||||
/** 渲染删除 / 重命名 / 字段变更 */
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
|
||||
变更类型: <font color="warning">**修改请求方式**</font>
|
||||
路径: <font color="info">**jnpf-ftb/jnpf-ftb-biz/src/main/java/jnpf/workflow/controller/ApplyClockInController.java**</font>
|
||||
分支: code/code_change_detection_v1.0
|
||||
修改人: dongzi
|
||||
修改时间: 2026-06-08 16:30:00
|
||||
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
- **变更类型:** <font color="warning">**修改参数**</font>
|
||||
- **URI:** **POST** `/apply/clockIn`
|
||||
- **路径:** <font color="info">**jnpf-ftb/jnpf-ftb-biz/src/main/java/jnpf/workflow/controller/ApplyClockInController.java**</font>
|
||||
- **分支:** code/code_change_detection_v1.0
|
||||
|
||||
---------------------------------------
|
||||
|
||||
@@ -51,6 +52,7 @@
|
||||
- **变更类型:** <font color="warning">**修改参数**</font>
|
||||
- **URI:** **GET** `/apply/clockIn/{id}`
|
||||
- **路径:** <font color="info">**jnpf-ftb/.../ApplyClockInController.java**</font>
|
||||
- **分支:** code/code_change_detection_v1.0
|
||||
|
||||
---------------------------------------
|
||||
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
|
||||
变更类型: <font color="warning">**修改路径**</font>
|
||||
路径: <font color="info">**jnpf-ftb/jnpf-ftb-biz/src/main/java/jnpf/workflow/controller/ApplyClockInController.java**</font>
|
||||
分支: code/code_change_detection_v1.0
|
||||
修改人: dongzi
|
||||
修改时间: 2026-06-08 16:30:00
|
||||
|
||||
@@ -31,6 +32,7 @@
|
||||
|
||||
变更类型: <font color="warning">**新增接口**</font>
|
||||
路径: <font color="info">**jnpf-ftb/.../ApplyClockInController.java**</font>
|
||||
分支: code/code_change_detection_v1.0
|
||||
修改人: dongzi
|
||||
修改时间: 2026-06-08 16:30:00
|
||||
|
||||
@@ -52,6 +54,7 @@
|
||||
|
||||
变更类型: <font color="warning">**删除接口**</font>
|
||||
路径: <font color="info">**jnpf-ftb/.../ApplyClockInController.java**</font>
|
||||
分支: code/code_change_detection_v1.0
|
||||
修改人: dongzi
|
||||
修改时间: 2026-06-08 16:30:00
|
||||
|
||||
|
||||
@@ -11,14 +11,14 @@ Push 触发 CI 后,按变更类的后缀(`Dto` / `Vo` / `Entity` / `Model`
|
||||
| `#` / `##` / `###` | 标题(主区块用【】) |
|
||||
| `` `行内代码` `` | 字段名、URI |
|
||||
| `>` | 引用行(每项一行) |
|
||||
| `**bold**` | 头部四行、统计行加粗 |
|
||||
| `**bold**` | 头部五行、统计行加粗 |
|
||||
| `<font color="info">` | 绿:类名、新增、HTTP 方法、新类型 |
|
||||
| `<font color="comment">` | 灰:说明、路径、无影响 |
|
||||
| `<font color="warning">` | 橙:[修改]/[删除]、旧类型、统计数字 |
|
||||
|
||||
## 布局约定
|
||||
|
||||
1. **# 【类变更通知】** — 头部 4 项,每项一行 `>**标签: 值**`(加粗,冒号后两空格);变更对象括号内展示类中文说明(@Schema / @ApiModel / Javadoc),无说明则仅类名
|
||||
1. **# 【类变更通知】** — 头部 5 项(新增「分支」),每项一行 `>**标签: 值**`(加粗,冒号后两空格);变更对象括号内展示类中文说明(@Schema / @ApiModel / Javadoc),无说明则仅类名
|
||||
2. **## 【对象变更细节】** — 统计行 + 每条变更单行(标签/说明/类型合并)
|
||||
3. **## 【影响范围】** — 各 ### 小节内,每项一行引用
|
||||
|
||||
@@ -31,6 +31,7 @@ Push 触发 CI 后,按变更类的后缀(`Dto` / `Vo` / `Entity` / `Model`
|
||||
> **修改人: <font color="comment">dongzi</font>**
|
||||
> **时间: <font color="comment">2026-06-07 20:14:35</font>**
|
||||
> **路径: <font color="comment">jnpf-ftb/.../ApplyAttendanceChangeDto.java</font>**
|
||||
> **分支: <font color="comment">code/code_change_detection_v1.0</font>**
|
||||
```
|
||||
|
||||
## 影响范围
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
> **修改人: <font color="comment">dongzi</font>**
|
||||
> **时间: <font color="comment">2026-06-07 20:14:35</font>**
|
||||
> **路径: <font color="comment">jnpf-ftb/jnpf-ftb-entity/src/main/java/jnpf/model/workflow/dto/ApplyAttendanceChangeDto.java</font>**
|
||||
> **分支: <font color="comment">code/code_change_detection_v1.0</font>**
|
||||
|
||||
## 【对象变更细节】
|
||||
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
> **修改人: <font color="comment">张三</font>**
|
||||
> **时间: <font color="comment">2026-06-07 14:30:00</font>**
|
||||
> **路径: <font color="comment">jnpf-ftb/jnpf-ftb-entity/src/main/java/jnpf/entity/training/TrainingPositionEntity.java</font>**
|
||||
> **分支: <font color="comment">code/code_change_detection_v1.0</font>**
|
||||
|
||||
## 【对象变更细节】
|
||||
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
> **修改人: <font color="comment">张三</font>**
|
||||
> **时间: <font color="comment">2026-06-07 14:30:00</font>**
|
||||
> **路径: <font color="comment">jnpf-ftb/jnpf-ftb-entity/src/main/java/jnpf/model/attendance/AttendanceRuleModel.java</font>**
|
||||
> **分支: <font color="comment">code/code_change_detection_v1.0</font>**
|
||||
|
||||
## 【对象变更细节】
|
||||
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
> **修改人: <font color="comment">张三</font>**
|
||||
> **时间: <font color="comment">2026-06-07 14:30:00</font>**
|
||||
> **路径: <font color="comment">jnpf-ftb/jnpf-ftb-entity/src/main/java/jnpf/model/attendance/vo/AttendanceDetailVo.java</font>**
|
||||
> **分支: <font color="comment">code/code_change_detection_v1.0</font>**
|
||||
|
||||
## 【对象变更细节】
|
||||
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
|
||||
变更类型: <font color="warning">**修改请求方式**</font>
|
||||
路径: <font color="info">**jnpf-ftb/jnpf-ftb-biz/src/main/java/jnpf/workflow/controller/ApplyClockInController.java**</font>
|
||||
分支: code/code_change_detection_v1.0
|
||||
修改人: dongzi
|
||||
修改时间: 2026-06-08 16:30:00
|
||||
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
- **变更类型:** <font color="warning">**修改参数**</font>
|
||||
- **URI:** **POST** `/apply/clockIn`
|
||||
- **路径:** <font color="info">**jnpf-ftb/jnpf-ftb-biz/src/main/java/jnpf/workflow/controller/ApplyClockInController.java**</font>
|
||||
- **分支:** code/code_change_detection_v1.0
|
||||
|
||||
---------------------------------------
|
||||
|
||||
@@ -51,6 +52,7 @@
|
||||
- **变更类型:** <font color="warning">**修改参数**</font>
|
||||
- **URI:** **GET** `/apply/clockIn/{id}`
|
||||
- **路径:** <font color="info">**jnpf-ftb/.../ApplyClockInController.java**</font>
|
||||
- **分支:** code/code_change_detection_v1.0
|
||||
|
||||
---------------------------------------
|
||||
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
|
||||
变更类型: <font color="warning">**修改路径**</font>
|
||||
路径: <font color="info">**jnpf-ftb/jnpf-ftb-biz/src/main/java/jnpf/workflow/controller/ApplyClockInController.java**</font>
|
||||
分支: code/code_change_detection_v1.0
|
||||
修改人: dongzi
|
||||
修改时间: 2026-06-08 16:30:00
|
||||
|
||||
@@ -31,6 +32,7 @@
|
||||
|
||||
变更类型: <font color="warning">**新增接口**</font>
|
||||
路径: <font color="info">**jnpf-ftb/.../ApplyClockInController.java**</font>
|
||||
分支: code/code_change_detection_v1.0
|
||||
修改人: dongzi
|
||||
修改时间: 2026-06-08 16:30:00
|
||||
|
||||
@@ -52,6 +54,7 @@
|
||||
|
||||
变更类型: <font color="warning">**删除接口**</font>
|
||||
路径: <font color="info">**jnpf-ftb/.../ApplyClockInController.java**</font>
|
||||
分支: code/code_change_detection_v1.0
|
||||
修改人: dongzi
|
||||
修改时间: 2026-06-08 16:30:00
|
||||
|
||||
|
||||
@@ -11,14 +11,14 @@ Push 触发 CI 后,按变更类的后缀(`Dto` / `Vo` / `Entity` / `Model`
|
||||
| `#` / `##` / `###` | 标题(主区块用【】) |
|
||||
| `` `行内代码` `` | 字段名、URI |
|
||||
| `>` | 引用行(每项一行) |
|
||||
| `**bold**` | 头部四行、统计行加粗 |
|
||||
| `**bold**` | 头部五行、统计行加粗 |
|
||||
| `<font color="info">` | 绿:类名、新增、HTTP 方法、新类型 |
|
||||
| `<font color="comment">` | 灰:说明、路径、无影响 |
|
||||
| `<font color="warning">` | 橙:[修改]/[删除]、旧类型、统计数字 |
|
||||
|
||||
## 布局约定
|
||||
|
||||
1. **# 【类变更通知】** — 头部 4 项,每项一行 `>**标签: 值**`(加粗,冒号后两空格);变更对象括号内展示类中文说明(@Schema / @ApiModel / Javadoc),无说明则仅类名
|
||||
1. **# 【类变更通知】** — 头部 5 项(新增「分支」),每项一行 `>**标签: 值**`(加粗,冒号后两空格);变更对象括号内展示类中文说明(@Schema / @ApiModel / Javadoc),无说明则仅类名
|
||||
2. **## 【对象变更细节】** — 统计行 + 每条变更单行(标签/说明/类型合并)
|
||||
3. **## 【影响范围】** — 各 ### 小节内,每项一行引用
|
||||
|
||||
@@ -31,6 +31,7 @@ Push 触发 CI 后,按变更类的后缀(`Dto` / `Vo` / `Entity` / `Model`
|
||||
> **修改人: <font color="comment">dongzi</font>**
|
||||
> **时间: <font color="comment">2026-06-07 20:14:35</font>**
|
||||
> **路径: <font color="comment">jnpf-ftb/.../ApplyAttendanceChangeDto.java</font>**
|
||||
> **分支: <font color="comment">code/code_change_detection_v1.0</font>**
|
||||
```
|
||||
|
||||
## 影响范围
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
> **修改人: <font color="comment">dongzi</font>**
|
||||
> **时间: <font color="comment">2026-06-07 20:14:35</font>**
|
||||
> **路径: <font color="comment">jnpf-ftb/jnpf-ftb-entity/src/main/java/jnpf/model/workflow/dto/ApplyAttendanceChangeDto.java</font>**
|
||||
> **分支: <font color="comment">code/code_change_detection_v1.0</font>**
|
||||
|
||||
## 【对象变更细节】
|
||||
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
> **修改人: <font color="comment">张三</font>**
|
||||
> **时间: <font color="comment">2026-06-07 14:30:00</font>**
|
||||
> **路径: <font color="comment">jnpf-ftb/jnpf-ftb-entity/src/main/java/jnpf/entity/training/TrainingPositionEntity.java</font>**
|
||||
> **分支: <font color="comment">code/code_change_detection_v1.0</font>**
|
||||
|
||||
## 【对象变更细节】
|
||||
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
> **修改人: <font color="comment">张三</font>**
|
||||
> **时间: <font color="comment">2026-06-07 14:30:00</font>**
|
||||
> **路径: <font color="comment">jnpf-ftb/jnpf-ftb-entity/src/main/java/jnpf/model/attendance/AttendanceRuleModel.java</font>**
|
||||
> **分支: <font color="comment">code/code_change_detection_v1.0</font>**
|
||||
|
||||
## 【对象变更细节】
|
||||
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
> **修改人: <font color="comment">张三</font>**
|
||||
> **时间: <font color="comment">2026-06-07 14:30:00</font>**
|
||||
> **路径: <font color="comment">jnpf-ftb/jnpf-ftb-entity/src/main/java/jnpf/model/attendance/vo/AttendanceDetailVo.java</font>**
|
||||
> **分支: <font color="comment">code/code_change_detection_v1.0</font>**
|
||||
|
||||
## 【对象变更细节】
|
||||
|
||||
|
||||
Reference in New Issue
Block a user