递归获取菜单栏

天涯浪子 提交于 2020-01-18 16:48:40
@Overridepublic BaseResponse<?> listChildSort(){    //查找所有最上级菜单    List<SysPermission> sysPermissionList = sysPermissionMapper.selectByParentId(0);    List<Children> childrenList = Lists.newArrayList();    for(SysPermission sysPermission : sysPermissionList){        //添加该菜单下及其下级菜单的递归集合        childrenList.add(listChild(sysPermission));    }    if(childrenList.size() == 0 ){        return BaseResponse.createByError("没有数据了");    }    return BaseResponse.createBySuccess(childrenList);}private Children listChild(SysPermission sysPermission){    //新建递归对象    Children children = new Children();    //把当前菜单Id和Name存进该对象    children.setId(sysPermission.getId()+"");    children.setName(sysPermission.getName());    //查找上级菜单为当前菜单ID的菜单    List<SysPermission> sysPermissionList = sysPermissionMapper.selectByParentId(sysPermission.getId().intValue());    List<Children> childrenList = Lists.newArrayList();    //遍历下级菜单    for(SysPermission sysPermissionChild : sysPermissionList){        //递归下级菜单,并存入下级菜单集合        childrenList.add(listChild(sysPermissionChild));    }    //将下级菜单集合存进递归对象    children.setChildren(childrenList.size() > 0 ? childrenList : null);    return children;}
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!