SysMenuMapper.xml 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387
  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="com.aidex.system.mapper.SysMenuMapper">
  6. <sql id="menuColumns">
  7. t.id as "id",
  8. t.menu_name AS "menuName",
  9. t.menu_code AS "menuCode",
  10. t.path AS "path",
  11. t.component AS "component",
  12. t.is_frame AS "isFrame",
  13. t.is_cache AS "isCache",
  14. t.menu_type AS "menuType",
  15. t.visible AS "visible",
  16. t.status AS "status",
  17. ifnull(t.perms,'') AS "perms",
  18. t.icon AS "icon",
  19. t.parent_id AS "parentId",
  20. t.parent_ids AS "parentIds",
  21. t.tree_sort AS "treeSort",
  22. t.tree_sorts AS "treeSorts",
  23. t.tree_level AS "treeLevel",
  24. t.tree_leaf AS "treeLeaf",
  25. t.create_by AS "createBy",
  26. t.create_dept AS "createDept",
  27. t.create_time AS "createTime",
  28. t.update_by AS "updateBy",
  29. t.update_time AS "updateTime",
  30. t.update_ip AS "updateIp",
  31. t.remark AS "remark",
  32. t.version AS "version",
  33. t.del_flag AS "delFlag"
  34. </sql>
  35. <sql id="menuoins">
  36. </sql>
  37. <sql id="commonWhere">
  38. <if test="parentId != null and parentId != ''">
  39. AND t.parent_id = #{parentId}
  40. </if>
  41. <if test="parentIds != null and parentIds != ''">
  42. and t.parent_ids like concat(#{parentIds},'%') and t.parent_ids &lt;&gt; #{parentIds}
  43. </if>
  44. <if test="menuName != null and menuName != ''">
  45. AND t.menu_name like concat('%', #{menuName}, '%')
  46. </if>
  47. <if test="menuCode != null and menuCode != ''">
  48. AND t.menu_code like concat('%', #{menuCode}, '%')
  49. </if>
  50. <if test="visible != null and visible != ''">
  51. AND t.visible = t.#{visible}
  52. </if>
  53. <if test="component != null and component != ''">
  54. AND t.component like concat('%', #{component}, '%')
  55. </if>
  56. <if test="status != null and status != ''">
  57. AND t.status = #{status}
  58. </if>
  59. </sql>
  60. <sql id="commonSorts">
  61. order by t.tree_sorts
  62. </sql>
  63. <select id="get" resultType="SysMenu">
  64. SELECT
  65. <include refid="menuColumns"/>
  66. FROM sys_menu t
  67. where id = #{id}
  68. </select>
  69. <select id="findList" resultType="SysMenu">
  70. SELECT
  71. <include refid="menuColumns"/>
  72. FROM sys_menu t
  73. where t.del_flag = #{DEL_FLAG_NORMAL}
  74. <include refid="commonWhere"/>
  75. <include refid="commonSorts"/>
  76. </select>
  77. <select id="findCount" resultType="integer">
  78. SELECT
  79. count(1)
  80. FROM sys_menu t
  81. where t.del_flag = #{DEL_FLAG_NORMAL}
  82. <include refid="commonWhere"/>
  83. </select>
  84. <select id="findMaxSort" resultType="integer">
  85. SELECT max(t.tree_sort)
  86. FROM sys_menu t
  87. WHERE t.del_flag = #{DEL_FLAG_NORMAL}
  88. <if test="parentId != null and parentId != ''">
  89. and t.parent_id = #{parentId}
  90. </if>
  91. </select>
  92. <select id="selectMenuListByUserId" resultType="SysMenu">
  93. select distinct
  94. <include refid="menuColumns"/>
  95. from sys_menu t
  96. left join sys_role_menu rm on t.id = rm.menu_id
  97. left join sys_user_role ur on rm.role_id = ur.role_id
  98. left join sys_role ro on ur.role_id = ro.id
  99. where ur.user_id = #{params.userId}
  100. and t.del_flag = '0'
  101. <include refid="commonWhere"/>
  102. <include refid="commonSorts"/>
  103. </select>
  104. <select id="selectMenuTreeByUserId" resultType="SysMenu">
  105. select distinct
  106. <include refid="menuColumns"/>
  107. from sys_menu t
  108. left join sys_role_menu rm on t.id = rm.menu_id
  109. left join sys_user_role ur on rm.role_id = ur.role_id
  110. left join sys_role ro on ur.role_id = ro.id
  111. left join sys_user u on ur.user_id = u.id
  112. where u.id = #{userId}
  113. and t.del_flag = '0'
  114. and t.menu_type in ('M', 'C') and t.status = 0 AND ro.status = 0
  115. <include refid="commonSorts"/>
  116. </select>
  117. <select id="selectMenuPermsByUserId" parameterType="String" resultType="String">
  118. select distinct t.perms
  119. from sys_menu t
  120. left join sys_role_menu rm on t.id = rm.menu_id
  121. left join sys_user_role ur on rm.role_id = ur.role_id
  122. left join sys_role r on r.id = ur.role_id
  123. where t.status = '0'
  124. and r.status = '0'
  125. and ur.user_id = #{userId}
  126. and t.del_flag = '0'
  127. </select>
  128. <select id="selectMenuTreeAll" resultType="SysMenu">
  129. select distinct
  130. <include refid="menuColumns"/>
  131. from sys_menu t
  132. where t.menu_type in ('M', 'C')
  133. and t.status = 0
  134. and t.del_flag = '0'
  135. <include refid="commonSorts"/>
  136. </select>
  137. <select id="selectMenuListByRoleId" resultType="String">
  138. select t.id
  139. from sys_menu t
  140. left join sys_role_menu rm
  141. on t.id = rm.menu_id
  142. where rm.role_id = #{roleId}
  143. and t.del_flag = '0'
  144. <if test="menuCheckStrictly">
  145. and t.id not in (select m.parent_id from sys_menu m inner join sys_role_menu rm on m.id = rm.menu_id and rm.role_id = #{roleId})
  146. </if>
  147. <include refid="commonSorts"/>
  148. </select>
  149. <select id="findListWithUnique" resultType="SysMenu">
  150. SELECT
  151. t.id
  152. FROM sys_menu t
  153. WHERE t.del_flag = '0'
  154. <if test="menuName != null and menuName != ''">
  155. AND t.menu_name = #{menuName}
  156. </if>
  157. <if test="menuCode != null and menuCode != ''">
  158. AND t.menu_code = #{menuCode}
  159. </if>
  160. <if test="path != null and path != ''">
  161. AND t.path = #{path}
  162. </if>
  163. <if test="parentId != null and parentId != ''">
  164. AND t.parent_id = #{parentId}
  165. </if>
  166. <if test="notEqualId != null and notEqualId != ''">
  167. AND t.id != #{notEqualId}
  168. </if>
  169. </select>
  170. <!-- 根据条件查询节点 -->
  171. <select id="searchSysMenuTree" parameterType="java.util.Map" resultType="SysMenu">
  172. select
  173. <include refid="menuColumns"/>
  174. from sys_menu t
  175. <where>
  176. and t.del_flag = '0'
  177. <if test="menuName != null and menuName != ''">
  178. and t.menu_name like concat(concat('%',#{menuName}),'%')
  179. </if>
  180. <if test="visible != null and visible != ''">
  181. and t.visible like concat(concat('%',#{visible}),'%')
  182. </if>
  183. <if test="status != null and status != ''">
  184. and t.status = #{status}
  185. </if>
  186. </where>
  187. <include refid="commonSorts"/>
  188. </select>
  189. <!--根据ids获取所有的节点-->
  190. <select id="searchSysMenuTreeByIds" parameterType="java.util.List" resultType="SysMenu">
  191. select
  192. <include refid="menuColumns"/>
  193. from sys_menu t
  194. <where>
  195. and t.del_flag = '0'
  196. and ( 1 != 1
  197. <foreach collection="ids" item="idsItem">
  198. or t.id in
  199. <foreach collection="idsItem" item="id" open="(" separator="," close=")">
  200. #{id}
  201. </foreach>
  202. </foreach>
  203. )
  204. </where>
  205. <include refid="commonSorts"/>
  206. </select>
  207. <select id="selectNormalChildByParentIds" resultType="int">
  208. select count(*) from sys_menu t where t.status = 0 and t.del_flag = '0'
  209. and t.parent_ids like concat(#{parentIds},'%') and t.parent_ids &lt;&gt; #{parentIds}
  210. </select>
  211. <insert id="insert" >
  212. insert into sys_menu(
  213. id,
  214. menu_name,
  215. menu_code,
  216. path,
  217. component,
  218. is_frame,
  219. is_cache,
  220. menu_type,
  221. visible,
  222. perms,
  223. icon,
  224. parent_id,
  225. parent_ids,
  226. tree_sort,
  227. tree_sorts,
  228. tree_level,
  229. tree_leaf,
  230. status,
  231. create_by,
  232. create_dept,
  233. create_time,
  234. update_by,
  235. update_time,
  236. update_ip,
  237. remark,
  238. del_flag,
  239. version
  240. )values(
  241. #{id},
  242. #{menuName},
  243. #{menuCode},
  244. #{path},
  245. #{component},
  246. #{isFrame},
  247. #{isCache},
  248. #{menuType},
  249. #{visible},
  250. #{perms},
  251. #{icon},
  252. #{parentId},
  253. #{parentIds},
  254. #{treeSort},
  255. #{treeSorts},
  256. #{treeLevel},
  257. #{treeLeaf},
  258. #{status},
  259. #{createBy},
  260. #{createDept},
  261. #{createTime},
  262. #{updateBy},
  263. #{updateTime},
  264. #{updateIp},
  265. #{remark},
  266. #{DEL_FLAG_NORMAL},
  267. 1
  268. )
  269. </insert>
  270. <update id="update" parameterType="SysMenu">
  271. update sys_menu
  272. <set>
  273. <if test="menuName != null and menuName != ''">menu_name = #{menuName},</if>
  274. <if test="menuCode != null and menuCode != ''">menu_code = #{menuCode},</if>
  275. <if test="path != null and path != ''">path = #{path},</if>
  276. <if test="component != null">component = #{component},</if>
  277. <if test="isFrame != null and isFrame != ''">is_frame = #{isFrame},</if>
  278. <if test="isCache != null and isCache != ''">is_cache = #{isCache},</if>
  279. <if test="menuType != null and menuType != ''">menu_type = #{menuType},</if>
  280. <if test="visible != null">visible = #{visible},</if>
  281. <if test="perms !=null">perms = #{perms},</if>
  282. <if test="icon !=null and icon != ''">icon = #{icon},</if>
  283. <if test="parentId != null and parentId != ''"> parent_id = #{parentId}, </if>
  284. <if test="parentIds != null and parentIds != ''"> parent_ids = #{parentIds}, </if>
  285. <if test="treeSort != null">tree_sort = #{treeSort}, </if>
  286. <if test="treeSorts != null">tree_sorts = #{treeSorts}, </if>
  287. <if test="treeLevel != null">tree_level = #{treeLevel}, </if>
  288. <if test="treeLeaf != null and treeLeaf != ''">tree_leaf = #{treeLeaf}, </if>
  289. <if test="status != null and status != ''">status = #{status}, </if>
  290. <if test="updateBy != null and updateBy != ''">update_by = #{updateBy}, </if>
  291. <if test="updateTime != null">update_time = #{updateTime}, </if>
  292. <if test="updateIp != null and updateIp != ''">update_ip = #{updateIp}, </if>
  293. <if test="remark != null and remark != ''">remark = #{remark}, </if>
  294. version = version + 1
  295. </set>
  296. where id = #{id} and version = #{version}
  297. </update>
  298. <update id="updateBatch" parameterType="java.util.List">
  299. <foreach collection="list" item="item" index="index" open="" close="" separator=";">
  300. update sys_menu
  301. <set>
  302. <if test="menuName != null and menuName != ''">menu_name = #{menuName},</if>
  303. <if test="menuCode != null and menuCode != ''">menu_code = #{menuCode},</if>
  304. <if test="path != null and path != ''">path = #{path},</if>
  305. <if test="component != null">component = #{component},</if>
  306. <if test="isFrame != null and isFrame != ''">is_frame = #{isFrame},</if>
  307. <if test="isCache != null and isCache != ''">is_cache = #{isCache},</if>
  308. <if test="menuType != null and menuType != ''">menu_type = #{menuType},</if>
  309. <if test="visible != null">visible = #{visible},</if>
  310. <if test="perms !=null">perms = #{perms},</if>
  311. <if test="icon !=null and icon != ''">icon = #{icon},</if>
  312. <if test="parentId != null and parentId != ''"> parent_id = #{parentId}, </if>
  313. <if test="parentIds != null and parentIds != ''"> parent_ids = #{parentIds}, </if>
  314. <if test="treeSort != null">tree_sort = #{treeSort}, </if>
  315. <if test="treeSorts != null">tree_sorts = #{treeSorts}, </if>
  316. <if test="treeLevel != null">tree_level = #{treeLevel}, </if>
  317. <if test="treeLeaf != null and treeLeaf != ''">tree_leaf = #{treeLeaf}, </if>
  318. <if test="status != null and status != ''">status = #{status}, </if>
  319. <if test="updateBy != null and updateBy != ''">update_by = #{updateBy}, </if>
  320. <if test="updateTime != null">update_time = #{updateTime}, </if>
  321. <if test="updateIp != null and updateIp != ''">update_ip = #{updateIp}, </if>
  322. <if test="remark != null and remark != ''">remark = #{remark}, </if>
  323. version = version + 1
  324. </set>
  325. where id = #{item.id} and version = #{item.version}
  326. </foreach>
  327. </update>
  328. <update id="updateMenuChildren" parameterType="java.util.List">
  329. update sys_menu set parent_ids =
  330. <foreach collection="menus" item="item" index="index"
  331. separator=" " open="case id" close="end">
  332. when #{item.id} then #{item.parentIds}
  333. </foreach>
  334. , tree_sorts =
  335. <foreach collection="menus" item="item" index="index"
  336. separator=" " open="case id" close="end">
  337. when #{item.id} then #{item.treeSorts}
  338. </foreach>
  339. , tree_level =
  340. <foreach collection="menus" item="item" index="index"
  341. separator=" " open="case id" close="end">
  342. when #{item.id} then #{item.treeLevel}
  343. </foreach>
  344. where id in
  345. <foreach collection="menus" item="item" index="index"
  346. separator="," open="(" close=")">
  347. #{item.id}
  348. </foreach>
  349. </update>
  350. <delete id="delete">
  351. UPDATE sys_menu SET
  352. del_flag = #{DEL_FLAG_DELETE}
  353. WHERE id = #{id}
  354. </delete>
  355. <delete id="deleteBatch" parameterType="java.util.List">
  356. <foreach collection="list" item="item" index="index" open="" close="" separator=";">
  357. UPDATE sys_menu SET
  358. del_flag = #{DEL_FLAG_DELETE}
  359. WHERE id = #{item.id}
  360. </foreach>
  361. </delete>
  362. </mapper>