| | |
| | | @Override |
| | | public List<HeLibraryAssortVO> selectHeLibraryAssortList(HeLibraryAssort heLibraryAssort) { |
| | | List<HeLibraryAssort> heLibraryAssorts = heLibraryAssortMapper.selectHeLibraryAssortList(heLibraryAssort); |
| | | //将pid为空的,过滤掉 |
| | | 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; |
| | | 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); |
| | | } |
| | | } |
| | | HeLibraryAssort heLibraryAssort1 = new HeLibraryAssort(); |
| | | heLibraryAssort1.setPid(heLibraryAssortVO.getId()); |
| | | List<HeLibraryAssort> heLibraryAssortList = heLibraryAssortMapper.selectHeLibraryAssortList(heLibraryAssort1); |
| | | |
| | | if (!Collections.isEmpty(heLibraryAssortList)) { |
| | | heLibraryAssortVO.setHeLibraryAssortList(heLibraryAssortList); |
| | | } |
| | | heLibraryAssortVOArrayList.add(heLibraryAssortVO); |
| | | } |
| | | return heLibraryAssortVOArrayList; |
| | | return rootList; |
| | | } |
| | | |
| | | /** |