diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/specieslibrary/SpeciesLibraryServiceImpl.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/specieslibrary/SpeciesLibraryServiceImpl.java index 3d30873a..b1cdceeb 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/specieslibrary/SpeciesLibraryServiceImpl.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/specieslibrary/SpeciesLibraryServiceImpl.java @@ -397,7 +397,7 @@ public class SpeciesLibraryServiceImpl implements SpeciesLibraryService { } // 构建完整的树结构用于查询 - List fullTree = buildTree(allDicts); + List fullTree = buildTree(matchedDicts); Set resultIds = new HashSet<>(); List result = new ArrayList<>(); @@ -419,7 +419,16 @@ public class SpeciesLibraryServiceImpl implements SpeciesLibraryService { } } - return result; + return result.stream() + .collect(Collectors.collectingAndThen( + Collectors.toMap( + SpeciesTwoLevelTreeRespVO::getName, + item -> item, + (existing, replacement) -> existing, // 保留第一个出现的 + LinkedHashMap::new + ), + map -> new ArrayList<>(map.values()) + )); } /**