From 0c621621889c90a119e2ff9e41c4f5528f395f7e Mon Sep 17 00:00:00 2001 From: liusheng <337615773@qq.com> Date: 星期五, 16 五月 2025 16:04:18 +0800 Subject: [PATCH] 代码提交 --- smartor/src/main/java/com/smartor/service/impl/SvyLibTemplateCategoryServiceImpl.java | 38 ++++++++++++++++++++++++-------------- 1 files changed, 24 insertions(+), 14 deletions(-) diff --git a/smartor/src/main/java/com/smartor/service/impl/SvyLibTemplateCategoryServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/SvyLibTemplateCategoryServiceImpl.java index 4173e4d..17594c5 100644 --- a/smartor/src/main/java/com/smartor/service/impl/SvyLibTemplateCategoryServiceImpl.java +++ b/smartor/src/main/java/com/smartor/service/impl/SvyLibTemplateCategoryServiceImpl.java @@ -14,7 +14,10 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; import java.util.stream.Collectors; /** @@ -49,23 +52,30 @@ @Override public List<SvyLibTemplateCategoryVO> selectSvyLibTemplateCategoryList(SvyLibTemplateCategory svyLibTemplateCategory) { List<SvyLibTemplateCategory> svyLibTemplateCategories = svyLibTemplateCategoryMapper.selectSvyLibTemplateCategoryList(svyLibTemplateCategory); - //灏唒id涓虹┖鐨勶紝杩囨护鎺� -// svyLibTemplateCategories = svyLibTemplateCategories.stream().filter(assort -> assort.getPid() == null).collect(Collectors.toList()); - List<SvyLibTemplateCategoryVO> svyLibTemplateCategoryVOList = DtoConversionUtils.sourceToTarget(svyLibTemplateCategories, SvyLibTemplateCategoryVO.class); - //閬嶅巻鏌ュ嚭鏉ョ殑鏁版嵁锛岄�氳繃 id=pid 鑾峰彇浠栦滑鐨勫瓙鏁版嵁 - for (SvyLibTemplateCategoryVO svyLibTemplateCategoryVO : svyLibTemplateCategoryVOList) { -// if (svyLibTemplateCategoryVO.getPid() != null) { -// continue; -// } - SvyLibTemplateCategory svyLibTemplateCategory1 = new SvyLibTemplateCategory(); - svyLibTemplateCategory1.setPid(svyLibTemplateCategoryVO.getId()); - List<SvyLibTemplateCategory> svyLibTemplateCategoryList = svyLibTemplateCategoryMapper.selectSvyLibTemplateCategoryList(svyLibTemplateCategory1); - if (!Collections.isEmpty(svyLibTemplateCategoryList)) { - svyLibTemplateCategoryVO.setSvyLibTemplateCategoryList(svyLibTemplateCategoryList); + + List<SvyLibTemplateCategoryVO> rootList = new ArrayList<>(); + Map<Long, SvyLibTemplateCategoryVO> categoryMap = new HashMap<>(); + + // 寤虹珛id->瀵硅薄鐨勬槧灏� + for (SvyLibTemplateCategoryVO category : svyLibTemplateCategoryVOList) { + categoryMap.put(category.getId(), category); + } + + for (SvyLibTemplateCategoryVO category : svyLibTemplateCategoryVOList) { + if (category.getPid() == null || category.getPid() == -1) { + // 椤跺眰鑺傜偣 + rootList.add(category); + } else { + // 鎵惧埌鐖惰妭鐐癸紝骞舵坊鍔犲埌鍏跺瓙鑺傜偣鍒楄〃 + SvyLibTemplateCategoryVO parent = categoryMap.get(category.getPid()); + if (parent != null) { + SvyLibTemplateCategory sc = DtoConversionUtils.sourceToTarget(category, SvyLibTemplateCategory.class); + parent.getSvyLibTemplateCategoryList().add(sc); + } } } - return svyLibTemplateCategoryVOList; + return rootList; } /** -- Gitblit v1.9.3