MenuMapper.xml 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391
  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.huaxu.dao.MenuMapper">
  6. <resultMap type="MenuEntity" id="MenuResult">
  7. <result property="id" column="id"/>
  8. <result property="appId" column="app_id"/>
  9. <result property="thirdMenuId" column="third_menu_id"/>
  10. <result property="parentMenuId" column="parent_menu_id"/>
  11. <result property="name" column="name"/>
  12. <result property="menuImage" column="menu_image"/>
  13. <result property="permissionFlag" column="permission_flag"/>
  14. <result property="linkPath" column="link_path"/>
  15. <result property="seq" column="seq"/>
  16. <result property="showState" column="show_state"/>
  17. <result property="remark" column="remark"/>
  18. <result property="isTenant" column="is_tenant"/>
  19. <result property="isAdmin" column="is_admin"/>
  20. <result property="dateCreate" column="date_create"/>
  21. <result property="createBy" column="create_by"/>
  22. <result property="dateUpdate" column="date_update"/>
  23. <result property="updateBy" column="update_by"/>
  24. <result property="status" column="status"/>
  25. </resultMap>
  26. <!-- 实体栏位 -->
  27. <sql id="menuColumns">
  28. a.id as "id" ,
  29. a.app_id as "appId" ,
  30. a.third_menu_id as "thirdMenuId" ,
  31. a.parent_menu_id as "parentMenuId" ,
  32. a.name as "name" ,
  33. a.menu_image as "menuImage" ,
  34. a.permission_flag as "permissionFlag" ,
  35. a.link_path as "linkPath" ,
  36. a.seq as "seq" ,
  37. a.show_state as "showState" ,
  38. a.remark as "remark" ,
  39. a.is_tenant as "isTenant" ,
  40. a.is_admin as "isAdmin" ,
  41. a.date_create as "dateCreate" ,
  42. a.create_by as "createBy" ,
  43. a.date_update as "dateUpdate" ,
  44. a.update_by as "updateBy" ,
  45. a.status as "status"
  46. </sql>
  47. <!-- 根据主键获取实体 -->
  48. <select id="findMenuById" resultType="com.huaxu.entity.MenuEntity">
  49. SELECT
  50. <include refid="menuColumns"/>
  51. FROM uims_menu a
  52. WHERE a.id = #{id} and a.status=1
  53. </select>
  54. <!-- 根据主键获取实体 -->
  55. <select id="findMenuByParentIds" resultType="com.huaxu.entity.MenuEntity">
  56. SELECT
  57. <include refid="menuColumns"/>
  58. FROM uims_menu a
  59. WHERE a.PARENT_MENU_ID in
  60. <foreach collection = "Ids" item = "dramaId" open = "(" close = ")" separator = "," >
  61. #{dramaId}
  62. </foreach>
  63. and a.status=1
  64. </select>
  65. <!-- 根据主键获取租户菜单 -->
  66. <select id="findTenantMenuByParentIds" resultType="com.huaxu.entity.MenuEntity">
  67. select a.id
  68. from uims_tenant_menu a
  69. inner JOIN uims_menu b on a.menu_id=b.id
  70. inner join uims_menu c on b.id =c.PARENT_MENU_ID and c.status=1
  71. inner join uims_tenant_menu d on d.menu_id=c.id and d.status=1
  72. <if test="tenantId != null and tenantId != ''">
  73. and d.TENANT_ID=#{tenantId}
  74. </if>
  75. WHERE a.id in
  76. <foreach collection = "Ids" item = "dramaId" open = "(" close = ")" separator = "," >
  77. #{dramaId}
  78. </foreach>
  79. </select>
  80. <!-- 根据获取实体List -->
  81. <select id="findList" resultType="com.huaxu.entity.MenuEntity">
  82. SELECT
  83. <include refid="menuColumns"/>
  84. FROM uims_menu a
  85. <where>
  86. a.status=1
  87. <if test="name != null and name != ''">
  88. and a.name LIKE concat('%',#{name},'%')
  89. </if>
  90. <if test="parentMenuId != null and parentMenuId != ''">
  91. and a.PARENT_MENU_ID = #{parentMenuId}
  92. </if>
  93. </where>
  94. order by a.seq
  95. </select>
  96. <!-- 根据获取实体List -->
  97. <select id="findTenantList" resultType="com.huaxu.entity.MenuEntity">
  98. select
  99. b.id as "id" ,
  100. b.app_id as "appId" ,
  101. b.third_menu_id as "thirdMenuId" ,
  102. b.parent_menu_id as "parentMenuId" ,
  103. a.id as "tenantMenuId",
  104. a.MENU_NAME as "name" ,
  105. a.menu_image as "menuImage" ,
  106. b.permission_flag as "permissionFlag" ,
  107. a.link_path as "linkPath" ,
  108. a.MENU_SEQ as "seq" ,
  109. b.show_state as "showState" ,
  110. a.remark as "remark" ,
  111. b.is_tenant as "isTenant" ,
  112. b.is_admin as "isAdmin" ,
  113. a.date_create as "dateCreate" ,
  114. a.create_by as "createBy" ,
  115. a.date_update as "dateUpdate" ,
  116. a.update_by as "updateBy" ,
  117. a.status as "status"
  118. from uims_tenant_menu a
  119. inner join uims_menu b on a.MENU_ID=b.id and b.STATUS=1
  120. <where>
  121. a.status=1 and b.is_tenant=1
  122. <if test="name != null and name != ''">
  123. and a.MENU_NAME LIKE concat('%',#{name},'%')
  124. </if>
  125. <if test="tenantId != null and tenantId != ''">
  126. and a.tenant_id = #{tenantId}
  127. </if>
  128. </where>
  129. order by a.MENU_SEQ
  130. </select>
  131. <!-- 根据获取实体List -->
  132. <select id="findUserMenuById" resultType="com.huaxu.entity.MenuEntity">
  133. select
  134. a.id as "id" ,
  135. b.app_id as "appId" ,
  136. b.third_menu_id as "thirdMenuId" ,
  137. b.parent_menu_id as "parentMenuId" ,
  138. a.id as "tenantMenuId",
  139. a.MENU_NAME as "name" ,
  140. a.menu_image as "menuImage" ,
  141. b.permission_flag as "permissionFlag" ,
  142. a.link_path as "linkPath" ,
  143. a.MENU_SEQ as "seq" ,
  144. b.show_state as "showState" ,
  145. a.remark as "remark" ,
  146. b.is_tenant as "isTenant" ,
  147. b.is_admin as "isAdmin" ,
  148. a.date_create as "dateCreate" ,
  149. a.create_by as "createBy" ,
  150. a.date_update as "dateUpdate" ,
  151. a.update_by as "updateBy" ,
  152. a.status as "status"
  153. from uims_tenant_menu a
  154. inner join uims_menu b on a.MENU_ID=b.id and b.STATUS=1
  155. <where>
  156. a.status=1 and b.id = #{id}
  157. <if test="tenantId != null and tenantId != ''">
  158. and a.tenant_id = #{tenantId}
  159. </if>
  160. </where>
  161. </select>
  162. <!-- 根据获取实体List -->
  163. <select id="findUserList" resultType="com.huaxu.entity.MenuEntity">
  164. select
  165. b.id as "id" ,
  166. b.app_id as "appId" ,
  167. b.third_menu_id as "thirdMenuId" ,
  168. b.parent_menu_id as "parentMenuId" ,
  169. a.id as "tenantMenuId",
  170. a.MENU_NAME as "name" ,
  171. a.menu_image as "menuImage" ,
  172. b.permission_flag as "permissionFlag" ,
  173. a.link_path as "linkPath" ,
  174. a.MENU_SEQ as "seq" ,
  175. b.show_state as "showState" ,
  176. a.remark as "remark" ,
  177. b.is_tenant as "isTenant" ,
  178. b.is_admin as "isAdmin" ,
  179. a.date_create as "dateCreate" ,
  180. a.create_by as "createBy" ,
  181. a.date_update as "dateUpdate" ,
  182. a.update_by as "updateBy" ,
  183. a.status as "status"
  184. from uims_user_role userrole
  185. inner join uims_role_menu rolemenu on rolemenu.ROLE_ID=userrole.ROLE_ID and rolemenu.status=1
  186. inner join uims_menu b on rolemenu.MENU_ID=b.id and b.STATUS=1
  187. inner join uims_tenant_menu a on a.MENU_ID= b.id and a.status=1
  188. <if test="tenantId != null and tenantId != ''">
  189. and a.tenant_id = #{tenantId}
  190. </if>
  191. <where>
  192. a.status=1 and userrole.status=1 and b.is_tenant=1 and userrole.user_id=#{userId}
  193. <if test="name != null and name != ''">
  194. and a.MENU_NAME LIKE concat('%',#{name},'%')
  195. </if>
  196. </where>
  197. order by a.MENU_SEQ
  198. </select>
  199. <!-- 超级管理员查询 一级菜单List -->
  200. <select id="findAllFirstMenu" resultType="com.huaxu.entity.MenuEntity">
  201. SELECT
  202. <include refid="menuColumns"/>
  203. FROM uims_menu a
  204. <where>
  205. a.status=1 and a.PARENT_MENU_ID=0 and a.SHOW_STATE=1 and a.is_admin=1
  206. </where>
  207. order by a.seq
  208. </select>
  209. <!-- 租户管理员查询租户菜单 -->
  210. <select id="findTenantByMenuId" resultType="com.huaxu.entity.MenuEntity">
  211. select b.id
  212. from uims_tenant_menu b
  213. <where>
  214. b.status=1 and b.MENU_ID= #{id}
  215. <if test="tenantId != null and tenantId != ''">
  216. and b.tenant_id = #{tenantId}
  217. </if>
  218. </where>
  219. limit 1
  220. </select>
  221. <!-- 租户管理员查询租户菜单 -->
  222. <select id="findTenantFirstMenu" resultType="com.huaxu.entity.MenuEntity">
  223. select
  224. a.id as "id" ,
  225. a.parent_menu_id as "parentMenuId" ,
  226. b.MENU_NAME as "name" ,
  227. b.MENU_IMAGE as "menuImage" ,
  228. a.permission_flag as "permissionFlag" ,
  229. b.LINK_PATH as "linkPath" ,
  230. b.MENU_SEQ as "seq" ,
  231. a.show_state as "showState" ,
  232. b.remark as "remark" ,
  233. b.date_create as "dateCreate" ,
  234. b.create_by as "createBy" ,
  235. b.date_update as "dateUpdate" ,
  236. b.update_by as "updateBy" ,
  237. b.status as "status"
  238. from uims_tenant_menu b
  239. inner join uims_menu a on a.id= b.MENU_ID and a.status=1
  240. <where>
  241. b.status=1 and a.PARENT_MENU_ID=0 and a.show_state=1 and a.is_tenant=1
  242. <if test="tenantId != null and tenantId != ''">
  243. and b.tenant_id = #{tenantId}
  244. </if>
  245. </where>
  246. order by b.MENU_SEQ
  247. </select>
  248. <!-- 普通用户查询租户菜单 -->
  249. <select id="findUserFirstMenu" resultType="com.huaxu.entity.MenuEntity">
  250. SELECT
  251. a.id as "id" ,
  252. a.parent_menu_id as "parentMenuId" ,
  253. b.MENU_NAME as "name" ,
  254. b.MENU_IMAGE as "menuImage" ,
  255. a.permission_flag as "permissionFlag" ,
  256. b.LINK_PATH as "linkPath" ,
  257. b.MENU_SEQ as "seq" ,
  258. a.show_state as "showState" ,
  259. b.remark as "remark" ,
  260. b.date_create as "dateCreate" ,
  261. b.create_by as "createBy" ,
  262. b.date_update as "dateUpdate" ,
  263. b.update_by as "updateBy" ,
  264. b.status as "status"
  265. from uims_user_role userrole
  266. inner join uims_role_menu rolemenu on rolemenu.ROLE_ID=userrole.ROLE_ID and rolemenu.status=1
  267. inner join uims_menu a on a.id=rolemenu.MENU_ID and a.STATUS=1
  268. inner join uims_tenant_menu b on a.id= b.MENU_ID and b.status=1
  269. <if test="tenantId != null and tenantId != ''">
  270. and b.tenant_id = #{tenantId}
  271. </if>
  272. <where>
  273. userrole.status=1 and a.PARENT_MENU_ID=0 and a.SHOW_STATE=1 and a.is_tenant=1
  274. <if test="userId != null and userId != ''">
  275. and userrole.user_id = #{userId}
  276. </if>
  277. </where>
  278. order by b.MENU_SEQ
  279. </select>
  280. <!-- 超级管理员获取左侧菜单 -->
  281. <select id="findSystemUserMenu" resultType="com.huaxu.entity.MenuEntity">
  282. SELECT
  283. <include refid="menuColumns"/>
  284. FROM uims_menu a
  285. <where>
  286. a.status=1 and a.SHOW_STATE=1 and a.is_admin=1
  287. <if test="appId != null and appId != ''">
  288. and a.app_id = #{appId}
  289. </if>
  290. </where>
  291. order by a.seq
  292. </select>
  293. <!-- 租户管理员获取左侧菜单 -->
  294. <select id="findTenantUserMenu" resultType="com.huaxu.entity.MenuEntity">
  295. select
  296. a.id as "id" ,
  297. a.parent_menu_id as "parentMenuId" ,
  298. b.MENU_NAME as "name" ,
  299. b.MENU_IMAGE as "menuImage" ,
  300. a.permission_flag as "permissionFlag" ,
  301. b.LINK_PATH as "linkPath" ,
  302. b.MENU_SEQ as "seq" ,
  303. a.show_state as "showState" ,
  304. b.remark as "remark" ,
  305. b.date_create as "dateCreate" ,
  306. b.create_by as "createBy" ,
  307. b.date_update as "dateUpdate" ,
  308. b.update_by as "updateBy" ,
  309. b.status as "status"
  310. from uims_tenant_menu b
  311. inner join uims_menu a on a.id= b.MENU_ID and a.status=1
  312. <where>
  313. b.status=1 and a.SHOW_STATE=1 and a.is_tenant=1
  314. <if test="appId != null and appId != ''">
  315. and a.app_id = #{appId}
  316. </if>
  317. <if test="tenantId != null and tenantId != ''">
  318. and b.tenant_id = #{tenantId}
  319. </if>
  320. </where>
  321. order by b.MENU_SEQ
  322. </select>
  323. <!-- 普通用户获取实体List -->
  324. <select id="findUserMenu" resultType="com.huaxu.entity.MenuEntity">
  325. SELECT
  326. a.id as "id" ,
  327. a.parent_menu_id as "parentMenuId" ,
  328. b.MENU_NAME as "name" ,
  329. b.MENU_IMAGE as "menuImage" ,
  330. a.permission_flag as "permissionFlag" ,
  331. b.LINK_PATH as "linkPath" ,
  332. b.MENU_SEQ as "seq" ,
  333. a.show_state as "showState" ,
  334. b.remark as "remark" ,
  335. b.date_create as "dateCreate" ,
  336. b.create_by as "createBy" ,
  337. b.date_update as "dateUpdate" ,
  338. b.update_by as "updateBy" ,
  339. b.status as "status"
  340. from uims_user_role userrole
  341. inner join uims_role_menu rolemenu on rolemenu.ROLE_ID=userrole.ROLE_ID and rolemenu.status=1
  342. inner join uims_menu a on a.id=rolemenu.MENU_ID and a.STATUS=1
  343. inner join uims_tenant_menu b on a.id= b.MENU_ID and b.status=1
  344. <if test="tenantId != null and tenantId != ''">
  345. and b.tenant_id = #{tenantId}
  346. </if>
  347. <where>
  348. userrole.status=1 and a.SHOW_STATE=1 and a.is_tenant=1
  349. <if test="userId != null and userId != ''">
  350. and userrole.user_id = #{userId}
  351. </if>
  352. <if test="appId != null and appId != ''">
  353. and a.app_id = #{appId}
  354. </if>
  355. </where>
  356. order by b.MENU_SEQ
  357. </select>
  358. <!-- 超级管理员获取租户菜单 -->
  359. <select id="findSystemTenantMenu" resultType="com.huaxu.entity.MenuEntity">
  360. SELECT
  361. <include refid="menuColumns"/>
  362. FROM uims_menu a
  363. <where>
  364. a.status=1 and a.SHOW_STATE=1 and is_tenant =1
  365. </where>
  366. order by a.seq
  367. </select>
  368. <!-- 根据获取实体 page -->
  369. <select id="findPage" resultType="com.huaxu.entity.MenuEntity">
  370. SELECT
  371. <include refid="menuColumns"/>
  372. FROM uims_menu a
  373. <where>
  374. a.status=1
  375. <if test="menu.name != null and menu.name != ''">
  376. and a.name LIKE concat('%',#{menu.name},'%')
  377. </if>
  378. </where>
  379. </select>
  380. <update id="updateState">
  381. update uims_tenant_menu set status=0 where id=#{Id}
  382. </update>
  383. </mapper>