ISysMenuService.java 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. package com.railway.system.service;
  2. import com.railway.common.core.domain.TreeSelect;
  3. import com.railway.common.core.domain.entity.SysMenu;
  4. import com.railway.system.domain.vo.RouterVo;
  5. import java.util.List;
  6. import java.util.Set;
  7. /**
  8. * 菜单 业务层
  9. *
  10. * @author railway
  11. */
  12. public interface ISysMenuService {
  13. /**
  14. * 根据用户查询系统菜单列表
  15. *
  16. * @param userId 用户ID
  17. * @return 菜单列表
  18. */
  19. List<SysMenu> selectMenuList(Long userId);
  20. /**
  21. * 根据用户查询系统菜单列表
  22. *
  23. * @param menu 菜单信息
  24. * @param userId 用户ID
  25. * @return 菜单列表
  26. */
  27. List<SysMenu> selectMenuList(SysMenu menu, Long userId);
  28. /**
  29. * 根据用户ID查询权限
  30. *
  31. * @param userId 用户ID
  32. * @return 权限列表
  33. */
  34. Set<String> selectMenuPermsByUserId(Long userId);
  35. /**
  36. * 根据用户ID查询页面信息
  37. *
  38. * @param userId 用户ID
  39. * @return 菜单列表
  40. */
  41. Set<String> selectMenuPagesByUserId(Long userId);
  42. /**
  43. * 根据用户ID查询按钮信息
  44. *
  45. * @param userId 用户ID
  46. * @return 菜单列表
  47. */
  48. Set<String> selectMenuBtnsByUserId(Long userId);
  49. /**
  50. * 根据用户ID查询菜单树信息
  51. *
  52. * @param userId 用户ID
  53. * @return 菜单列表
  54. */
  55. List<SysMenu> selectMenuTreeByUserId(Long userId);
  56. /**
  57. * 根据角色ID查询菜单树信息
  58. *
  59. * @param roleId 角色ID
  60. * @return 选中菜单列表
  61. */
  62. List<Long> selectMenuListByRoleId(Long roleId);
  63. /**
  64. * 构建前端路由所需要的菜单
  65. *
  66. * @param menus 菜单列表
  67. * @return 路由列表
  68. */
  69. List<RouterVo> buildMenus(List<SysMenu> menus);
  70. /**
  71. * 构建前端所需要树结构
  72. *
  73. * @param menus 菜单列表
  74. * @return 树结构列表
  75. */
  76. List<SysMenu> buildMenuTree(List<SysMenu> menus);
  77. /**
  78. * 构建前端所需要下拉树结构
  79. *
  80. * @param menus 菜单列表
  81. * @return 下拉树结构列表
  82. */
  83. List<TreeSelect> buildMenuTreeSelect(List<SysMenu> menus);
  84. /**
  85. * 根据菜单ID查询信息
  86. *
  87. * @param menuId 菜单ID
  88. * @return 菜单信息
  89. */
  90. SysMenu selectMenuById(Long menuId);
  91. /**
  92. * 是否存在菜单子节点
  93. *
  94. * @param menuId 菜单ID
  95. * @return 结果 true 存在 false 不存在
  96. */
  97. boolean hasChildByMenuId(Long menuId);
  98. /**
  99. * 查询菜单是否存在角色
  100. *
  101. * @param menuId 菜单ID
  102. * @return 结果 true 存在 false 不存在
  103. */
  104. boolean checkMenuExistRole(Long menuId);
  105. /**
  106. * 新增保存菜单信息
  107. *
  108. * @param menu 菜单信息
  109. * @return 结果
  110. */
  111. int insertMenu(SysMenu menu);
  112. /**
  113. * 修改保存菜单信息
  114. *
  115. * @param menu 菜单信息
  116. * @return 结果
  117. */
  118. int updateMenu(SysMenu menu);
  119. /**
  120. * 删除菜单管理信息
  121. *
  122. * @param menuId 菜单ID
  123. * @return 结果
  124. */
  125. int deleteMenuById(Long menuId);
  126. /**
  127. * 校验菜单名称是否唯一
  128. *
  129. * @param menu 菜单信息
  130. * @return 结果
  131. */
  132. String checkMenuNameUnique(SysMenu menu);
  133. }