| | |
| | | @ApiModelProperty(value = "创建人", example = "") |
| | | @TableField("create_by") |
| | | private Long createBy; |
| | | |
| | | @ApiModelProperty(value = "0:未开启 1:已开启", example = "") |
| | | @TableField("signature_flag") |
| | | private Integer signatureFlag; |
| | | } |
| | |
| | | @TableField("level") |
| | | private Integer level; |
| | | |
| | | @ApiModelProperty(value = "选中", example = "") |
| | | @TableField("selected") |
| | | private String selected; |
| | | } |
| | | |
| | |
| | | @TableField("deleted_flag") |
| | | @TableLogic |
| | | private Integer deletedFlag; |
| | | |
| | | @ApiModelProperty(value = "签名地址", example = "") |
| | | @TableField("signature_path") |
| | | private String signaturePath; |
| | | } |
| | | |
| | |
| | | @TableField("selected") |
| | | private String selected; |
| | | |
| | | @ApiModelProperty(value = "签名地址", example = "") |
| | | @TableField("signature_path") |
| | | private String signaturePath; |
| | | |
| | | |
| | | } |
| | |
| | | @GetMapping("/dynamicMenu") |
| | | @ApiOperation(value = "菜单列表", notes = "传入menu") |
| | | public R<List<MenuVO>> dynamicMenu(String roleId, Long topMenuId, @RequestParam(value = "labelType", required = false) Integer labelType) { |
| | | List<MenuVO> list = menuService.routes(roleId, topMenuId,labelType); |
| | | List<MenuVO> list = menuService.routes(roleId, topMenuId,labelType,1); |
| | | return R.data(list); |
| | | } |
| | | |
| | |
| | | @ApiOperationSupport(order = 8) |
| | | @ApiOperation(value = "前端菜单数据", notes = "前端菜单数据") |
| | | public R<List<MenuVO>> routes(BladeUser user, Long topMenuId) { |
| | | List<MenuVO> list = menuService.routes((user == null) ? null : user.getRoleId(), topMenuId,null); |
| | | List<MenuVO> list = menuService.routes((user == null) ? null : user.getRoleId(), topMenuId,null,0); |
| | | return R.data(list); |
| | | } |
| | | |
| | |
| | | * @param roleId |
| | | * @return |
| | | */ |
| | | List<Menu> roleMenuByRoleId(List<Long> roleId); |
| | | List<Menu> roleMenuByRoleId(List<Long> roleId,Integer menuType); |
| | | |
| | | /** |
| | | * 权限配置菜单 |
| | |
| | | </select> |
| | | |
| | | <select id="roleMenuByRoleId" resultMap="menuResultMap"> |
| | | select * from blade_menu where is_deleted = 0 and id IN |
| | | select * from blade_menu where is_deleted = 0 and menu_type = #{param2} and id IN |
| | | ( SELECT menu_id FROM blade_role_menu WHERE role_id IN |
| | | <foreach collection="list" index="index" item="item" open="(" separator="," close=")"> |
| | | <foreach collection="param1" index="index" item="item" open="(" separator="," close=")"> |
| | | #{item} |
| | | </foreach> |
| | | ) |
| | |
| | | * @param topMenuId |
| | | * @return |
| | | */ |
| | | List<MenuVO> routes(String roleId, Long topMenuId,Integer labelType); |
| | | List<MenuVO> routes(String roleId, Long topMenuId,Integer labelType,Integer menuType); |
| | | |
| | | /** |
| | | * 菜单树形结构 |
| | |
| | | |
| | | |
| | | @Override |
| | | public List<MenuVO> routes(String roleId, Long topMenuId, Integer labelType) { |
| | | public List<MenuVO> routes(String roleId, Long topMenuId, Integer labelType,Integer menuType) { |
| | | if (StringUtil.isBlank(roleId)) { |
| | | return null; |
| | | } |
| | | List<Menu> allMenus = baseMapper.allMenu(); |
| | | List<Menu> allMenus = baseMapper.selectList(Wrappers.<Menu>lambdaQuery().eq(Menu::getCategory,1).eq(Menu::getMenuType,menuType)); |
| | | List<Menu> roleMenus; |
| | | // 超级管理员并且不是顶部菜单请求则返回全部菜单 |
| | | if (AuthUtil.isAdministrator() && Func.isEmpty(topMenuId)) { |
| | | roleMenus = allMenus.stream().filter(a -> a.getMenuType().equals(0)).collect(Collectors.toList()); |
| | | roleMenus = allMenus; |
| | | } |
| | | // 非超级管理员并且不是顶部菜单请求则返回对应角色权限菜单 |
| | | else if (!AuthUtil.isAdministrator() && Func.isEmpty(topMenuId)) { |
| | | roleMenus = tenantPackageMenu(baseMapper.roleMenuByRoleId(Func.toLongList(roleId))); |
| | | roleMenus = tenantPackageMenu(baseMapper.roleMenuByRoleId(Func.toLongList(roleId), menuType)); |
| | | UserHouseLabelDTO userHouseLabelDTO = new UserHouseLabelDTO(); |
| | | userHouseLabelDTO.setUserId(AuthUtil.getUserId()); |
| | | userHouseLabelDTO.setLableType(labelType); |
| | |
| | | // 顶部菜单请求返回对应角色权限菜单 |
| | | else { |
| | | // 角色配置对应菜单 |
| | | List<Menu> roleIdMenus = baseMapper.roleMenuByRoleId(Func.toLongList(roleId)); |
| | | List<Menu> roleIdMenus = baseMapper.roleMenuByRoleId(Func.toLongList(roleId),menuType); |
| | | // 反向递归角色菜单所有父级 |
| | | List<Menu> routes = new LinkedList<>(roleIdMenus); |
| | | roleIdMenus.forEach(roleMenu -> recursion(allMenus, routes, roleMenu)); |