SysMenuMapper.java 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. package com.ruoyi.system.mapper;
  2. import com.baomidou.mybatisplus.core.conditions.Wrapper;
  3. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  4. import com.baomidou.mybatisplus.core.toolkit.Constants;
  5. import com.ruoyi.common.core.constant.UserConstants;
  6. import com.ruoyi.system.domain.SysMenu;
  7. import com.ruoyi.common.mybatis.core.mapper.BaseMapperPlus;
  8. import com.ruoyi.system.domain.vo.SysMenuVo;
  9. import org.apache.ibatis.annotations.Param;
  10. import java.util.List;
  11. /**
  12. * 菜单表 数据层
  13. *
  14. * @author Lion Li
  15. */
  16. public interface SysMenuMapper extends BaseMapperPlus<SysMenu, SysMenuVo> {
  17. /**
  18. * 根据用户所有权限
  19. *
  20. * @return 权限列表
  21. */
  22. List<String> selectMenuPerms();
  23. /**
  24. * 根据用户查询系统菜单列表
  25. *
  26. * @param queryWrapper 查询条件
  27. * @return 菜单列表
  28. */
  29. List<SysMenu> selectMenuListByUserId(@Param(Constants.WRAPPER) Wrapper<SysMenu> queryWrapper);
  30. /**
  31. * 根据用户ID查询权限
  32. *
  33. * @param userId 用户ID
  34. * @return 权限列表
  35. */
  36. List<String> selectMenuPermsByUserId(Long userId);
  37. /**
  38. * 根据角色ID查询权限
  39. *
  40. * @param roleId 角色ID
  41. * @return 权限列表
  42. */
  43. List<String> selectMenuPermsByRoleId(Long roleId);
  44. /**
  45. * 根据用户ID查询菜单
  46. *
  47. * @return 菜单列表
  48. */
  49. default List<SysMenu> selectMenuTreeAll() {
  50. LambdaQueryWrapper<SysMenu> lqw = new LambdaQueryWrapper<SysMenu>()
  51. .in(SysMenu::getMenuType, UserConstants.TYPE_DIR, UserConstants.TYPE_MENU)
  52. .eq(SysMenu::getStatus, UserConstants.MENU_NORMAL)
  53. .orderByAsc(SysMenu::getParentId)
  54. .orderByAsc(SysMenu::getOrderNum);
  55. return this.selectList(lqw);
  56. }
  57. /**
  58. * 根据用户ID查询菜单
  59. *
  60. * @param userId 用户ID
  61. * @return 菜单列表
  62. */
  63. List<SysMenu> selectMenuTreeByUserId(Long userId);
  64. /**
  65. * 根据角色ID查询菜单树信息
  66. *
  67. * @param roleId 角色ID
  68. * @param menuCheckStrictly 菜单树选择项是否关联显示
  69. * @return 选中菜单列表
  70. */
  71. List<Long> selectMenuListByRoleId(@Param("roleId") Long roleId, @Param("menuCheckStrictly") boolean menuCheckStrictly);
  72. }