| | |
| | | package com.ruoyi.system.controller; |
| | | |
| | | import com.alibaba.nacos.shaded.org.checkerframework.checker.units.qual.A; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.ruoyi.common.core.text.Convert; |
| | |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.boot.SpringApplication; |
| | | import org.springframework.util.CollectionUtils; |
| | | import org.springframework.util.StringUtils; |
| | | import org.springframework.validation.annotation.Validated; |
| | |
| | | @GetMapping("/roleInfoFromUserId") |
| | | public AjaxResult<List<SysMenus>> roleInfoFromUserId( @RequestParam Long userId) |
| | | { |
| | | SysUserRole one = sysUserRoleService.getOne(new LambdaQueryWrapper<SysUserRole>().eq(SysUserRole::getUserId, userId)); |
| | | Long id =one.getRoleId(); |
| | | // 获取当前角色的菜单id |
| | | List<Long> menusId = sysRoleMenuMapper.selectList(new LambdaQueryWrapper<SysRoleMenu>().eq(SysRoleMenu::getRoleId, id)).stream().map(SysRoleMenu::getMenuId).collect(Collectors.toList()); |
| | | // 获取所有菜单ids |
| | | List<Long> menusId1 = menuMapper.selectList(new LambdaQueryWrapper<SysMenu>()).stream().map(SysMenu::getMenuId).collect(Collectors.toList()); |
| | | System.err.println("进入"); |
| | | try { |
| | | SysUserRole one = sysUserRoleService.getOne(new LambdaQueryWrapper<SysUserRole>().eq(SysUserRole::getUserId, userId)); |
| | | Long id =one.getRoleId(); |
| | | // 获取当前角色的菜单id |
| | | List<Long> menusId = sysRoleMenuMapper.selectList(new LambdaQueryWrapper<SysRoleMenu>().eq(SysRoleMenu::getRoleId, id)).stream().map(SysRoleMenu::getMenuId).collect(Collectors.toList()); |
| | | // 获取所有菜单ids |
| | | List<Long> menusId1 = menuMapper.selectList(new LambdaQueryWrapper<SysMenu>()).stream().map(SysMenu::getMenuId).collect(Collectors.toList()); |
| | | |
| | | if(CollectionUtils.isEmpty(menusId)){ |
| | | return AjaxResult.success(new ArrayList<>()); |
| | | } |
| | | |
| | | //获取所有的权限菜单 |
| | | List<SysMenus> all = menuMapper.getAllInIds(menusId1); |
| | | for (SysMenus sysMenus : all) { |
| | | if (menusId.contains(sysMenus.getMenuId())){ |
| | | sysMenus.setIsHave(1); |
| | | }else{ |
| | | sysMenus.setIsHave(2); |
| | | if(CollectionUtils.isEmpty(menusId)){ |
| | | return AjaxResult.success(new ArrayList<>()); |
| | | } |
| | | } |
| | | // 第三级 |
| | | List<SysMenus> s3 = all.stream().filter(e -> e.getMenuType().equals("F")).collect(Collectors.toList()); |
| | | // 第二级 |
| | | List<SysMenus> s2 = all.stream().filter(e -> e.getMenuType().equals("C")).collect(Collectors.toList()); |
| | | // 第一级 |
| | | List<SysMenus> s1 = all.stream().filter(e -> e.getMenuType().equals("M")).collect(Collectors.toList()); |
| | | |
| | | for (SysMenus menus : s2) { |
| | | List<SysMenus> collect = s3.stream().filter(e -> e.getParentId().equals(menus.getMenuId())).collect(Collectors.toList()); |
| | | menus.setChildren(collect); |
| | | } |
| | | //获取所有的权限菜单 |
| | | List<SysMenus> all = menuMapper.getAllInIds(menusId1); |
| | | for (SysMenus sysMenus : all) { |
| | | if (menusId.contains(sysMenus.getMenuId())){ |
| | | sysMenus.setIsHave(1); |
| | | }else{ |
| | | sysMenus.setIsHave(2); |
| | | } |
| | | } |
| | | // 第三级 |
| | | List<SysMenus> s3 = all.stream().filter(e -> e.getMenuType().equals("F")).collect(Collectors.toList()); |
| | | // 第二级 |
| | | List<SysMenus> s2 = all.stream().filter(e -> e.getMenuType().equals("C")).collect(Collectors.toList()); |
| | | // 第一级 |
| | | List<SysMenus> s1 = all.stream().filter(e -> e.getMenuType().equals("M")).collect(Collectors.toList()); |
| | | |
| | | for (SysMenus menus : s1) { |
| | | List<SysMenus> collect = s2.stream().filter(e -> e.getParentId().equals(menus.getMenuId())).collect(Collectors.toList()); |
| | | menus.setChildren(collect); |
| | | for (SysMenus menus : s2) { |
| | | List<SysMenus> collect = s3.stream().filter(e -> e.getParentId().equals(menus.getMenuId())).collect(Collectors.toList()); |
| | | menus.setChildren(collect); |
| | | } |
| | | |
| | | for (SysMenus menus : s1) { |
| | | List<SysMenus> collect = s2.stream().filter(e -> e.getParentId().equals(menus.getMenuId())).collect(Collectors.toList()); |
| | | menus.setChildren(collect); |
| | | } |
| | | return AjaxResult.success(s1); |
| | | |
| | | }catch (Exception e){ |
| | | System.err.println("捕获"); |
| | | e.printStackTrace(); |
| | | } |
| | | return AjaxResult.success(s1); |
| | | return AjaxResult.success(); |
| | | } |
| | | |
| | | |