diff --git a/detection/src/main/java/com/njcn/gather/detection/handler/SocketDevResponseService.java b/detection/src/main/java/com/njcn/gather/detection/handler/SocketDevResponseService.java index 5cfa5adb..79c50d4a 100644 --- a/detection/src/main/java/com/njcn/gather/detection/handler/SocketDevResponseService.java +++ b/detection/src/main/java/com/njcn/gather/detection/handler/SocketDevResponseService.java @@ -794,8 +794,19 @@ public class SocketDevResponseService { } //正式检测 sourceIssues = pqScriptDtlsService.listSourceIssue(issueParam); - sourceIssues = sourceIssues.stream().sorted(Comparator.comparing(SourceIssue::getIndex)).collect(Collectors.groupingBy(SourceIssue::getType)).values().stream().flatMap(list->list.stream().sorted(Comparator.comparing(SourceIssue::getIndex))).collect(Collectors.toList()); + sourceIssues = sourceIssues.stream().sorted(Comparator.comparing(SourceIssue::getIndex)).collect(Collectors.toList()); + // 使用 LinkedHashMap 保持分组顺序 + Map> groupedIssues = sourceIssues.stream() + .collect(Collectors.groupingBy( + SourceIssue::getType, + LinkedHashMap::new, + Collectors.toList() + )); + // 将分组后的元素合并成一个新的集合,保持原有顺序 + sourceIssues = groupedIssues.values().stream() + .flatMap(List::stream) + .collect(Collectors.toList()); // 存放所有检测小项 SocketManager.addSourceList(sourceIssues); // 按照大项分组。key为大项code,value为小项个数