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


手机版商品分类  

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

//记录分类编号

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;

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 32,261评论 18 399
  • 在一个方法内部定义的变量都存储在栈中,当这个函数运行结束后,其对应的栈就会被回收,此时,在其方法体中定义的变量将不...
    Y了个J阅读 9,882评论 1 14
  • 你也许会骂我不知道珍惜这一切,但我只想说可能是吧 我远远的推开所以想要和我亲近的人 这或许不是我的本心,但我不由自...
    海棠花未眠hss阅读 1,477评论 1 3
  • 对文字的喜欢,由来已久。想写文字,由来已久。希望在简书,一步步用文字记录;希望在简书,让我的由来已久,变成每日随行。
    遁格阅读 1,207评论 0 0
  • 一同在雨声里做梦,一同在雨声里失眠。这一点灵感,也时时能给彼此带来慰籍,想星辉一样照亮你。纵使离别的时候,我亦在你...
    kingstar国殇阅读 1,247评论 0 0

友情链接更多精彩内容