正在显示
5 个修改的文件
包含
53 行增加
和
7 行删除
| @@ -14,8 +14,11 @@ import org.springframework.web.bind.annotation.RequestMapping; | @@ -14,8 +14,11 @@ import org.springframework.web.bind.annotation.RequestMapping; | ||
| 14 | import org.springframework.web.bind.annotation.RestController; | 14 | import org.springframework.web.bind.annotation.RestController; |
| 15 | import com.ruoyi.common.constant.UserConstants; | 15 | import com.ruoyi.common.constant.UserConstants; |
| 16 | import com.ruoyi.common.utils.SecurityUtils; | 16 | import com.ruoyi.common.utils.SecurityUtils; |
| 17 | +import com.ruoyi.common.utils.ServletUtils; | ||
| 17 | import com.ruoyi.framework.aspectj.lang.annotation.Log; | 18 | import com.ruoyi.framework.aspectj.lang.annotation.Log; |
| 18 | import com.ruoyi.framework.aspectj.lang.enums.BusinessType; | 19 | import com.ruoyi.framework.aspectj.lang.enums.BusinessType; |
| 20 | +import com.ruoyi.framework.security.LoginUser; | ||
| 21 | +import com.ruoyi.framework.security.service.TokenService; | ||
| 19 | import com.ruoyi.framework.web.controller.BaseController; | 22 | import com.ruoyi.framework.web.controller.BaseController; |
| 20 | import com.ruoyi.framework.web.domain.AjaxResult; | 23 | import com.ruoyi.framework.web.domain.AjaxResult; |
| 21 | import com.ruoyi.project.system.domain.SysMenu; | 24 | import com.ruoyi.project.system.domain.SysMenu; |
| @@ -33,6 +36,9 @@ public class SysMenuController extends BaseController | @@ -33,6 +36,9 @@ public class SysMenuController extends BaseController | ||
| 33 | @Autowired | 36 | @Autowired |
| 34 | private ISysMenuService menuService; | 37 | private ISysMenuService menuService; |
| 35 | 38 | ||
| 39 | + @Autowired | ||
| 40 | + private TokenService tokenService; | ||
| 41 | + | ||
| 36 | /** | 42 | /** |
| 37 | * 获取菜单列表 | 43 | * 获取菜单列表 |
| 38 | */ | 44 | */ |
| @@ -40,7 +46,9 @@ public class SysMenuController extends BaseController | @@ -40,7 +46,9 @@ public class SysMenuController extends BaseController | ||
| 40 | @GetMapping("/list") | 46 | @GetMapping("/list") |
| 41 | public AjaxResult list(SysMenu menu) | 47 | public AjaxResult list(SysMenu menu) |
| 42 | { | 48 | { |
| 43 | - List<SysMenu> menus = menuService.selectMenuList(menu); | 49 | + LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest()); |
| 50 | + Long userId = loginUser.getUser().getUserId(); | ||
| 51 | + List<SysMenu> menus = menuService.selectMenuList(menu, userId); | ||
| 44 | return AjaxResult.success(menuService.buildMenuTree(menus)); | 52 | return AjaxResult.success(menuService.buildMenuTree(menus)); |
| 45 | } | 53 | } |
| 46 | 54 | ||
| @@ -58,9 +66,11 @@ public class SysMenuController extends BaseController | @@ -58,9 +66,11 @@ public class SysMenuController extends BaseController | ||
| 58 | * 获取菜单下拉树列表 | 66 | * 获取菜单下拉树列表 |
| 59 | */ | 67 | */ |
| 60 | @GetMapping("/treeselect") | 68 | @GetMapping("/treeselect") |
| 61 | - public AjaxResult treeselect(SysMenu dept) | 69 | + public AjaxResult treeselect(SysMenu menu) |
| 62 | { | 70 | { |
| 63 | - List<SysMenu> menus = menuService.selectMenuList(dept); | 71 | + LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest()); |
| 72 | + Long userId = loginUser.getUser().getUserId(); | ||
| 73 | + List<SysMenu> menus = menuService.selectMenuList(menu, userId); | ||
| 64 | return AjaxResult.success(menuService.buildMenuTreeSelect(menus)); | 74 | return AjaxResult.success(menuService.buildMenuTreeSelect(menus)); |
| 65 | } | 75 | } |
| 66 | 76 |
| @@ -27,6 +27,14 @@ public interface SysMenuMapper | @@ -27,6 +27,14 @@ public interface SysMenuMapper | ||
| 27 | public List<String> selectMenuPerms(); | 27 | public List<String> selectMenuPerms(); |
| 28 | 28 | ||
| 29 | /** | 29 | /** |
| 30 | + * 根据用户查询系统菜单列表 | ||
| 31 | + * | ||
| 32 | + * @param menu 菜单信息 | ||
| 33 | + * @return 菜单列表 | ||
| 34 | + */ | ||
| 35 | + public List<SysMenu> selectMenuListByUserId(SysMenu menu); | ||
| 36 | + | ||
| 37 | + /** | ||
| 30 | * 根据用户ID查询权限 | 38 | * 根据用户ID查询权限 |
| 31 | * | 39 | * |
| 32 | * @param userId 用户ID | 40 | * @param userId 用户ID |
| @@ -14,12 +14,13 @@ import com.ruoyi.project.system.domain.vo.RouterVo; | @@ -14,12 +14,13 @@ import com.ruoyi.project.system.domain.vo.RouterVo; | ||
| 14 | public interface ISysMenuService | 14 | public interface ISysMenuService |
| 15 | { | 15 | { |
| 16 | /** | 16 | /** |
| 17 | - * 查询系统菜单列表 | 17 | + * 根据用户查询系统菜单列表 |
| 18 | * | 18 | * |
| 19 | * @param menu 菜单信息 | 19 | * @param menu 菜单信息 |
| 20 | + * @param userId 用户ID | ||
| 20 | * @return 菜单列表 | 21 | * @return 菜单列表 |
| 21 | */ | 22 | */ |
| 22 | - public List<SysMenu> selectMenuList(SysMenu menu); | 23 | + public List<SysMenu> selectMenuList(SysMenu menu, Long userId); |
| 23 | 24 | ||
| 24 | /** | 25 | /** |
| 25 | * 根据用户ID查询权限 | 26 | * 根据用户ID查询权限 |
| @@ -15,6 +15,7 @@ import com.ruoyi.common.utils.SecurityUtils; | @@ -15,6 +15,7 @@ import com.ruoyi.common.utils.SecurityUtils; | ||
| 15 | import com.ruoyi.common.utils.StringUtils; | 15 | import com.ruoyi.common.utils.StringUtils; |
| 16 | import com.ruoyi.framework.web.domain.TreeSelect; | 16 | import com.ruoyi.framework.web.domain.TreeSelect; |
| 17 | import com.ruoyi.project.system.domain.SysMenu; | 17 | import com.ruoyi.project.system.domain.SysMenu; |
| 18 | +import com.ruoyi.project.system.domain.SysUser; | ||
| 18 | import com.ruoyi.project.system.domain.vo.MetaVo; | 19 | import com.ruoyi.project.system.domain.vo.MetaVo; |
| 19 | import com.ruoyi.project.system.domain.vo.RouterVo; | 20 | import com.ruoyi.project.system.domain.vo.RouterVo; |
| 20 | import com.ruoyi.project.system.mapper.SysMenuMapper; | 21 | import com.ruoyi.project.system.mapper.SysMenuMapper; |
| @@ -44,9 +45,19 @@ public class SysMenuServiceImpl implements ISysMenuService | @@ -44,9 +45,19 @@ public class SysMenuServiceImpl implements ISysMenuService | ||
| 44 | * @return 菜单列表 | 45 | * @return 菜单列表 |
| 45 | */ | 46 | */ |
| 46 | @Override | 47 | @Override |
| 47 | - public List<SysMenu> selectMenuList(SysMenu menu) | 48 | + public List<SysMenu> selectMenuList(SysMenu menu, Long userId) |
| 48 | { | 49 | { |
| 49 | - List<SysMenu> menuList = menuMapper.selectMenuList(menu); | 50 | + List<SysMenu> menuList = null; |
| 51 | + // 管理员显示所有菜单信息 | ||
| 52 | + if (SysUser.isAdmin(userId)) | ||
| 53 | + { | ||
| 54 | + menuList = menuMapper.selectMenuList(menu); | ||
| 55 | + } | ||
| 56 | + else | ||
| 57 | + { | ||
| 58 | + menu.getParams().put("userId", userId); | ||
| 59 | + menuList = menuMapper.selectMenuListByUserId(menu); | ||
| 60 | + } | ||
| 50 | return menuList; | 61 | return menuList; |
| 51 | } | 62 | } |
| 52 | 63 |
| @@ -48,6 +48,22 @@ | @@ -48,6 +48,22 @@ | ||
| 48 | order by m.parent_id, m.order_num | 48 | order by m.parent_id, m.order_num |
| 49 | </select> | 49 | </select> |
| 50 | 50 | ||
| 51 | + <select id="selectMenuListByUserId" parameterType="SysMenu" resultMap="SysMenuResult"> | ||
| 52 | + select distinct m.menu_id, m.parent_id, m.menu_name, m.path, m.component, m.visible, ifnull(m.perms,'') as perms, m.is_frame, m.menu_type, m.icon, m.order_num, m.create_time | ||
| 53 | + from sys_menu m | ||
| 54 | + left join sys_role_menu rm on m.menu_id = rm.menu_id | ||
| 55 | + left join sys_user_role ur on rm.role_id = ur.role_id | ||
| 56 | + left join sys_role ro on ur.role_id = ro.role_id | ||
| 57 | + where ur.user_id = #{params.userId} | ||
| 58 | + <if test="menuName != null and menuName != ''"> | ||
| 59 | + AND menu_name like concat('%', #{menuName}, '%') | ||
| 60 | + </if> | ||
| 61 | + <if test="visible != null and visible != ''"> | ||
| 62 | + AND visible = #{visible} | ||
| 63 | + </if> | ||
| 64 | + order by m.parent_id, m.order_num | ||
| 65 | + </select> | ||
| 66 | + | ||
| 51 | <select id="selectMenuTreeByUserId" parameterType="Long" resultMap="SysMenuResult"> | 67 | <select id="selectMenuTreeByUserId" parameterType="Long" resultMap="SysMenuResult"> |
| 52 | select distinct m.menu_id, m.parent_id, m.menu_name, m.path, m.component, m.visible, ifnull(m.perms,'') as perms, m.is_frame, m.menu_type, m.icon, m.order_num, m.create_time | 68 | select distinct m.menu_id, m.parent_id, m.menu_name, m.path, m.component, m.visible, ifnull(m.perms,'') as perms, m.is_frame, m.menu_type, m.icon, m.order_num, m.create_time |
| 53 | from sys_menu m | 69 | from sys_menu m |
-
请 注册 或 登录 后发表评论