diff --git a/.gitea/checker/api-templates/api-param-change.md b/.gitea/checker/api-templates/api-param-change.md index 26600b8..18c5c16 100644 --- a/.gitea/checker/api-templates/api-param-change.md +++ b/.gitea/checker/api-templates/api-param-change.md @@ -24,7 +24,7 @@ 共 **1** 个类对象 · **2** 项字段变更 -**applyAttendanceChangeDto** · `ApplyAttendanceChangeDto` +**`ApplyAttendanceChangeDto`** ├─ `taskIds` · `List` · 必填 [新增] > 说明:流程主键集合 diff --git a/.gitea/checker/src/main/java/com/codechecker/api/notify/ApiChangeNotifier.java b/.gitea/checker/src/main/java/com/codechecker/api/notify/ApiChangeNotifier.java index 38e17d3..f620d05 100644 --- a/.gitea/checker/src/main/java/com/codechecker/api/notify/ApiChangeNotifier.java +++ b/.gitea/checker/src/main/java/com/codechecker/api/notify/ApiChangeNotifier.java @@ -149,7 +149,7 @@ public class ApiChangeNotifier { } } if (!bodyChanges.isEmpty()) { - sb.append("**类对象变更(含嵌套字段)**").append("\n\n"); + sb.append("**类对象变更(含嵌套对象字段)**").append("\n\n"); appendBodyGroups(sb, bodyChanges); sb.append("\n"); } @@ -170,8 +170,9 @@ public class ApiChangeNotifier { private void appendBodyGroups(StringBuilder sb, List bodyChanges) { Map> groups = new LinkedHashMap<>(); for (ParameterChange change : bodyChanges) { - String key = (change.getBodyParamName() == null ? "body" : change.getBodyParamName()) - + "|" + (change.getParentDto() == null ? "" : change.getParentDto()); + String key = change.getParentDto() == null || change.getParentDto().isBlank() + ? (change.getBodyParamName() == null ? "body" : change.getBodyParamName()) + : change.getParentDto(); groups.computeIfAbsent(key, k -> new ArrayList<>()).add(change); } int total = bodyChanges.size(); @@ -182,9 +183,10 @@ public class ApiChangeNotifier { + " 项变更**")).append("\n\n"); for (List group : groups.values()) { ParameterChange first = group.get(0); - sb.append("**").append(first.getBodyParamName()).append("**"); if (first.getParentDto() != null && !first.getParentDto().isBlank()) { - sb.append(" ").append(MarkdownStyles.inlineCode(first.getParentDto())); + sb.append("**").append(MarkdownStyles.inlineCode(first.getParentDto())).append("**"); + } else if (first.getBodyParamName() != null && !first.getBodyParamName().isBlank()) { + sb.append("**").append(MarkdownStyles.inlineCode(first.getBodyParamName())).append("**"); } sb.append("\n\n"); for (ParameterChange change : group) { diff --git a/.gitea/checker/src/main/java/com/codechecker/api/parser/NestedDtoFieldParser.java b/.gitea/checker/src/main/java/com/codechecker/api/parser/NestedDtoFieldParser.java index a751f4f..d44603f 100644 --- a/.gitea/checker/src/main/java/com/codechecker/api/parser/NestedDtoFieldParser.java +++ b/.gitea/checker/src/main/java/com/codechecker/api/parser/NestedDtoFieldParser.java @@ -76,7 +76,8 @@ public class NestedDtoFieldParser { continue; } expanded = true; - collectFields(nestedType, path, visiting, out, sha, depth + 1); + // 嵌套字段路径用类型简单类名(如 UserSelfDto.nickName),不用成员名(userDtos.nickName) + collectFields(nestedType, nestedType, visiting, out, sha, depth + 1); } if (!expanded) { out.add(new NestedFieldInfo(path, field.getType(), field.getDescription())); diff --git a/.gitea/workflows/code-checker.jar b/.gitea/workflows/code-checker.jar index b327e3a..bad4e20 100644 Binary files a/.gitea/workflows/code-checker.jar and b/.gitea/workflows/code-checker.jar differ