public ResData treeMenus(Integer uid) throws BusinessException {
List<Menu> menuList = this.baseMapper.selectMenusByUserId(uid);
List<Menu> result = menuList.stream()
.filter(menu -> menu.getParentId().equals(0L))
.map(menu -> covert(menu, menuList)).collect(Collectors.toList());
return ResData.ok(result);
}
/**
* 将菜单转换为带有子级菜单对象
* 当找不到子级菜单的时候map操作不会再递归调用covert
*/
private Menu covert(Menu menu, List<Menu> menuList) {
List<Menu> children = menuList.stream()
.filter(itme -> itme.getParentId().equals(menu.getId()))
.map(itme -> covert(itme, menuList)).collect(Collectors.toList());
menu.setChildList(children);
return menu;
}
版权声明:本文为qq_45834006原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。