liusheng
12 小时以前 c62e26954e41360fc6a2efc874815aa84f8b0073
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);
        //将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;
    }
    /**