public List<MdClassifyVO> select() { // 查询所有分类 List<MdClassifyVO> classifyList = mdClassifyMapper.select(null); // 获取父节点分类 List<MdClassifyVO> resultList = classifyList.stream().filter(r -> r.getParentId() == 0).collect(Collectors.toList()); resultList.forEach(r -> { handleClassifyChild(r, classifyList); }); return resultList; }
/** * 递归处理分类父子数据 */ private void handleClassifyChild(MdClassifyVO classify, List<MdClassifyVO> classifyList) { // 查询子节点数据 List<MdClassifyVO> childList = classifyList.stream().filter(f -> f.getParentId().equals(classify.getId())).collect(Collectors.toList()); classify.setClassifyChildList(childList); // 递归调用查询子集 classify.getClassifyChildList().stream().forEach(r -> { handleClassifyChild(r, classifyList); }); }