@Override
public List
<CategoryEntity> listTree() {
List
<CategoryEntity> categoryEntities
= baseMapper
.selectList(null
);
List
<CategoryEntity> level1Menu
= categoryEntities
.stream().filter((CategoryEntity
) -> {
return CategoryEntity
.getParentCid() == 0;
}).map((menu
)->{
menu
.setChildren(getChildren(menu
,categoryEntities
));
return menu
;
}).sorted((menu1
,menu2
)->{
return (menu1
.getSort()==null
?0:menu1
.getSort())-(menu2
.getSort()==null
?0:menu2
.getSort());
}).collect(Collectors
.toList());
return level1Menu
;
}
private List
<CategoryEntity>getChildren(CategoryEntity root
, List
<CategoryEntity>all
)
{
List
<CategoryEntity> children
= all
.stream().filter(categoryEntity
-> {
return categoryEntity
.getParentCid() == root
.getCatId();
}).map(categoryEntity
-> {
categoryEntity
.setChildren(getChildren(categoryEntity
,all
));
return categoryEntity
;
}).sorted((menu1
,menu2
)->{
return (menu1
.getSort()==null
?0:menu1
.getSort())-(menu2
.getSort()==null
?0:menu2
.getSort());
}).collect(Collectors
.toList());
return children
;
}
转载请注明原文地址: https://lol.8miu.com/read-30905.html