SysUserMapper.xml 43 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858
  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.zd.system.mapper.SysUserMapper">
  6. <resultMap type="com.zd.model.entity.SysUser" id="SysUserResult">
  7. <id property="userId" column="user_id"/>
  8. <result property="deptId" column="dept_id"/>
  9. <result property="userName" column="user_name"/>
  10. <result property="nickName" column="nick_name"/>
  11. <result property="email" column="email"/>
  12. <result property="phonenumber" column="phonenumber"/>
  13. <result property="sex" column="sex"/>
  14. <result property="avatar" column="avatar"/>
  15. <result property="password" column="password"/>
  16. <result property="status" column="status"/>
  17. <result property="delFlag" column="del_flag"/>
  18. <result property="loginIp" column="login_ip"/>
  19. <result property="loginDate" column="login_date"/>
  20. <result property="createBy" column="create_by"/>
  21. <result property="createTime" column="create_time"/>
  22. <result property="updateBy" column="update_by"/>
  23. <result property="updateTime" column="update_time"/>
  24. <result property="remark" column="remark"/>
  25. <result property="userType" column="user_type"/>
  26. <result property="major" column="major"/>
  27. <result property="grade" column="grade"/>
  28. <result property="gradeName" column="gradeName"/>
  29. <result property="category" column="category"/>
  30. <result property="tutorUserId" column="tutor_user_id"/>
  31. <result property="position" column="position"/>
  32. <result property="positionName" column="positionName"/>
  33. <result property="nature" column="nature"/>
  34. <result property="deptName" column="dept_name"/>
  35. <result property="tutorUserName" column="tutorUserName"/>
  36. <result property="cardNum" column="card_num"/>
  37. <result property="cardNumSimple" column="card_num_simple"/>
  38. <result property="wechatId" column="wechat_id"/>
  39. <result property="education" column="education"/>
  40. <result property="nationality" column="nationality"/>
  41. <result property="addr" column="addr"/>
  42. <result property="workStatus" column="work_status"/>
  43. <result property="dateBirth" column="date_birth"/>
  44. <result property="department" column="department"/>
  45. <result property="majorId" column="major_id"/>
  46. <result property="isCheck" column="is_check"/>
  47. <result property="signature" column="signature"/>
  48. <result property="faceImg" column="face_img"/>
  49. <result property="className" column="class_name"/>
  50. <result property="createTimeStr" column="createTimeStr"/>
  51. <association property="dept" column="dept_id" javaType="com.zd.model.entity.SysDept"
  52. resultMap="deptResult"/>
  53. <!--<collection property="roles" javaType="java.util.List" resultMap="RoleResult"/>-->
  54. </resultMap>
  55. <resultMap id="deptResult" type="com.zd.model.entity.SysDept">
  56. <id property="deptId" column="dept_id"/>
  57. <result property="parentId" column="parent_id"/>
  58. <result property="deptName" column="dept_name"/>
  59. <result property="orderNum" column="order_num"/>
  60. <result property="leader" column="leader"/>
  61. <result property="status" column="dept_status"/>
  62. </resultMap>
  63. <resultMap id="RoleResult" type="com.zd.model.entity.SysRole">
  64. <id property="roleId" column="role_id"/>
  65. <result property="roleName" column="role_name"/>
  66. <result property="roleKey" column="role_key"/>
  67. <result property="roleSort" column="role_sort"/>
  68. <result property="dataScope" column="data_scope"/>
  69. <result property="status" column="role_status"/>
  70. </resultMap>
  71. <!--2.6弃用-->
  72. <sql id="selectUserVo">
  73. select u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.avatar, u.phonenumber, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark,u.user_type,
  74. d.dept_id, d.parent_id, d.dept_name, d.order_num, d.leader, d.status as dept_status,
  75. r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope, r.status as role_status,
  76. u.major,u.major_id, u.grade, u.category, u.tutor_user_id, u.position, u.nature, u.signature,
  77. u.card_num,u.wechat_id,u.education,u.nationality,u.addr,u.work_status,u.date_birth,
  78. ut.nick_name tutorUserName,u.is_check
  79. from sys_user u
  80. left join sys_dept d on u.dept_id = d.dept_id
  81. left join sys_user_role ur on u.user_id = ur.user_id
  82. left join sys_role r on r.role_id = ur.role_id
  83. left join sys_user ut on ut.user_id = u.tutor_user_id
  84. </sql>
  85. <sql id="selectUserNewVo">
  86. select u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.avatar, u.phonenumber, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark,u.user_type,
  87. d.dept_id, d.parent_id, d.dept_name, d.order_num, d.leader, d.status as dept_status,
  88. sm.`major_name` major, u.grade, u.category, u.tutor_user_id, u.position, u.nature, u.signature,
  89. u.card_num,u.card_num_simple,u.wechat_id,u.education,u.nationality,u.addr,u.work_status,u.date_birth,
  90. ut.nick_name tutorUserName,u.is_check,
  91. uf.face_img,sc.class_name,u.major_id,u.signature,pt.`post_name` positionName
  92. from sys_user u
  93. left join sys_dept d on u.dept_id = d.dept_id
  94. left join sys_user ut on ut.user_id = u.tutor_user_id
  95. left join lab_students_info uf on u.user_id = uf.join_students_id
  96. LEFT JOIN sys_class sc ON sc.id = u.grade
  97. LEFT JOIN sys_major sm ON sm.id = u.major_id
  98. left join sys_post pt on pt.`post_id` = u.`position`
  99. </sql>
  100. <select id="selectUserList" parameterType="com.zd.model.entity.SysUser" resultMap="SysUserResult">
  101. select u.user_id, u.dept_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.password, u.sex,
  102. u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark,
  103. u.major_id, u.grade, u.tutor_user_id, u.position, p.post_name as positionName,
  104. u.nature,(select sc.class_name from sys_class sc where sc.id = u.grade) gradeName,
  105. u.card_num,u.card_num_simple,u.wechat_id,u.nationality,u.addr,u.work_status,
  106. u.date_birth,d.dept_name, d.leader,u.department,
  107. u.education, u.user_type,sm.`major_name` major,
  108. ut.nick_name tutorUserName,u.is_check,date_format(u.create_time, '%Y-%m-%d') createTimeStr
  109. from
  110. sys_user u
  111. left join sys_dept d on u.dept_id = d.dept_id
  112. left join sys_user ut on ut.user_id = u.tutor_user_id
  113. left join sys_post p on u.position = p.post_id
  114. LEFT JOIN sys_major sm ON sm.id = u.major_id
  115. where u.del_flag = '0'
  116. <if test="userId != null ">
  117. AND u.user_id = #{userId}
  118. </if>
  119. <if test="paramIds != null and paramIds != ''">
  120. AND find_in_set(u.user_id, #{paramIds})
  121. </if>
  122. <if test="userName != null and userName != ''">
  123. AND u.user_name like concat('%', #{userName}, '%')
  124. </if>
  125. <if test="nickName != null and nickName != ''">
  126. AND u.nick_name like concat('%', #{nickName}, '%')
  127. </if>
  128. <if test="cardNum != null and cardNum != ''">
  129. AND u.card_num = #{cardNum}
  130. </if>
  131. <if test="cardNumSimple != null and cardNumSimple != ''">
  132. <if test="cardNumSimple == 1">
  133. AND u.card_num_simple is not null
  134. </if>
  135. <if test="cardNumSimple == 0">
  136. AND u.card_num_simple is null
  137. </if>
  138. </if>
  139. <if test="userType != null and userType != ''">
  140. AND u.user_type = #{userType}
  141. </if>
  142. <if test="userType == null or userType == ''">
  143. AND u.user_type != '00' AND u.user_type != '33'
  144. </if>
  145. <if test="status != null and status != ''">
  146. AND u.status = #{status}
  147. </if>
  148. <if test="phonenumber != null and phonenumber != ''">
  149. AND u.phonenumber like concat('%', #{phonenumber}, '%')
  150. </if>
  151. <if test="params.beginTime != null and params.beginTime != ''"><!-- 开始时间检索 -->
  152. AND date_format(u.create_time,'%y%m%d') &gt;= date_format(#{params.beginTime},'%y%m%d')
  153. </if>
  154. <if test="params.endTime != null and params.endTime != ''"><!-- 结束时间检索 -->
  155. AND date_format(u.create_time,'%y%m%d') &lt;= date_format(#{params.endTime},'%y%m%d')
  156. </if>
  157. <if test="deptId != null and deptId != 0">
  158. AND (u.dept_id = #{deptId} OR u.dept_id IN ( SELECT t.dept_id FROM sys_dept t WHERE find_in_set(#{deptId},
  159. ancestors) ))
  160. </if>
  161. <if test="ids!=null and ids.size > 0">
  162. <choose>
  163. <when test="include">
  164. AND u.user_id not IN
  165. </when>
  166. <otherwise>
  167. AND u.user_id IN
  168. </otherwise>
  169. </choose>
  170. <foreach item="item" collection="ids" separator="," open="(" close=")" index="">'${item}'</foreach>
  171. </if>
  172. <if test="major != null and major != ''">
  173. AND u.major like concat('%', #{major}, '%')
  174. </if>
  175. <if test="majorId != null and majorId != ''">
  176. AND u.major_id = #{majorId}
  177. </if>
  178. <if test="searchValue != null and searchValue != ''">
  179. AND
  180. (
  181. u.nick_name like concat('%', #{searchValue}, '%')
  182. or
  183. u.user_name like concat('%', #{searchValue}, '%')
  184. or
  185. u.phonenumber like concat('%', #{searchValue}, '%')
  186. or
  187. ut.nick_name like concat('%', #{searchValue}, '%')
  188. or
  189. p.post_name like concat('%', #{searchValue}, '%')
  190. )
  191. </if>
  192. <if test="grade != null and grade != ''">
  193. AND u.grade like concat('%', #{grade}, '%')
  194. </if>
  195. <if test="category != null and category != ''">
  196. AND u.category like concat('%', #{category}, '%')
  197. </if>
  198. <if test="tutorUserId != null">
  199. AND u.tutor_user_id = #{tutorUserId}
  200. </if>
  201. <if test="nature != null and nature != ''">
  202. AND u.nature = #{nature}
  203. </if>
  204. <if test="position != null and position != ''">
  205. AND u.position = #{position}
  206. </if>
  207. <if test="isCheck != null">
  208. AND u.is_check = #{isCheck}
  209. </if>
  210. <!-- 数据范围过滤 -->
  211. ${params.dataScope}
  212. order by
  213. <if test="userType == '11'">
  214. u.nature ASC,
  215. </if>
  216. u.create_time DESC
  217. </select>
  218. <select id="selectUserListByDeptIds" resultMap="SysUserResult">
  219. select u.user_id, u.dept_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.password, u.sex,
  220. u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark,
  221. u.card_num,u.wechat_id,u.education,u.nationality,u.addr,u.work_status,u.date_birth
  222. from
  223. sys_user u
  224. where u.del_flag = '0'
  225. and u.status = '0'
  226. and u.dept_id in
  227. <foreach collection="array" item="deptId" open="(" separator="," close=")">
  228. #{deptId}
  229. </foreach>
  230. </select>
  231. <select id="selectAllocatedList" parameterType="com.zd.model.entity.SysUser" resultMap="SysUserResult">
  232. select distinct u.user_id, u.dept_id, u.user_name, u.nick_name, u.user_type, u.email, u.phonenumber, u.status, u.create_time, d.`dept_name`,
  233. u.card_num,u.wechat_id,u.education,u.nationality,u.addr,u.work_status,u.date_birth
  234. from sys_user u
  235. left join sys_dept d on u.dept_id = d.dept_id
  236. left join sys_user_role ur on u.user_id = ur.user_id
  237. left join sys_role r on r.role_id = ur.role_id
  238. where u.del_flag = '0' and r.role_id = #{roleId}
  239. <if test="userName != null and userName != ''">
  240. AND u.user_name like concat('%', #{userName}, '%')
  241. </if>
  242. <if test="nickName != null and nickName != ''">
  243. AND u.nick_name like concat('%', #{nickName}, '%')
  244. </if>
  245. <if test="userType != null and userType != ''">
  246. AND u.user_type = #{userType}
  247. </if>
  248. <if test="phonenumber != null and phonenumber != ''">
  249. AND u.phonenumber like concat('%', #{phonenumber}, '%')
  250. </if>
  251. <if test="deptId != null and deptId != 0">
  252. AND (u.dept_id = #{deptId} OR u.dept_id IN ( SELECT t.dept_id FROM sys_dept t WHERE find_in_set(#{deptId},
  253. ancestors) ))
  254. </if>
  255. <!-- 数据范围过滤 -->
  256. ${params.dataScope}
  257. </select>
  258. <select id="selectUnallocatedList" parameterType="com.zd.model.entity.SysUser" resultMap="SysUserResult">
  259. select distinct u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.phonenumber, u.status, u.create_time,
  260. u.card_num,u.wechat_id,u.education,u.nationality,u.addr,u.work_status
  261. from sys_user u
  262. left join sys_dept d on u.dept_id = d.dept_id
  263. left join sys_user_role ur on u.user_id = ur.user_id
  264. left join sys_role r on r.role_id = ur.role_id
  265. where u.del_flag = '0' and (r.role_id != #{roleId} or r.role_id IS NULL)
  266. and u.user_id not in (select u.user_id from sys_user u inner join sys_user_role ur on u.user_id = ur.user_id and
  267. ur.role_id = #{roleId})
  268. <if test="userName != null and userName != ''">
  269. AND u.user_name like concat('%', #{userName}, '%')
  270. </if>
  271. <if test="nickName != null and nickName != ''">
  272. AND u.nick_name like concat('%', #{nickName}, '%')
  273. </if>
  274. <if test="userType != null and userType != ''">
  275. AND u.user_type = #{userType}
  276. </if>
  277. <if test="phonenumber != null and phonenumber != ''">
  278. AND u.phonenumber like concat('%', #{phonenumber}, '%')
  279. </if>
  280. <if test="deptId != null and deptId != 0">
  281. AND (u.dept_id = #{deptId} OR u.dept_id IN ( SELECT t.dept_id FROM sys_dept t WHERE find_in_set(#{deptId},
  282. ancestors) ))
  283. </if>
  284. <!-- 数据范围过滤 -->
  285. ${params.dataScope}
  286. </select>
  287. <select id="selectUserByUserName" parameterType="String" resultMap="SysUserResult">
  288. <include refid="selectUserNewVo"/>
  289. where (u.user_name = #{userName} or u.phonenumber=#{userName}) and u.del_flag = 0
  290. </select>
  291. <select id="selectUserCenterByUserName" parameterType="String" resultMap="SysUserResult">
  292. SELECT u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.avatar, u.phonenumber, u.password, u.sex,
  293. u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark,u.user_type,
  294. d.dept_id, d.parent_id,
  295. CASE WHEN u.user_type='22' THEN d.dept_name ELSE concat(if((SELECT dt.dept_name FROM sys_dept dt WHERE dt.dept_id = d.parent_id) is null ,'',
  296. (SELECT concat(dt.dept_name,'-') FROM sys_dept dt WHERE dt.dept_id = d.parent_id)),d.dept_name) end dept_name,
  297. d.order_num, d.leader, d.status AS dept_status,
  298. CASE WHEN u.user_type='22' THEN sm.`major_name` else pt.`post_name` end major,
  299. u.grade,dd.`dict_label` category, u.tutor_user_id, u.position, u.nature, u.signature,
  300. u.card_num,u.wechat_id,
  301. case when u.user_type='22' then ed.`dict_label` else dd.`dict_label` end education,
  302. u.nationality,u.addr,u.work_status,u.date_birth,
  303. ut.nick_name tutorUserName,u.is_check,
  304. uf.face_img,sc.class_name,u.major_id,u.signature,pt.`post_name` positionName
  305. FROM sys_user u
  306. LEFT JOIN sys_dept d ON u.dept_id = d.dept_id
  307. LEFT JOIN sys_user ut ON ut.user_id = u.tutor_user_id
  308. LEFT JOIN lab_students_info uf ON u.user_id = uf.join_students_id
  309. LEFT JOIN sys_class sc ON sc.id = u.grade
  310. LEFT JOIN sys_major sm ON sm.id = u.major_id
  311. LEFT JOIN sys_post pt ON pt.`post_id` = u.`position`
  312. LEFT JOIN sys_dict_data dd ON dd.`dict_value` = u.category AND dd.`dict_type`='professional'
  313. LEFT JOIN sys_dict_data ed ON ed.`dict_value` = u.education AND ed.`dict_type`='education'
  314. where u.user_name = #{userName} and u.del_flag = 0
  315. </select>
  316. <select id="selectUserByNickName" parameterType="String" resultMap="SysUserResult">
  317. <include refid="selectUserNewVo"/>
  318. where u.nick_name = #{nickName}
  319. </select>
  320. <select id="selectUserByCardNum" parameterType="String" resultMap="SysUserResult">
  321. <include refid="selectUserNewVo"/>
  322. where u.card_num_simple = #{cardNumSimple} and u.del_flag = 0
  323. </select>
  324. <select id="selectUserById" parameterType="Long" resultMap="SysUserResult">
  325. <include refid="selectUserNewVo"/>
  326. where u.user_id = #{userId}
  327. </select>
  328. <select id="checkUserNameUnique" parameterType="String" resultType="int">
  329. select count(1) from sys_user where user_name = #{userName} and del_flag=0 limit 1
  330. </select>
  331. <select id="checkUserNameUniqueNotOwn" parameterType="com.zd.model.entity.SysUser" resultType="int">
  332. select count(1) from sys_user where user_name = #{userName} and del_flag=0 and user_id != #{userId} limit 1
  333. </select>
  334. <select id="checkCardUnique" parameterType="com.zd.model.entity.SysUser" resultType="int">
  335. select count(1) from sys_user where card_num = #{cardNum} and del_flag=0 limit 1
  336. </select>
  337. <select id="checkCardSimpleUnique" parameterType="com.zd.model.entity.SysUser" resultType="int">
  338. select count(1) from sys_user where card_num_simple = #{cardNumSimple} and del_flag=0 and user_id != #{userId} limit 1
  339. </select>
  340. <select id="checkPhoneUnique" parameterType="String" resultMap="SysUserResult">
  341. select user_id, phonenumber from sys_user where phonenumber = #{phonenumber} and del_flag=0 limit 1
  342. </select>
  343. <select id="checkPhoneUniqueNotOwn" parameterType="com.zd.model.entity.SysUser" resultMap="SysUserResult">
  344. select user_id, phonenumber from sys_user where phonenumber = #{phonenumber} and user_name != #{userName} limit 1
  345. </select>
  346. <select id="checkEmailUnique" parameterType="String" resultMap="SysUserResult">
  347. select user_id, email from sys_user where email = #{email} limit 1
  348. </select>
  349. <select id="selectOption" resultType="java.util.Map">
  350. select user_id userId, nick_name nickName,user_name userName from sys_user
  351. <where>
  352. <if test="userType != null and userType != ''">
  353. AND user_type = #{userType}
  354. </if>
  355. <if test="nickName != null and nickName != ''">
  356. AND nick_name like concat('%', #{nickName}, '%')
  357. </if>
  358. </where>
  359. </select>
  360. <select id="noJoinPositionByList" parameterType="com.zd.model.entity.SysUser" resultMap="SysUserResult">
  361. select u.user_id, u.dept_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.password, u.sex,
  362. u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark,
  363. u.major, u.grade, u.category, u.tutor_user_id, u.position, u.nature,
  364. u.card_num,u.wechat_id,u.education,u.nationality,u.addr,u.work_status,u.date_birth,
  365. d.dept_name, d.leader,u.department,
  366. ut.nick_name tutorUserName,u.is_check
  367. from
  368. sys_user u
  369. left join sys_dept d on u.dept_id = d.dept_id
  370. left join sys_user ut on ut.user_id = u.tutor_user_id
  371. where u.del_flag = '0' AND (u.position = '未定' or u.position is null)
  372. <if test="userId != null ">
  373. AND u.user_id = #{userId}
  374. </if>
  375. <if test="userName != null and userName != ''">
  376. AND u.user_name like concat('%', #{userName}, '%')
  377. </if>
  378. <if test="nickName != null and nickName != ''">
  379. AND u.nick_name like concat('%', #{nickName}, '%')
  380. </if>
  381. <if test="cardNum != null and cardNum != ''">
  382. AND u.card_num = #{cardNum}
  383. </if>
  384. <if test="userType != null and userType != ''">
  385. AND u.user_type = #{userType}
  386. </if>
  387. <if test="status != null and status != ''">
  388. AND u.status = #{status}
  389. </if>
  390. <if test="phonenumber != null and phonenumber != ''">
  391. AND u.phonenumber like concat('%', #{phonenumber}, '%')
  392. </if>
  393. <if test="params.beginTime != null and params.beginTime != ''"><!-- 开始时间检索 -->
  394. AND date_format(u.create_time,'%y%m%d') &gt;= date_format(#{params.beginTime},'%y%m%d')
  395. </if>
  396. <if test="params.endTime != null and params.endTime != ''"><!-- 结束时间检索 -->
  397. AND date_format(u.create_time,'%y%m%d') &lt;= date_format(#{params.endTime},'%y%m%d')
  398. </if>
  399. <if test="deptId != null and deptId != 0">
  400. AND (u.dept_id = #{deptId} OR u.dept_id IN ( SELECT t.dept_id FROM sys_dept t WHERE find_in_set(#{deptId},
  401. ancestors) ))
  402. </if>
  403. <if test="ids!=null and ids.size > 0">
  404. AND u.user_id IN
  405. <foreach item="item" collection="ids" separator="," open="(" close=")" index="">'${item}'</foreach>
  406. </if>
  407. <if test="major != null and major != ''">
  408. AND u.major like concat('%', #{major}, '%')
  409. </if>
  410. <if test="grade != null and grade != ''">
  411. AND u.grade like concat('%', #{grade}, '%')
  412. </if>
  413. <if test="category != null and category != ''">
  414. AND u.category like concat('%', #{category}, '%')
  415. </if>
  416. <if test="tutorUserId != null">
  417. AND u.tutor_user_id = #{tutorUserId}
  418. </if>
  419. <if test="nature != null and nature != ''">
  420. AND u.nature = #{nature}
  421. </if>
  422. <if test="isCheck != null">
  423. AND u.is_check = #{isCheck}
  424. </if>
  425. <!-- 数据范围过滤 -->
  426. ${params.dataScope}
  427. </select>
  428. <insert id="insertUser" parameterType="com.zd.model.entity.SysUser" useGeneratedKeys="true"
  429. keyProperty="userId">
  430. insert into sys_user(
  431. <if test="userId != null and userId != 0">user_id,</if>
  432. <if test="deptId != null and deptId != 0">dept_id,</if>
  433. <if test="userName != null and userName != ''">user_name,</if>
  434. <if test="nickName != null and nickName != ''">nick_name,</if>
  435. <if test="email != null and email != ''">email,</if>
  436. <if test="avatar != null and avatar != ''">avatar,</if>
  437. <if test="phonenumber != null and phonenumber != ''">phonenumber,</if>
  438. <if test="sex != null and sex != ''">sex,</if>
  439. <if test="password != null and password != ''">password,</if>
  440. <if test="status != null and status != ''">status,</if>
  441. <if test="createBy != null and createBy != ''">create_by,</if>
  442. <if test="remark != null and remark != ''">remark,</if>
  443. <if test="userType != null and userType != ''">user_type,</if>
  444. <if test="major != null and major != ''">major,</if>
  445. <if test="grade != null and grade != ''">grade,</if>
  446. <if test="category != null and category != ''">category,</if>
  447. <if test="tutorUserId != null and tutorUserId != '' ">tutor_user_id,</if>
  448. <if test="majorId != null and majorId != ''">major_id,</if>
  449. <if test="position != null and position != ''">position,</if>
  450. <if test="department != null and department != ''">department,</if>
  451. <if test="nature != null and nature != ''">nature,</if>
  452. <if test="cardNum != null and cardNum != ''">card_num,</if>
  453. <if test="cardNumSimple != null and cardNumSimple != ''">card_num_simple,</if>
  454. <if test="education != null and education != ''">education,</if>
  455. <if test="nationality != null and nationality != ''">nationality,</if>
  456. <if test="addr != null and addr != ''">addr,</if>
  457. <if test="workStatus != null and workStatus != ''">work_status,</if>
  458. <if test="dateBirth != null">date_birth,</if>
  459. <if test="isCheck != null and isCheck != ''">is_check,</if>
  460. create_time
  461. )values(
  462. <if test="userId != null and userId != ''">#{userId},</if>
  463. <if test="deptId != null and deptId != ''">#{deptId},</if>
  464. <if test="userName != null and userName != ''">#{userName},</if>
  465. <if test="nickName != null and nickName != ''">#{nickName},</if>
  466. <if test="email != null and email != ''">#{email},</if>
  467. <if test="avatar != null and avatar != ''">#{avatar},</if>
  468. <if test="phonenumber != null and phonenumber != ''">#{phonenumber},</if>
  469. <if test="sex != null and sex != ''">#{sex},</if>
  470. <if test="password != null and password != ''">#{password},</if>
  471. <if test="status != null and status != ''">#{status},</if>
  472. <if test="createBy != null and createBy != ''">#{createBy},</if>
  473. <if test="remark != null and remark != ''">#{remark},</if>
  474. <if test="userType != null and userType != ''">#{userType},</if>
  475. <if test="major != null and major != ''">#{major},</if>
  476. <if test="grade != null and grade != ''">#{grade},</if>
  477. <if test="category != null and category != ''">#{category},</if>
  478. <if test="tutorUserId != null and tutorUserId != ''">#{tutorUserId},</if>
  479. <if test="majorId != null and majorId != ''">#{majorId},</if>
  480. <if test="position != null and position != '' ">#{position},</if>
  481. <if test="department != null and department != ''">#{department},</if>
  482. <if test="nature != null and nature != ''">#{nature},</if>
  483. <if test="cardNum != null and cardNum != ''">#{cardNum},</if>
  484. <if test="cardNumSimple != null and cardNumSimple != ''">#{cardNumSimple},</if>
  485. <if test="education != null and education != ''">#{education},</if>
  486. <if test="nationality != null and nationality != ''">#{nationality},</if>
  487. <if test="addr != null and addr != ''">#{addr},</if>
  488. <if test="workStatus != null and workStatus != ''">#{workStatus},</if>
  489. <if test="dateBirth != null">#{dateBirth},</if>
  490. <if test="isCheck != null and isCheck != ''">#{isCheck},</if>
  491. sysdate()
  492. )
  493. </insert>
  494. <update id="updateUser" parameterType="com.zd.model.entity.SysUser">
  495. update sys_user
  496. <set>
  497. <if test="deptId != null and deptId != 0">dept_id = #{deptId},</if>
  498. <if test="userName != null and userName != ''">user_name = #{userName},</if>
  499. <if test="nickName != null and nickName != ''">nick_name = #{nickName},</if>
  500. <if test="email != null ">email = #{email},</if>
  501. <if test="phonenumber != null ">phonenumber = #{phonenumber},</if>
  502. <if test="sex != null and sex != ''">sex = #{sex},</if>
  503. <if test="avatar != null and avatar != ''">avatar = #{avatar},</if>
  504. <if test="password != null and password != ''">password = #{password},</if>
  505. <if test="status != null and status != ''">status = #{status},</if>
  506. <if test="loginIp != null and loginIp != ''">login_ip = #{loginIp},</if>
  507. <if test="loginDate != null">login_date = #{loginDate},</if>
  508. <if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
  509. <if test="remark != null and remark != ''">remark = #{remark},</if>
  510. <if test="userType != null ">user_type = #{userType},</if>
  511. <if test="major != null and major != ''">major = #{major},</if>
  512. <if test="majorId != null">major_id = #{majorId},</if>
  513. <if test="grade != null and grade!=''">grade = #{grade},</if>
  514. <if test="category != null and category !=''">category = #{category},</if>
  515. <if test="tutorUserId != null ">tutor_user_id = #{tutorUserId},</if>
  516. <if test="position != null ">position = #{position},</if>
  517. <if test="department != null ">department = #{department},</if>
  518. <if test="nature != null and nature!=''">nature = #{nature},</if>
  519. <if test="cardNum != null and cardNum!=''">card_num = #{cardNum},</if>
  520. <if test="cardNumSimple != null and cardNumSimple!=''">card_num_simple = #{cardNumSimple},</if>
  521. <if test="education != null and education!=''">education = #{education},</if>
  522. <if test="nationality != null and nationality!=''">nationality = #{nationality},</if>
  523. <if test="addr != null and addr != ''">addr = #{addr},</if>
  524. <if test="workStatus != null and workStatus != ''">work_status = #{workStatus},</if>
  525. <if test="dateBirth != null">date_birth = #{dateBirth},</if>
  526. <if test="isCheck != null ">is_check = #{isCheck},</if>
  527. <if test="signature != null and signature != ''">signature = #{signature},</if>
  528. update_time = sysdate()
  529. </set>
  530. where user_id = #{userId}
  531. </update>
  532. <update id="updateTeacherUser" parameterType="com.zd.model.entity.SysUser">
  533. update sys_user
  534. <set>
  535. <if test="deptId != null and deptId != 0">dept_id = #{deptId},</if>
  536. <if test="userName != null and userName != ''">user_name = #{userName},</if>
  537. <if test="nickName != null and nickName != ''">nick_name = #{nickName},</if>
  538. <if test="email != null ">email = #{email},</if>
  539. <if test="phonenumber != null ">phonenumber = #{phonenumber},</if>
  540. <if test="sex != null and sex != ''">sex = #{sex},</if>
  541. <if test="avatar != null and avatar != ''">avatar = #{avatar},</if>
  542. <if test="password != null and password != ''">password = #{password},</if>
  543. <if test="status != null and status != ''">status = #{status},</if>
  544. <if test="loginIp != null and loginIp != ''">login_ip = #{loginIp},</if>
  545. <if test="loginDate != null">login_date = #{loginDate},</if>
  546. <if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
  547. <if test="remark != null and remark != ''">remark = #{remark},</if>
  548. <if test="userType != null ">user_type = #{userType},</if>
  549. <if test="major != null and major != ''">major = #{major},</if>
  550. <if test="majorId != null">major_id = #{majorId},</if>
  551. <if test="grade != null and grade!=''">grade = #{grade},</if>
  552. <if test="category != null and category !=''">category = #{category},</if>
  553. <if test="tutorUserId != null ">tutor_user_id = #{tutorUserId},</if>
  554. <if test="position != null ">position = #{position},</if>
  555. <if test="department != null ">department = #{department},</if>
  556. <if test="nature != null and nature!=''">nature = #{nature},</if>
  557. card_num = #{cardNum},
  558. card_num_simple = #{cardNumSimple},
  559. <if test="education != null and education!=''">education = #{education},</if>
  560. <if test="nationality != null and nationality!=''">nationality = #{nationality},</if>
  561. <if test="addr != null and addr != ''">addr = #{addr},</if>
  562. <if test="workStatus != null and workStatus != ''">work_status = #{workStatus},</if>
  563. <if test="dateBirth != null">date_birth = #{dateBirth},</if>
  564. <if test="isCheck != null ">is_check = #{isCheck},</if>
  565. <if test="signature != null and signature != ''">signature = #{signature},</if>
  566. update_time = sysdate()
  567. </set>
  568. where user_id = #{userId}
  569. </update>
  570. <update id="updateStudentUser" parameterType="com.zd.model.entity.SysUser">
  571. update sys_user
  572. <set>
  573. <if test="deptId != null and deptId != 0">dept_id = #{deptId},</if>
  574. <if test="userName != null and userName != ''">user_name = #{userName},</if>
  575. <if test="nickName != null and nickName != ''">nick_name = #{nickName},</if>
  576. <if test="email != null ">email = #{email},</if>
  577. <if test="phonenumber != null ">phonenumber = #{phonenumber},</if>
  578. <if test="sex != null and sex != ''">sex = #{sex},</if>
  579. <if test="avatar != null and avatar != ''">avatar = #{avatar},</if>
  580. <if test="password != null and password != ''">password = #{password},</if>
  581. <if test="status != null and status != ''">status = #{status},</if>
  582. <if test="loginIp != null and loginIp != ''">login_ip = #{loginIp},</if>
  583. <if test="loginDate != null">login_date = #{loginDate},</if>
  584. <if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
  585. <if test="remark != null and remark != ''">remark = #{remark},</if>
  586. <if test="userType != null ">user_type = #{userType},</if>
  587. <if test="major != null and major != ''">major = #{major},</if>
  588. <if test="majorId != null">major_id = #{majorId},</if>
  589. <if test="grade != null and grade!=''">grade = #{grade},</if>
  590. <if test="category != null and category !=''">category = #{category},</if>
  591. <if test="tutorUserId != null ">tutor_user_id = #{tutorUserId},</if>
  592. <if test="position != null ">position = #{position},</if>
  593. <if test="department != null ">department = #{department},</if>
  594. <if test="nature != null and nature!=''">nature = #{nature},</if>
  595. card_num = #{cardNum},
  596. card_num_simple = #{cardNumSimple},
  597. <if test="education != null and education!=''">education = #{education},</if>
  598. <if test="nationality != null and nationality!=''">nationality = #{nationality},</if>
  599. <if test="addr != null and addr != ''">addr = #{addr},</if>
  600. <if test="workStatus != null and workStatus != ''">work_status = #{workStatus},</if>
  601. <if test="dateBirth != null">date_birth = #{dateBirth},</if>
  602. <if test="isCheck != null ">is_check = #{isCheck},</if>
  603. <if test="signature != null and signature != ''">signature = #{signature},</if>
  604. update_time = sysdate()
  605. </set>
  606. where user_id = #{userId}
  607. </update>
  608. <update id="relieveUserByPosition" parameterType="com.zd.model.entity.SysUser">
  609. update sys_user
  610. set position = '未定'
  611. where user_id = #{userId}
  612. </update>
  613. <update id="updateUserAvatar" parameterType="com.zd.model.entity.SysUser">
  614. update sys_user set avatar = #{avatar} where user_name = #{userName}
  615. </update>
  616. <update id="resetUserPwd" parameterType="com.zd.model.entity.SysUser">
  617. update sys_user set password = #{password} where user_name = #{userName}
  618. </update>
  619. <delete id="deleteUserById" parameterType="Long">
  620. update sys_user set del_flag = '2' where user_id = #{userId}
  621. </delete>
  622. <delete id="deleteUserByIds" parameterType="Long">
  623. update sys_user set del_flag = '2' where user_id in
  624. <foreach collection="array" item="userId" open="(" separator="," close=")">
  625. #{userId}
  626. </foreach>
  627. </delete>
  628. <select id="queryPhoneByIds" resultType="string">
  629. select phonenumber from sys_user
  630. where user_id in
  631. <foreach collection="array" item="id" open="(" separator="," close=")">
  632. #{id}
  633. </foreach>
  634. and length(phonenumber)=11
  635. </select>
  636. <select id="queryCardNumByIds" resultType="com.zd.model.entity.SysUser">
  637. select * from sys_user
  638. where card_num_simple in
  639. <foreach collection="array" item="cardNums" open="(" separator="," close=")">
  640. #{cardNums}
  641. </foreach>
  642. </select>
  643. <select id="queryCountByDeptIds" resultType="com.zd.model.entity.TotalByID">
  644. select dept_id as id, count(dept_id ) as total from sys_user
  645. where dept_id in
  646. <foreach collection="array" item="deptId" open="(" separator="," close=")">
  647. #{deptId}
  648. </foreach>
  649. group by dept_id
  650. </select>
  651. <select id="selectUserListByName" parameterType="com.zd.model.entity.SysUser" resultMap="SysUserResult">
  652. select u.user_id, u.dept_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.password, u.sex,
  653. u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark,
  654. u.major, u.grade, u.category, u.tutor_user_id, u.position, u.nature,
  655. u.card_num,u.wechat_id,u.education,u.nationality,u.addr,u.work_status,u.date_birth,
  656. d.dept_name, d.leader,u.department,u.is_check
  657. from
  658. sys_user u
  659. left join sys_dept d on u.dept_id = d.dept_id
  660. where u.del_flag = '0'
  661. <if test="userId != null ">
  662. AND u.user_id = #{userId}
  663. </if>
  664. <if test="userName != null and userName != ''">
  665. AND u.user_name like concat('%', #{userName}, '%')
  666. </if>
  667. <if test="nickName != null and nickName != ''">
  668. AND u.nick_name like concat('%', #{nickName}, '%')
  669. </if>
  670. <if test="userType != null and userType != ''">
  671. AND u.user_type = #{userType}
  672. </if>
  673. <if test="status != null and status != ''">
  674. AND u.status = #{status}
  675. </if>
  676. <if test="phonenumber != null and phonenumber != ''">
  677. AND u.phonenumber like concat('%', #{phonenumber}, '%')
  678. </if>
  679. <if test="params.beginTime != null and params.beginTime != ''"><!-- 开始时间检索 -->
  680. AND date_format(u.create_time,'%y%m%d') &gt;= date_format(#{params.beginTime},'%y%m%d')
  681. </if>
  682. <if test="params.endTime != null and params.endTime != ''"><!-- 结束时间检索 -->
  683. AND date_format(u.create_time,'%y%m%d') &lt;= date_format(#{params.endTime},'%y%m%d')
  684. </if>
  685. <if test="ids!=null and ids.size > 0">
  686. AND u.user_id IN
  687. <foreach item="item" collection="ids" separator="," open="(" close=")" index="">'${item}'</foreach>
  688. </if>
  689. <if test="major != null and major != ''">
  690. AND u.major like concat('%', #{major}, '%')
  691. </if>
  692. <if test="grade != null and grade != ''">
  693. AND u.grade like concat('%', #{grade}, '%')
  694. </if>
  695. <if test="category != null and category != ''">
  696. AND u.category like concat('%', #{category}, '%')
  697. </if>
  698. <if test="tutorUserId != null">
  699. AND u.tutor_user_id = #{tutorUserId}
  700. </if>
  701. <if test="nature != null and nature != ''">
  702. AND u.nature = #{nature}
  703. </if>
  704. <if test="position != null and position != ''">
  705. AND u.position = #{position}
  706. </if>
  707. <if test="isCheck != null">
  708. AND u.is_check = #{isCheck}
  709. </if>
  710. </select>
  711. <select id="selectUserListByNotWhite" parameterType="com.zd.model.entity.SysUser" resultMap="SysUserResult">
  712. select u.user_id, u.dept_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.password, u.sex,
  713. u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark,
  714. u.major, u.grade, u.category, u.tutor_user_id, u.position, u.nature,
  715. u.card_num,u.wechat_id,u.education,u.nationality,u.addr,u.work_status,u.date_birth,
  716. d.dept_name, d.leader,u.department,u.is_check
  717. from
  718. sys_user u
  719. left join sys_dept d on u.dept_id = d.dept_id
  720. where u.del_flag = '0'
  721. and u.`user_id` not in (select w.`user_id` from lab_whitelist w)
  722. <if test="userId != null ">
  723. AND u.user_id = #{userId}
  724. </if>
  725. <if test="userName != null and userName != ''">
  726. AND u.user_name like concat('%', #{userName}, '%')
  727. </if>
  728. <if test="nickName != null and nickName != ''">
  729. AND u.nick_name like concat('%', #{nickName}, '%')
  730. </if>
  731. <if test="userType != null and userType != ''">
  732. AND u.user_type = #{userType}
  733. </if>
  734. <if test="status != null and status != ''">
  735. AND u.status = #{status}
  736. </if>
  737. <if test="phonenumber != null and phonenumber != ''">
  738. AND u.phonenumber like concat('%', #{phonenumber}, '%')
  739. </if>
  740. <if test="params.beginTime != null and params.beginTime != ''"><!-- 开始时间检索 -->
  741. AND date_format(u.create_time,'%y%m%d') &gt;= date_format(#{params.beginTime},'%y%m%d')
  742. </if>
  743. <if test="params.endTime != null and params.endTime != ''"><!-- 结束时间检索 -->
  744. AND date_format(u.create_time,'%y%m%d') &lt;= date_format(#{params.endTime},'%y%m%d')
  745. </if>
  746. <if test="ids!=null and ids.size > 0">
  747. AND u.user_id IN
  748. <foreach item="item" collection="ids" separator="," open="(" close=")" index="">'${item}'</foreach>
  749. </if>
  750. <if test="deptIds !=null and deptIds.size >0" >
  751. AND u.dept_id IN
  752. <foreach item="item" collection="deptIds" separator="," open="(" close=")" index="">'${item}'</foreach>
  753. </if>
  754. <if test="major != null and major != ''">
  755. AND u.major like concat('%', #{major}, '%')
  756. </if>
  757. <if test="grade != null and grade != ''">
  758. AND u.grade like concat('%', #{grade}, '%')
  759. </if>
  760. <if test="category != null and category != ''">
  761. AND u.category like concat('%', #{category}, '%')
  762. </if>
  763. <if test="tutorUserId != null">
  764. AND u.tutor_user_id = #{tutorUserId}
  765. </if>
  766. <if test="nature != null and nature != ''">
  767. AND u.nature = #{nature}
  768. </if>
  769. <if test="position != null and position != ''">
  770. AND u.position = #{position}
  771. </if>
  772. <if test="isCheck != null">
  773. AND u.is_check = #{isCheck}
  774. </if>
  775. </select>
  776. <select id="selectUserInfoByCardNum" resultType="com.zd.model.entity.SysUser">
  777. SELECT user_id,nick_name,card_num,card_num_simple FROM sys_user u WHERE u.card_num_simple = #{cardNumSimple} and u.user_id != #{userId}
  778. </select>
  779. <select id="getSafeUserList" parameterType="com.zd.model.entity.SysUser" resultMap="SysUserResult">
  780. select u.user_id, u.nick_name
  781. from
  782. sys_user u
  783. where u.del_flag = '0'
  784. <if test="safeUserId != null">
  785. AND FIND_IN_SET(u.user_id, #{safeUserId})
  786. </if>
  787. </select>
  788. <select id="oldCheckNewCard" resultMap="SysUserResult">
  789. select u.user_id, u.dept_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.password, u.sex,
  790. u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark,
  791. u.major_id, u.grade, u.tutor_user_id, u.position, p.post_name as positionName,
  792. u.nature,(select sc.class_name from sys_class sc where sc.id = u.grade) gradeName,
  793. u.card_num,u.wechat_id,u.nationality,u.addr,u.work_status,
  794. u.date_birth,d.dept_name, d.leader,u.department,
  795. u.education, u.user_type,sm.`major_name` major,
  796. ut.nick_name tutorUserName,u.is_check,date_format(u.create_time, '%Y-%m-%d') createTimeStr
  797. from
  798. sys_user u
  799. left join sys_dept d on u.dept_id = d.dept_id
  800. left join sys_user ut on ut.user_id = u.tutor_user_id
  801. left join sys_post p on u.position = p.post_id
  802. LEFT JOIN sys_major sm ON sm.id = u.major_id
  803. where u.del_flag = '0'
  804. AND u.card_num IS NOT NULL AND u.`card_num_simple` IS NULL
  805. </select>
  806. </mapper>