UserMapper.xml 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222
  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.welampiot.dao.UserDao">
  4. <select id="getUserByUserName" resultType="com.welampiot.dto.UserDTO" parameterType="com.welampiot.vo.LoginVO">
  5. select username,privilege_list privilegeList from user where username=#{username,jdbcType=VARCHAR}
  6. and password=#{password,jdbcType=VARCHAR} and status=1
  7. </select>
  8. <select id="loadUserByUsername" resultType="com.welampiot.dto.UserDTO">
  9. select username,password,status,privilege_list privilegeList from user where username=#{username,jdbcType=VARCHAR}
  10. </select>
  11. <select id="findUserByUserName" resultType="com.welampiot.dto.UserDTO">
  12. select id,username,role,status,privilege_list privilegeList,zone_list zoneList,
  13. (select name from company c where c.id = u.company_id) as company,address from user u where u.username=#{username,jdbcType=VARCHAR}
  14. </select>
  15. <select id="getListByParentId" resultType="com.welampiot.dto.UserDTO">
  16. select id,username
  17. from user
  18. <if test="parentId != null and parentId != ''">
  19. where parent_id=#{parent_id}
  20. </if>
  21. </select>
  22. <select id="queryMenuList" parameterType="list" resultType="com.welampiot.dto.MenuDTO">
  23. <!--select id,parentid parentId,name,en_name enName,ru_name ruName,level,action from privilnode where status=1
  24. and id in
  25. <foreach collection="list" item="id" separator="," open="(" close=")">
  26. id
  27. </foreach>-->
  28. SELECT
  29. p.id,
  30. p.parentid parentId,
  31. p.`level`,
  32. p.`name`,
  33. p.en_name enName,
  34. p.ru_name
  35. FROM
  36. user u
  37. LEFT JOIN t_user_role_relation ur ON u.id = ur.user_id
  38. LEFT JOIN t_role_menu_relation rm ON ur.role_id = rm.role_id
  39. LEFT JOIN privilnode p ON rm.menu_id = p.id
  40. WHERE
  41. u.username=#{username,jdbcType=VARCHAR}
  42. </select>
  43. <select id="queryUserGrantUrl" resultType="com.welampiot.dto.PathDTO">
  44. SELECT
  45. r.url,
  46. r.description
  47. FROM
  48. user u
  49. LEFT JOIN t_user_role_relation ur ON u.id = ur.user_id
  50. LEFT JOIN t_role_menu_relation rm ON ur.role_id = rm.role_id
  51. LEFT JOIN t_menu_path_relation mp ON rm.menu_id = mp.menu_id
  52. LEFT JOIN t_request_path r ON mp.path_id = r.id
  53. WHERE
  54. u.username=#{username,jdbcType=VARCHAR}
  55. </select>
  56. <select id="queryUserRole" resultType="com.welampiot.dto.RoleDTO">
  57. SELECT
  58. r.role_name roleName,
  59. r.role_description roleDescription
  60. FROM
  61. user u
  62. LEFT JOIN t_user_role_relation ur ON u.id = ur.user_id
  63. LEFT JOIN t_role r ON ur.role_id = r.id
  64. WHERE
  65. u.username = #{username,jdbcType=VARCHAR};
  66. </select>
  67. <select id="getUserInfoById" resultType="UserDTO">
  68. select u.id,u.avatar,u.name,u.username,u.company,u.company_id companyId,u.role,
  69. u.email,u.sex,u.remark,u.status,u.department,u.mobile as phone,u.address,u.zone_list zoneList
  70. from user u
  71. where u.id = #{id}
  72. </select>
  73. <!-- role为1查询所有用户的数量 -->
  74. <select id="getUserCount" resultType="Integer">
  75. select count(u.id)
  76. from user u
  77. </select>
  78. <!-- role为2查询下级账号数量 -->
  79. <select id="getUserCountByParentId" resultType="Integer">
  80. select count(u.id)
  81. from user u
  82. where u.parent_id = #{id}
  83. </select>
  84. <!-- 查询用户的区域权限数量 -->
  85. <select id="getSectionCountByZoneList" resultType="Integer">
  86. select count(*)
  87. from section s
  88. <if test="zoneList != null and !zoneList.isEmpty()">
  89. where s.id in
  90. <foreach collection="zoneList" item="item" open="(" separator="," close=")">
  91. #{item}
  92. </foreach>
  93. </if>
  94. </select>
  95. <!-- role为2时查询下级子账户 -->
  96. <select id="getUserListByUserDTO" resultType="com.welampiot.dto.UserDTO">
  97. select u.id,u.name,u.avatar,u.username,u.company,u.role,u.department,u.privilege_list as privilegeList
  98. from user u
  99. where u.parent_id = #{id}
  100. <if test="keyword != null and keyword != ''">
  101. and u.username like '%${keyword}%'
  102. </if>
  103. <if test="companyId != 0">
  104. and u.company_id = #{companyId}
  105. </if>
  106. <choose>
  107. <when test="role == 1">
  108. and u.role = 1
  109. </when>
  110. <when test="role == 2">
  111. and u.role = 2
  112. </when>
  113. <when test="role == 3">
  114. and u.role = 3
  115. </when>
  116. </choose>
  117. <choose>
  118. <when test="department == 1">
  119. and u.department = 1
  120. </when>
  121. <when test="department == 2">
  122. and u.department = 2
  123. </when>
  124. <when test="department == 3">
  125. and u.department = 3
  126. </when>
  127. <when test="department == 4">
  128. and u.department = 4
  129. </when>
  130. <when test="department == 5">
  131. and u.department = 5
  132. </when>
  133. <when test="department == 6">
  134. and u.department = 6
  135. </when>
  136. <when test="department == 7">
  137. and u.department = 7
  138. </when>
  139. <when test="department == 8">
  140. and u.department = 8
  141. </when>
  142. <when test="department == 9">
  143. and u.department = 9
  144. </when>
  145. </choose>
  146. order by u.id desc
  147. <if test="page >= 0 and count > 0">
  148. limit #{page},#{count}
  149. </if>
  150. </select>
  151. <!-- role为1时查询所有用户 -->
  152. <select id="getAllUserListByUserDTO" resultType="com.welampiot.dto.UserDTO">
  153. select u.id,u.name,u.avatar,u.username,u.company,u.department,u.privilege_list as privilegeList
  154. from user u
  155. where 1=1
  156. <if test="keyword != null and keyword != ''">
  157. and u.username like '%${keyword}%'
  158. </if>
  159. <if test="companyId != 0">
  160. and u.company_id = #{companyId}
  161. </if>
  162. <choose>
  163. <when test="role == 1">
  164. and u.role = 1
  165. </when>
  166. <when test="role == 2">
  167. and u.role = 2
  168. </when>
  169. <when test="role == 3">
  170. and u.role = 3
  171. </when>
  172. </choose>
  173. <choose>
  174. <when test="department == 1">
  175. and u.department = 1
  176. </when>
  177. <when test="department == 2">
  178. and u.department = 2
  179. </when>
  180. <when test="department == 3">
  181. and u.department = 3
  182. </when>
  183. <when test="department == 4">
  184. and u.department = 4
  185. </when>
  186. <when test="department == 5">
  187. and u.department = 5
  188. </when>
  189. <when test="department == 6">
  190. and u.department = 6
  191. </when>
  192. <when test="department == 7">
  193. and u.department = 7
  194. </when>
  195. <when test="department == 8">
  196. and u.department = 8
  197. </when>
  198. <when test="department == 9">
  199. and u.department = 9
  200. </when>
  201. </choose>
  202. order by u.id desc
  203. <if test="page >= 0 and count > 0">
  204. limit #{page},#{count}
  205. </if>
  206. </select>
  207. <select id="queryUserIdByUsername" resultType="UserDTO">
  208. select u.id,u.role
  209. from user u
  210. where u.username = #{username}
  211. </select>
  212. </mapper>