
@Override
public List listWithTree() {
// 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条)