diff --git a/backend/src/main/java/com/qqchen/deploy/backend/deploy/service/impl/ApplicationServiceImpl.java b/backend/src/main/java/com/qqchen/deploy/backend/deploy/service/impl/ApplicationServiceImpl.java index 46c9bc92..2f535bea 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/deploy/service/impl/ApplicationServiceImpl.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/deploy/service/impl/ApplicationServiceImpl.java @@ -65,16 +65,16 @@ public class ApplicationServiceImpl extends BaseServiceImpl page(ApplicationQuery query) { - Page page = super.page(query); - List content = page.getContent(); - - if (content.isEmpty()) { - return page; + /** + * 填充应用的关联数据(分类和团队数量) + */ + private void fillApplicationRelations(List applications) { + if (applications.isEmpty()) { + return; } // 批量查询应用分类 - List categoryIds = content.stream() + List categoryIds = applications.stream() .map(ApplicationDTO::getApplicationCategoryId) .filter(java.util.Objects::nonNull) .distinct() @@ -87,7 +87,7 @@ public class ApplicationServiceImpl extends BaseServiceImpl applicationIds = content.stream() + List applicationIds = applications.stream() .map(ApplicationDTO::getId) .collect(toList()); java.util.Map teamCountMap = new java.util.HashMap<>(); @@ -101,14 +101,26 @@ public class ApplicationServiceImpl extends BaseServiceImpl { + applications.forEach(application -> { if (application.getApplicationCategoryId() != null) { application.setApplicationCategory(categoryMap.get(application.getApplicationCategoryId())); } application.setTeamCount(teamCountMap.getOrDefault(application.getId(), 0L)); }); + } - return new PageImpl<>(content, page.getPageable(), page.getTotalElements()); + @Override + public Page page(ApplicationQuery query) { + Page page = super.page(query); + fillApplicationRelations(page.getContent()); + return page; + } + + @Override + public List findAll(ApplicationQuery query) { + List list = super.findAll(query); + fillApplicationRelations(list); + return list; }