list集合 樹(shù) 三層集合嵌套 {..{..{..}}}


手機(jī)版商品分類??

查詢一級(jí)分類所有? 和一級(jí)分類下第一個(gè)子元素的二級(jí)集合 和第一個(gè)分類下的所有三級(jí)集合

//記錄分類編號(hào)

Long cateId =null;

List?result =new ArrayList<>();

//一級(jí)分類集合

List?cates =null;

if (mobcatebarId ==null) {

cates =mobRepository.selectOneMobCate();

}else {

cates =mobRepository.selectOneMobCate(mobcatebarId);

}

//獲取一級(jí)分類集合中首個(gè)分類的編號(hào)

?if (cates !=null) {

//一級(jí)分類不存在時(shí)的異常處理

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

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

}

//設(shè)置返回的一級(jí)分類詳細(xì)

?cates.forEach(cate -> {

MobCateBarVo mobCateBarVo =new MobCateBarVo();

BeanUtils.copyProperties(cate,mobCateBarVo);

result.add(mobCateBarVo);

});

if (mobcatebarId ==null) {

//默認(rèn)第一個(gè)分類的編號(hào)

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

}else {

//賦值

?cateId = mobcatebarId;

}

}else{

//一級(jí)分類不存在時(shí)的異常處理

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

}

//二級(jí)子分類集合

List?cateBars =mobRepository.queryUsingMobCateBar(cateId);

List?vos =new ArrayList<>();

//根據(jù)二級(jí)子分類集合,分別獲取每個(gè)二級(jí)子分類集合的三級(jí)分類

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

//集合轉(zhuǎn)類型

MobCateBarVo subVo2 =new MobCateBarVo();

BeanUtils.copyProperties(cateTwo,subVo2);

//記錄三級(jí)分類編號(hào)

Long cateIds = cateTwo.getCateBarId();

//獲取三級(jí)分類集合

List?mobCateBars =mobRepository.queryUsingMobCateBar(cateIds);

List?mobVos =new ArrayList<>();

//設(shè)定二級(jí)分類所有三級(jí)分類

?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);

// 將取得的二級(jí)分類和三級(jí)分類設(shè)定到一級(jí)分類中

if (cates !=null) {

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

}

//返回一級(jí)二級(jí)三級(jí)分類的樹(shù)型結(jié)構(gòu)

?return result;

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法,類相關(guān)的語(yǔ)法,內(nèi)部類的語(yǔ)法,繼承相關(guān)的語(yǔ)法,異常的語(yǔ)法,線程的語(yǔ)...
    子非魚_t_閱讀 31,759評(píng)論 18 399
  • 在一個(gè)方法內(nèi)部定義的變量都存儲(chǔ)在棧中,當(dāng)這個(gè)函數(shù)運(yùn)行結(jié)束后,其對(duì)應(yīng)的棧就會(huì)被回收,此時(shí),在其方法體中定義的變量將不...
    Y了個(gè)J閱讀 4,438評(píng)論 1 14
  • 你也許會(huì)罵我不知道珍惜這一切,但我只想說(shuō)可能是吧 我遠(yuǎn)遠(yuǎn)的推開(kāi)所以想要和我親近的人 這或許不是我的本心,但我不由自...
    海棠花未眠h(yuǎn)ss閱讀 198評(píng)論 1 3
  • 對(duì)文字的喜歡,由來(lái)已久。想寫文字,由來(lái)已久。希望在簡(jiǎn)書,一步步用文字記錄;希望在簡(jiǎn)書,讓我的由來(lái)已久,變成每日隨行。
    遁格閱讀 140評(píng)論 0 0
  • 一同在雨聲里做夢(mèng),一同在雨聲里失眠。這一點(diǎn)靈感,也時(shí)時(shí)能給彼此帶來(lái)慰籍,想星輝一樣照亮你。縱使離別的時(shí)候,我亦在你...
    kingstar國(guó)殤閱讀 136評(píng)論 0 0