java-三级分类

java-三级分类,第1张

java-三级分类
 
    @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;
    }

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5697622.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存