美文网首页
list集合 树 三层集合嵌套 {..{..{..}}}

list集合 树 三层集合嵌套 {..{..{..}}}

作者: 王叶叶m | 来源:发表于2018-11-26 17:28 被阅读0次


    手机版商品分类  

    查询一级分类所有  和一级分类下第一个子元素的二级集合 和第一个分类下的所有三级集合

    //记录分类编号

    Long cateId =null;

    List result =new ArrayList<>();

    //一级分类集合

    List cates =null;

    if (mobcatebarId ==null) {

    cates =mobRepository.selectOneMobCate();

    }else {

    cates =mobRepository.selectOneMobCate(mobcatebarId);

    }

    //获取一级分类集合中首个分类的编号

     if (cates !=null) {

    //一级分类不存在时的异常处理

      if(cates.size() ==0){

    throw new ServiceException(ErrorCodeDef.GOODS_CATEGORY_NOT_EXISTING,"商品分类不存在");

    }

    //设置返回的一级分类详细

     cates.forEach(cate -> {

    MobCateBarVo mobCateBarVo =new MobCateBarVo();

    BeanUtils.copyProperties(cate,mobCateBarVo);

    result.add(mobCateBarVo);

    });

    if (mobcatebarId ==null) {

    //默认第一个分类的编号

     cateId = cates.get(0).getCateBarId();

    }else {

    //赋值

     cateId = mobcatebarId;

    }

    }else{

    //一级分类不存在时的异常处理

    throw new ServiceException(ErrorCodeDef.GOODS_CATEGORY_NOT_EXISTING,"商品分类不存在");

    }

    //二级子分类集合

    List cateBars =mobRepository.queryUsingMobCateBar(cateId);

    List vos =new ArrayList<>();

    //根据二级子分类集合,分别获取每个二级子分类集合的三级分类

    cateBars.stream().map(cateTwo-> {

    //集合转类型

    MobCateBarVo subVo2 =new MobCateBarVo();

    BeanUtils.copyProperties(cateTwo,subVo2);

    //记录三级分类编号

    Long cateIds = cateTwo.getCateBarId();

    //获取三级分类集合

    List mobCateBars =mobRepository.queryUsingMobCateBar(cateIds);

    List mobVos =new ArrayList<>();

    //设定二级分类所有三级分类

     mobCateBars.stream().map(cateThree ->{

    MobCateBarVo subVo3 =new MobCateBarVo();

    BeanUtils.copyProperties(cateThree,subVo3);

    return subVo3;

    }).forEach(mobVos::add);

    subVo2.setChilds(mobVos);

    return subVo2;

    }).forEach(vos::add);

    // 将取得的二级分类和三级分类设定到一级分类中

    if (cates !=null) {

    result.get(0).setChilds(vos);

    }

    //返回一级二级三级分类的树型结构

     return result;

    相关文章

      网友评论

          本文标题:list集合 树 三层集合嵌套 {..{..{..}}}

          本文链接:https://www.haomeiwen.com/subject/yqzbqqtx.html