| | |
| | | import java.util.Arrays; |
| | | import java.util.HashSet; |
| | | import java.util.Iterator; |
| | | import java.util.LinkedHashMap; |
| | | import java.util.LinkedList; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.Set; |
| | | import java.util.stream.Collectors; |
| | | import org.slf4j.Logger; |
| | |
| | | import com.ruoyi.common.utils.SecurityUtils; |
| | | import com.ruoyi.common.utils.StringUtils; |
| | | import com.ruoyi.system.domain.vo.MetaVo; |
| | | import com.ruoyi.system.domain.vo.MenuPermissionVo; |
| | | import com.ruoyi.system.domain.vo.RouterVo; |
| | | import com.ruoyi.system.mapper.SysMenuMapper; |
| | | import com.ruoyi.system.mapper.SysRoleMapper; |
| | |
| | | private SysRoleMenuMapper roleMenuMapper; |
| | | |
| | | /** |
| | | * 查询全部菜单,并转换为权限配置表格直接使用的三级结构。 |
| | | */ |
| | | @Override |
| | | public List<MenuPermissionVo> selectMenuPermissionList() |
| | | { |
| | | List<SysMenu> menus = menuMapper.selectMenuList(new SysMenu()); |
| | | Map<Long, MenuPermissionVo> modules = new LinkedHashMap<>(); |
| | | Map<Long, MenuPermissionVo.Page> pages = new LinkedHashMap<>(); |
| | | |
| | | for (SysMenu menu : menus) |
| | | { |
| | | if (UserConstants.TYPE_DIR.equals(menu.getMenuType()) && MENU_ROOT_ID.equals(menu.getParentId())) |
| | | { |
| | | modules.put(menu.getMenuId(), new MenuPermissionVo(menu.getMenuId(), menu.getMenuName())); |
| | | } |
| | | } |
| | | for (SysMenu menu : menus) |
| | | { |
| | | MenuPermissionVo module = modules.get(menu.getParentId()); |
| | | if (module != null && UserConstants.TYPE_MENU.equals(menu.getMenuType())) |
| | | { |
| | | MenuPermissionVo.Page page = new MenuPermissionVo.Page(menu.getMenuId(), menu.getMenuName()); |
| | | module.getPages().add(page); |
| | | pages.put(menu.getMenuId(), page); |
| | | } |
| | | } |
| | | for (SysMenu menu : menus) |
| | | { |
| | | MenuPermissionVo.Page page = pages.get(menu.getParentId()); |
| | | if (page != null && UserConstants.TYPE_BUTTON.equals(menu.getMenuType())) |
| | | { |
| | | page.getPermissions().add(new MenuPermissionVo.Permission( |
| | | menu.getMenuId(), menu.getMenuName(), menu.getPerms())); |
| | | } |
| | | } |
| | | return new ArrayList<>(modules.values()); |
| | | } |
| | | |
| | | /** |
| | | * 根据用户查询系统菜单列表 |
| | | * |
| | | * @param userId 用户ID |