@Override public ListlistWithTree() { // 1 查出所有分类 List entities = baseMapper.selectList(null); // 2 组装成父子的树形结构 List level1Menus = entities.stream() .filter(categoryEntity -> categoryEntity.getParentCid() == 0 //通过ParentCid = 0找出一级分类 ).map(item -> { item.setChildren(getChrlidens(item, entities));//获取二级分类 return item; }).sorted((menu1,menu2)->{ return (menu1.getSort() == null?0:menu1.getSort()) - (menu2.getSort() == null?0:menu2.getSort()); }).collect(Collectors.toList()); return level1Menus; } //从allList中获取root子分类 private List getChrlidens(CategoryEntity root, List allList) { List categoryTree = allList.stream() .filter(categoryEntity -> categoryEntity.getParentCid().equals(root.getCatId())//通过当前商品的父Id == 一级分类的ID查找子分类 ).map(item -> { item.setChildren(getChrlidens(item, allList));//获取三级分类 return item; }).sorted((menu1,menu2)->{ return (menu1.getSort() == null?0:menu1.getSort()) - (menu2.getSort() == null?0:menu2.getSort()); }).collect(Collectors.toList()); return categoryTree; }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)