SysMenuMapper.xml 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper
  3. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  4. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  5. <mapper namespace="cn.xyh.system.mapper.SysMenuMapper">
  6. <resultMap type="SysMenu" id="SysMenuResult">
  7. <id property="menuId" column="menu_id"/>
  8. <result property="menuName" column="menu_name"/>
  9. <result property="parentName" column="parent_name"/>
  10. <result property="parentId" column="parent_id"/>
  11. <result property="orderNum" column="order_num"/>
  12. <result property="path" column="path"/>
  13. <result property="component" column="component"/>
  14. <result property="queryParam" column="query_param"/>
  15. <result property="isFrame" column="is_frame"/>
  16. <result property="isCache" column="is_cache"/>
  17. <result property="menuType" column="menu_type"/>
  18. <result property="visible" column="visible"/>
  19. <result property="status" column="status"/>
  20. <result property="perms" column="perms"/>
  21. <result property="icon" column="icon"/>
  22. <result property="btnClass" column="btn_class"/>
  23. <result property="btnScript" column="btn_script"/>
  24. <result property="createBy" column="create_by"/>
  25. <result property="createTime" column="create_time"/>
  26. <result property="updateTime" column="update_time"/>
  27. <result property="updateBy" column="update_by"/>
  28. <result property="remark" column="remark"/>
  29. </resultMap>
  30. <select id="selectMenuListByUserId" parameterType="SysMenu" resultMap="SysMenuResult">
  31. select distinct m.menu_id,
  32. m.parent_id,
  33. m.menu_name,
  34. m.path,
  35. m.component,
  36. m.query_param,
  37. m.visible,
  38. m.status,
  39. m.perms,
  40. m.is_frame,
  41. m.is_cache,
  42. m.menu_type,
  43. m.icon,
  44. m.btn_class,
  45. m.btn_script,
  46. m.order_num,
  47. m.create_time
  48. from sys_menu m
  49. left join sys_role_menu rm on m.menu_id = rm.menu_id
  50. left join sys_user_role sur on rm.role_id = sur.role_id
  51. left join sys_role ro on sur.role_id = ro.role_id
  52. ${ew.getCustomSqlSegment}
  53. </select>
  54. <select id="selectMenuTreeByUserId" parameterType="Long" resultMap="SysMenuResult">
  55. select distinct m.menu_id,
  56. m.parent_id,
  57. m.menu_name,
  58. m.path,
  59. m.component,
  60. m.query_param,
  61. m.visible,
  62. m.status,
  63. m.perms,
  64. m.is_frame,
  65. m.is_cache,
  66. m.menu_type,
  67. m.icon,
  68. m.btn_class,
  69. m.btn_script,
  70. m.order_num,
  71. m.create_time
  72. from sys_menu m
  73. left join sys_role_menu rm on m.menu_id = rm.menu_id
  74. left join sys_user_role sur on rm.role_id = sur.role_id
  75. left join sys_role ro on sur.role_id = ro.role_id
  76. left join sys_user u on sur.user_id = u.user_id
  77. where u.user_id = #{userId}
  78. and m.menu_type in ('M', 'C')
  79. and m.visible = '0'
  80. and m.status = '0'
  81. and ro.status = '0'
  82. order by m.parent_id, m.order_num
  83. </select>
  84. <select id="selectMenuListByRoleId" resultType="Long">
  85. select m.menu_id
  86. from sys_menu m
  87. left join sys_role_menu rm on m.menu_id = rm.menu_id
  88. where rm.role_id = #{roleId}
  89. <if test="menuCheckStrictly">
  90. and m.menu_id not in (select m.parent_id from sys_menu m inner join sys_role_menu rm on m.menu_id =
  91. rm.menu_id and rm.role_id = #{roleId})
  92. </if>
  93. order by m.parent_id, m.order_num
  94. </select>
  95. <select id="selectMenuPerms" resultType="String">
  96. select distinct m.perms
  97. from sys_menu m
  98. left join sys_role_menu rm on m.menu_id = rm.menu_id
  99. left join sys_user_role sur on rm.role_id = sur.role_id
  100. </select>
  101. <select id="selectMenuPermsByUserId" parameterType="Long" resultType="String">
  102. select distinct m.perms
  103. from sys_menu m
  104. left join sys_role_menu rm on m.menu_id = rm.menu_id
  105. left join sys_user_role sur on rm.role_id = sur.role_id
  106. left join sys_role r on r.role_id = sur.role_id
  107. where m.status = '0'
  108. and r.status = '0'
  109. and sur.user_id = #{userId}
  110. </select>
  111. <select id="selectMenuByPerm" parameterType="String" resultMap="SysMenuResult">
  112. select m.menu_id,
  113. m.parent_id,
  114. m.menu_name,
  115. m.path,
  116. m.component,
  117. m.query_param,
  118. m.visible,
  119. m.status,
  120. m.perms,
  121. m.is_frame,
  122. m.is_cache,
  123. m.menu_type,
  124. m.icon,
  125. m.btn_class,
  126. m.btn_script,
  127. m.order_num
  128. from sys_menu m
  129. where perms = #{perms}
  130. </select>
  131. <select id="selectMenuChildren" parameterType="Long" resultMap="SysMenuResult">
  132. select m.menu_id,
  133. m.parent_id,
  134. m.menu_name,
  135. m.path,
  136. m.component,
  137. m.query_param,
  138. m.visible,
  139. m.status,
  140. m.perms,
  141. m.is_frame,
  142. m.is_cache,
  143. m.menu_type,
  144. m.icon,
  145. m.btn_class,
  146. m.btn_script,
  147. m.order_num
  148. from sys_menu m
  149. where parent_id = #{menuId}
  150. order by order_num
  151. </select>
  152. <select id="selectMenuPermsByRoleId" parameterType="Long" resultType="String">
  153. select distinct m.perms
  154. from sys_menu m
  155. left join sys_role_menu rm on m.menu_id = rm.menu_id
  156. where m.status = '0'
  157. and rm.role_id = #{roleId}
  158. </select>
  159. </mapper>