SysUserMapper.xml 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3. <mapper namespace="com.simuwang.base.mapper.system.SysUserMapper">
  4. <select id="listBindRoles" resultType="com.simuwang.base.common.support.dos.OnlyIdNameDO">
  5. select t.role_id as id,
  6. t.role_name as name
  7. from sys_role t
  8. join sys_user_role t1 on t.role_id = t1.role_id
  9. join sys_user t2 on t1.user_id = t2.user_id and t2.isvalid = 1
  10. where t2.user_id = #{userId}
  11. and t.isvalid = 1
  12. order by t.role_id
  13. </select>
  14. <select id="selectRoleByUserId" resultType="com.simuwang.base.pojo.dos.sys.SysRoleDO">
  15. select t.role_id as roleId,
  16. t.role_name as roleName,
  17. t.role_key as roleKey,
  18. t.role_sort as roleSort,
  19. t.status as status,
  20. t.data_scope as dataScope,
  21. t.remark,
  22. t.creatorid as creatorId,
  23. t.createtime as createTime,
  24. t.updaterid as updaterId,
  25. t.updatetime as updateTime
  26. from sys_role t
  27. join sys_user_role t1 on t.role_id = t1.role_id
  28. join sys_user t2 on t1.user_id = t2.user_id and t2.isvalid = 1
  29. where t2.user_id = #{userId}
  30. and t.isvalid = 1
  31. order by t.role_id
  32. </select>
  33. <select id="selectAllRole" resultType="com.simuwang.base.pojo.dos.sys.SysRoleDO">
  34. select t.role_id as roleId,
  35. t.role_name as roleName,
  36. t.role_key as roleKey,
  37. t.role_sort as roleSort,
  38. t.status as status,
  39. t.data_scope as dataScope,
  40. t.remark,
  41. t.creatorid as creatorId,
  42. t.createtime as createTime,
  43. t.updaterid as updaterId,
  44. t.updatetime as updateTime
  45. from sys_role t
  46. where t.isvalid = 1
  47. order by t.role_id
  48. </select>
  49. <select id="selectMenuByUserId" resultType="com.simuwang.base.pojo.dos.sys.SysMenuDO">
  50. select sm.menu_id as menuId,
  51. sm.menu_name as menuName,
  52. sm.parent_id as parentId,
  53. sm.perms as perms,
  54. sm.icon as icon,
  55. sm.order_num as orderNum,
  56. sm.path as path,
  57. sm.component as component,
  58. sm.query as query,
  59. sm.is_frame as isFrame,
  60. sm.is_cache as isCache,
  61. sm.menu_type as menuType,
  62. sm.visible as visible,
  63. sm.status as status,
  64. sm.remark,
  65. sm.creatorid as creatorId,
  66. sm.createtime as createTime,
  67. sm.updaterid as updaterId,
  68. sm.updatetime as updateTime
  69. from sys_menu sm
  70. join sys_role_menu srm on sm.menu_id = srm.menu_id
  71. join sys_role sr on sr.role_id = srm.role_id and sr.isvalid = 1
  72. join sys_user_role t1 on sr.role_id = t1.role_id
  73. join sys_user t2 on t1.user_id = t2.user_id and t2.isvalid = 1
  74. where t2.user_id = #{userId}
  75. and sm.isvalid = 1
  76. order by sm.menu_id
  77. </select>
  78. <select id="selectAllMenu" resultType="com.simuwang.base.pojo.dos.sys.SysMenuDO">
  79. select sm.menu_id as menuId,
  80. sm.menu_name as menuName,
  81. sm.parent_id as parentId,
  82. sm.perms as perms,
  83. sm.icon as icon,
  84. sm.order_num as orderNum,
  85. sm.path as path,
  86. sm.component as component,
  87. sm.query as query,
  88. sm.is_frame as isFrame,
  89. sm.is_cache as isCache,
  90. sm.menu_type as menuType,
  91. sm.visible as visible,
  92. sm.status as status,
  93. sm.remark,
  94. sm.creatorid as creatorId,
  95. sm.createtime as createTime,
  96. sm.updaterid as updaterId,
  97. sm.updatetime as updateTime
  98. from sys_menu sm
  99. where sm.isvalid = 1
  100. order by sm.menu_id
  101. </select>
  102. <select id="roleUserPage" resultType="com.simuwang.base.pojo.dos.sys.SysRoleUserDO"
  103. parameterType="com.simuwang.base.pojo.dto.sys.RoleUserQuery">
  104. select t.role_id as roleId,
  105. t.role_name as roleName,
  106. t.role_key as roleKey,
  107. t.role_sort as roleSort,
  108. t.status as status,
  109. t.data_scope as dataScope,
  110. t.remark,
  111. t.creatorid as creatorId,
  112. t.createtime as createTime,
  113. t.updaterid as updaterId,
  114. t.updatetime as updateTime,
  115. t2.user_id as userId,
  116. t2.user_name as userName,
  117. t2.email,
  118. t2.phonenumber,
  119. t2.status as userStatus
  120. from sys_role t
  121. join sys_user_role t1 on t.role_id = t1.role_id
  122. join sys_user t2 on t1.user_id = t2.user_id and t2.isvalid = 1
  123. where t.isvalid = 1
  124. <if test="keyword != null and keyword != ''">
  125. and (
  126. t.role_name like concat('%', #{keyword}, '%')
  127. or
  128. t.role_key like concat('%', #{keyword}, '%')
  129. or
  130. t2.user_name like concat('%', #{keyword}, '%')
  131. or
  132. t2.email like concat('%', #{keyword}, '%')
  133. or
  134. t2.phonenumber like concat('%', #{keyword}, '%')
  135. )
  136. </if>
  137. <if test="beginTime != null and beginTime != '' and endTime != null and endTime != ''">
  138. and t.createtime between #{beginTime} and #{endTime}
  139. </if>
  140. <choose>
  141. <when test="orderItems != null and !orderItems.isEmpty()">
  142. order by
  143. <foreach collection="orderItems" item="item" separator=",">
  144. ${item.column} ${item.asc}
  145. </foreach>
  146. </when>
  147. <otherwise>order by t.createtime</otherwise>
  148. </choose>
  149. limit #{offset}, #{pageSize}
  150. </select>
  151. <select id="countRoleUser" parameterType="com.simuwang.base.pojo.dto.sys.RoleUserQuery">
  152. select count(t.role_id)
  153. from sys_role t
  154. join sys_user_role t1 on t.role_id = t1.role_id
  155. join sys_user t2 on t1.user_id = t2.user_id and t2.isvalid = 1
  156. where t.isvalid = 1
  157. <if test="keyword != null and keyword != ''">
  158. and (
  159. t.role_name like concat('%', #{keyword}, '%')
  160. or
  161. t.role_key like concat('%', #{keyword}, '%')
  162. or
  163. t2.user_name like concat('%', #{keyword}, '%')
  164. or
  165. t2.email like concat('%', #{keyword}, '%')
  166. or
  167. t2.phonenumber like concat('%', #{keyword}, '%')
  168. )
  169. </if>
  170. <if test="beginTime != null and beginTime != '' and endTime != null and endTime != ''">
  171. and t.createtime between #{beginTime} and #{endTime}
  172. </if>
  173. </select>
  174. <delete id="delUserRoleByUserId" parameterType="int">
  175. delete from sys_user_role where user_id =#{userId}
  176. </delete>
  177. <insert id="batchUserRoles">
  178. insert into sys_user_role(user_id, role_id) values
  179. <foreach collection="roleIds" item="roleId" separator=",">
  180. (#{userId}, #{roleId})
  181. </foreach>
  182. </insert>
  183. </mapper>