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/HeLibraryAssortServiceImpl.java | 41 ++++++++++++++++++++--------------------- 1 files changed, 20 insertions(+), 21 deletions(-) diff --git a/smartor/src/main/java/com/smartor/service/impl/HeLibraryAssortServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/HeLibraryAssortServiceImpl.java index a7adeaf..496694b 100644 --- a/smartor/src/main/java/com/smartor/service/impl/HeLibraryAssortServiceImpl.java +++ b/smartor/src/main/java/com/smartor/service/impl/HeLibraryAssortServiceImpl.java @@ -49,31 +49,30 @@ @Override public List<HeLibraryAssortVO> selectHeLibraryAssortList(HeLibraryAssort heLibraryAssort) { List<HeLibraryAssort> heLibraryAssorts = heLibraryAssortMapper.selectHeLibraryAssortList(heLibraryAssort); - //灏唒id涓虹┖鐨勶紝杩囨护鎺� - List<HeLibraryAssort> heLibraryAssortList2 = new ArrayList<>(); - for (HeLibraryAssort heLibraryAssort1 : heLibraryAssorts) { -// if (heLibraryAssort1.getPid() != null) { - heLibraryAssortList2.add(heLibraryAssort1); -// } + List<HeLibraryAssortVO> heLibraryAssortVOS = DtoConversionUtils.sourceToTarget(heLibraryAssorts, HeLibraryAssortVO.class); + + List<HeLibraryAssortVO> rootList = new ArrayList<>(); + Map<Long, HeLibraryAssortVO> categoryMap = new HashMap<>(); + + // 寤虹珛id->瀵硅薄鐨勬槧灏� + for (HeLibraryAssortVO category : heLibraryAssortVOS) { + categoryMap.put(category.getId(), category); } - List<HeLibraryAssortVO> heLibraryAssortVOS = DtoConversionUtils.sourceToTarget(heLibraryAssortList2, HeLibraryAssortVO.class); - //閬嶅巻鏌ュ嚭鏉ョ殑鏁版嵁锛岄�氳繃 id=pid 鑾峰彇浠栦滑鐨勫瓙鏁版嵁 - List<HeLibraryAssortVO> heLibraryAssortVOArrayList = new ArrayList<>(); - for (HeLibraryAssortVO heLibraryAssortVO : heLibraryAssortVOS) { -// if (heLibraryAssortVO.getPid() != null) { -// continue; -// } - HeLibraryAssort heLibraryAssort1 = new HeLibraryAssort(); - heLibraryAssort1.setPid(heLibraryAssortVO.getId()); - List<HeLibraryAssort> heLibraryAssortList = heLibraryAssortMapper.selectHeLibraryAssortList(heLibraryAssort1); - - if (!Collections.isEmpty(heLibraryAssortList)) { - heLibraryAssortVO.setHeLibraryAssortList(heLibraryAssortList); + for (HeLibraryAssortVO category : heLibraryAssortVOS) { + if (category.getPid() == null || category.getPid() == -1) { + // 椤跺眰鑺傜偣 + rootList.add(category); + } else { + // 鎵惧埌鐖惰妭鐐癸紝骞舵坊鍔犲埌鍏跺瓙鑺傜偣鍒楄〃 + HeLibraryAssortVO parent = categoryMap.get(category.getPid()); + if (parent != null) { + HeLibraryAssort sc = DtoConversionUtils.sourceToTarget(category, HeLibraryAssort.class); + parent.getHeLibraryAssortList().add(sc); + } } - heLibraryAssortVOArrayList.add(heLibraryAssortVO); } - return heLibraryAssortVOArrayList; + return rootList; } /** -- Gitblit v1.9.3