SysUserMapper.xml 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!--
  3. ~
  4. ~ Copyright (c) 2018-2025, hnqz All rights reserved.
  5. ~
  6. ~ Redistribution and use in source and binary forms, with or without
  7. ~ modification, are permitted provided that the following conditions are met:
  8. ~
  9. ~ Redistributions of source code must retain the above copyright notice,
  10. ~ this list of conditions and the following disclaimer.
  11. ~ Redistributions in binary form must reproduce the above copyright
  12. ~ notice, this list of conditions and the following disclaimer in the
  13. ~ documentation and/or other materials provided with the distribution.
  14. ~ Neither the name of the pig4cloud.com developer nor the names of its
  15. ~ contributors may be used to endorse or promote products derived from
  16. ~ this software without specific prior written permission.
  17. ~ Author: hnqz
  18. ~
  19. -->
  20. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  21. <mapper namespace="com.qunzhixinxi.hnqz.admin.mapper.SysUserMapper">
  22. <resultMap id="userResultMap" type="com.qunzhixinxi.hnqz.admin.api.entity.SysUser">
  23. <id column="user_id" property="userId"/>
  24. <result column="username" property="username"/>
  25. <result column="password" property="password"/>
  26. <result column="salt" property="salt"/>
  27. <result column="phone" property="phone"/>
  28. <result column="id_card_number" property="idCardNumber"/>
  29. <result column="userSign" property="user_sign"/>
  30. <result column="avatar" property="avatar"/>
  31. <result column="wx_openid" property="wxOpenid"/>
  32. <result column="qq_openid" property="qqOpenid"/>
  33. <result column="create_time" property="createTime"/>
  34. <result column="update_time" property="updateTime"/>
  35. <result column="lock_flag" property="lockFlag"/>
  36. <result column="del_flag" property="delFlag"/>
  37. <result column="dept_id" property="deptId"/>
  38. <result column="tenant_id" property="tenantId"/>
  39. <result column="dept_name" property="deptName"/>
  40. <result column="realname" property="realname"/>
  41. <result column="province" property="province"/>
  42. <result column="city" property="city"/>
  43. <result column="area" property="area"/>
  44. <result column="address" property="address"/>
  45. <result column="temp1" property="temp1"/>
  46. <result column="temp2" property="temp2"/>
  47. <result column="temp3" property="temp3"/>
  48. <result column="temp4" property="temp4"/>
  49. <result column="temp5" property="temp5"/>
  50. <result column="w1" property="w1"/>
  51. <result column="plat_id" property="platId"/>
  52. <result column="drug_ent_id" property="drugEntId"/>
  53. <result column="cert_status" property="certStatus"/>
  54. <result column="rlj_cert_status" property="rljCertStatus"/>
  55. <result column="cert_remark" property="certRemark"/>
  56. <result column="province_code" property="provinceCode"/>
  57. <result column="city_code" property="cityCode"/>
  58. <result column="user_type" property="userType"/>
  59. <result column="bank_card_number" property="bankCardNumber"/>
  60. <result column="bank_phone" property="bankPhone"/>
  61. <result column="tax_helper_agreement_signature" property="taxHelperAgreementSignature"/>
  62. </resultMap>
  63. <!-- 通用查询映射结果 -->
  64. <resultMap id="baseResultMap" type="com.qunzhixinxi.hnqz.admin.api.vo.UserVO">
  65. <id column="user_id" property="userId"/>
  66. <result column="username" property="username"/>
  67. <result column="password" property="password"/>
  68. <result column="salt" property="salt"/>
  69. <result column="phone" property="phone"/>
  70. <result column="id_card_number" property="idCardNumber"/>
  71. <result column="userSign" property="user_sign"/>
  72. <result column="avatar" property="avatar"/>
  73. <result column="wx_openid" property="wxOpenid"/>
  74. <result column="qq_openid" property="qqOpenid"/>
  75. <result column="ucreate_time" property="createTime"/>
  76. <result column="uupdate_time" property="updateTime"/>
  77. <result column="lock_flag" property="lockFlag"/>
  78. <result column="udel_flag" property="delFlag"/>
  79. <result column="dept_id" property="deptId"/>
  80. <result column="tenant_id" property="tenantId"/>
  81. <result column="dept_name" property="deptName"/>
  82. <result column="realname" property="realname"/>
  83. <result column="province" property="province"/>
  84. <result column="city" property="city"/>
  85. <result column="area" property="area"/>
  86. <result column="address" property="address"/>
  87. <result column="temp1" property="temp1"/>
  88. <result column="temp2" property="temp2"/>
  89. <result column="temp3" property="temp3"/>
  90. <result column="temp4" property="temp4"/>
  91. <result column="temp5" property="temp5"/>
  92. <result column="w1" property="w1"/>
  93. <result column="plat_id" property="platId"/>
  94. <result column="drug_ent_id" property="drugEntId"/>
  95. <result column="cert_status" property="certStatus"/>
  96. <result column="rlj_cert_status" property="rljCertStatus"/>
  97. <result column="cert_remark" property="certRemark"/>
  98. <result column="province_code" property="provinceCode"/>
  99. <result column="city_code" property="cityCode"/>
  100. <result column="user_type" property="userType"/>
  101. <result column="bank_phone" property="bankPhone"/>
  102. <result column="bank_card_number" property="bankCardNumber"/>
  103. <result column="sign_agreement" property="signAgreement"/>
  104. <result column="age_reminder" property="ageReminder"/>
  105. <collection property="roleList" ofType="com.qunzhixinxi.hnqz.admin.api.entity.SysRole"
  106. select="com.qunzhixinxi.hnqz.admin.mapper.SysRoleMapper.listRolesByUserId" column="user_id">
  107. </collection>
  108. </resultMap>
  109. <!-- userVo结果集 -->
  110. <resultMap id="userVoResultMap" type="com.qunzhixinxi.hnqz.admin.api.vo.UserVO">
  111. <id column="user_id" property="userId"/>
  112. <result column="username" property="username"/>
  113. <result column="password" property="password"/>
  114. <result column="salt" property="salt"/>
  115. <result column="phone" property="phone"/>
  116. <result column="id_card_number" property="idCardNumber"/>
  117. <result column="avatar" property="avatar"/>
  118. <result column="wx_openid" property="wxOpenid"/>
  119. <result column="qq_openid" property="qqOpenid"/>
  120. <result column="create_time" property="createTime"/>
  121. <result column="update_time" property="updateTime"/>
  122. <result column="lock_flag" property="lockFlag"/>
  123. <result column="del_flag" property="delFlag"/>
  124. <result column="dept_id" property="deptId"/>
  125. <result column="tenant_id" property="tenantId"/>
  126. <result column="dept_name" property="deptName"/>
  127. <result column="realname" property="realname"/>
  128. <result column="province" property="province"/>
  129. <result column="city" property="city"/>
  130. <result column="area" property="area"/>
  131. <result column="address" property="address"/>
  132. <result column="temp1" property="temp1"/>
  133. <result column="temp2" property="temp2"/>
  134. <result column="temp3" property="temp3"/>
  135. <result column="temp4" property="temp4"/>
  136. <result column="temp5" property="temp5"/>
  137. <result column="plat_id" property="platId"/>
  138. <result column="w1" property="w1"/>
  139. <result column="drug_ent_id" property="drugEntId"/>
  140. <result column="cert_status" property="certStatus"/>
  141. <result column="rlj_cert_status" property="rljCertStatus"/>
  142. <result column="cert_remark" property="certRemark"/>
  143. <result column="province_code" property="provinceCode"/>
  144. <result column="city_code" property="cityCode"/>
  145. <result column="user_type" property="userType"/>
  146. <result column="bank_phone" property="bankPhone"/>
  147. <result column="bank_card_number" property="bankCardNumber"/>
  148. <collection property="roleList" ofType="com.qunzhixinxi.hnqz.admin.api.entity.SysRole">
  149. <id column="role_id" property="roleId"/>
  150. <result column="role_name" property="roleName"/>
  151. <result column="role_code" property="roleCode"/>
  152. <result column="role_desc" property="roleDesc"/>
  153. <result column="rcreate_time" property="createTime"/>
  154. <result column="rupdate_time" property="updateTime"/>
  155. </collection>
  156. </resultMap>
  157. <sql id="userRoleSql">
  158. distinct
  159. u.user_id,
  160. u.username,
  161. u.password,
  162. u.salt,
  163. u.phone,
  164. u.id_card_number,
  165. u.user_type,
  166. u.bank_card_number,
  167. u.avatar,
  168. u.wx_openid,
  169. u.qq_openid,
  170. u.dept_id,
  171. u.del_flag,
  172. u.lock_flag,
  173. u.tenant_id,
  174. u.create_time ucreate_time,
  175. u.update_time uupdate_time,
  176. r.role_id,
  177. r.role_name,
  178. r.role_code,
  179. r.role_desc,
  180. r.create_time rcreate_time,
  181. r.update_time rupdate_time,
  182. u.realname,
  183. u.province,
  184. u.city,
  185. u.province_code,
  186. u.city_code,
  187. u.area,
  188. u.address,
  189. u.temp1,
  190. u.temp2,
  191. u.temp3,
  192. u.temp4,
  193. u.temp5,
  194. u.plat_id,
  195. u.drug_ent_id,
  196. u.cert_status,
  197. u.rlj_cert_status,
  198. u.cert_remark,
  199. u.w1,
  200. r.role_id,
  201. r.role_name,
  202. r.role_code,
  203. r.role_desc,
  204. r.create_time rcreate_time,
  205. r.update_time rupdate_time
  206. </sql>
  207. <sql id="userRoleDeptSql">
  208. distinct
  209. u.user_id,
  210. u.username,
  211. u.password,
  212. u.salt,
  213. u.phone,
  214. u.id_card_number,
  215. u.user_type,
  216. u.bank_card_number,
  217. u.avatar,
  218. u.wx_openid,
  219. u.qq_openid,
  220. u.del_flag,
  221. u.lock_flag,
  222. u.tenant_id,
  223. u.create_time ucreate_time,
  224. u.update_time uupdate_time,
  225. r.role_id,
  226. r.role_name,
  227. r.role_code,
  228. r.role_desc,
  229. r.create_time rcreate_time,
  230. r.update_time rupdate_time,
  231. u.realname,
  232. u.province,
  233. u.city,
  234. u.province_code,
  235. u.city_code,
  236. u.area,
  237. u.address,
  238. u.temp1,
  239. u.temp2,
  240. u.temp3,
  241. u.temp4,
  242. u.temp5,
  243. u.plat_id,
  244. u.drug_ent_id,
  245. u.cert_status,
  246. u.rlj_cert_status,
  247. u.cert_remark,
  248. u.w1,
  249. r.role_id,
  250. r.role_name,
  251. r.role_code,
  252. r.role_desc,
  253. r.create_time rcreate_time,
  254. r.update_time rupdate_time,
  255. d.name dept_name,
  256. d.dept_id
  257. </sql>
  258. <select id="selectByDeptId" resultMap="userVoResultMap">
  259. SELECT
  260. *
  261. FROM
  262. sys_user u
  263. LEFT JOIN sys_dept d ON d.dept_id = u.dept_id
  264. LEFT JOIN sys_user_role ur ON ur.user_id = u.user_id
  265. LEFT JOIN sys_role r ON r.role_id = ur.role_id
  266. LEFT JOIN sys_dept_sub s ON s.dept_id = u.dept_id and s.enable_flag = '1'
  267. where
  268. u.del_flag = 0
  269. <if test="query.username != null and query.username !=''">
  270. AND u.username like CONCAT('%',#{query.username},'%')
  271. </if>
  272. <if test="query.realname != null and query.realname !=''">
  273. AND u.realname like CONCAT('%',#{query.realname},'%')
  274. </if>
  275. <if test="query.deptId != null and query.deptId != ''">
  276. AND u.dept_id = #{query.deptId}
  277. </if>
  278. <if test="query.certStatus != null and query.certStatus != ''">
  279. <choose>
  280. <when test="query.certStatus == 10">
  281. AND (u.cert_status = #{query.certStatus} OR u.cert_status IS NULL)
  282. </when>
  283. <otherwise>
  284. AND u.cert_status = #{query.certStatus}
  285. </otherwise>
  286. </choose>
  287. </if>
  288. <if test="query.rljCertStatus != null and query.rljCertStatus != ''">
  289. <choose>
  290. <when test="query.rljCertStatus == 4">
  291. AND (u.rlj_cert_status = #{query.rljCertStatus} OR u.rlj_cert_status IS NULL)
  292. </when>
  293. <otherwise>
  294. AND u.rlj_cert_status = #{query.rljCertStatus}
  295. </otherwise>
  296. </choose>
  297. </if>
  298. <if test="query.subType != null and query.subType != ''">
  299. AND s.subject_type = #{query.subType}
  300. </if>
  301. <if test="query.lockFlag != null and query.lockFlag != ''">
  302. AND u.lock_flag = #{query.lockFlag}
  303. </if>
  304. <if test="query.role != null and query.role.size()>0">
  305. AND r.role_id in (
  306. <foreach collection="query.role" item="pid" index="index" separator=",">
  307. #{pid}
  308. </foreach>
  309. )
  310. </if>
  311. <if test="query.userIdList != null and query.userIdList.size() > 0">
  312. AND u.user_id in (
  313. <foreach collection="query.userIdList" item="userId" index="index" separator=",">
  314. #{userId}
  315. </foreach>
  316. )
  317. </if>
  318. </select>
  319. <select id="selectByPhone" resultMap="userVoResultMap">
  320. SELECT
  321. *
  322. FROM
  323. sys_user u
  324. LEFT JOIN sys_user_role ur ON ur.user_id = u.user_id
  325. LEFT JOIN sys_role r ON r.role_id = ur.role_id
  326. where
  327. u.del_flag = 0
  328. <if test="query.username != null and query.username !=''">
  329. AND u.username = #{query.username}
  330. </if>
  331. <if test="query.role != null and query.role.size()>0">
  332. AND r.role_id in (
  333. <foreach collection="query.role" item="pid" index="index" separator=",">
  334. #{pid}
  335. </foreach>
  336. )
  337. </if>
  338. </select>
  339. <select id="getUserVoByUsername" resultMap="userVoResultMap">
  340. SELECT
  341. <include refid="userRoleSql"/>
  342. FROM
  343. sys_user u
  344. LEFT JOIN sys_user_role ur ON ur.user_id = u.user_id
  345. LEFT JOIN sys_role r ON r.role_id = ur.role_id
  346. WHERE u.username = #{username} and r.role_id not in (5,6)
  347. and u.lock_flag=0
  348. </select>
  349. <select id="getUserVoById" resultMap="userVoResultMap">
  350. SELECT
  351. <include refid="userRoleDeptSql"/>
  352. FROM
  353. sys_user u
  354. LEFT JOIN sys_user_role ur ON ur.user_id = u.user_id
  355. LEFT JOIN sys_role r ON r.role_id = ur.role_id
  356. LEFT JOIN sys_dept d ON d.dept_id = u.dept_id
  357. WHERE
  358. u.user_id = #{id}
  359. and u.lock_flag=0
  360. </select>
  361. <select id="getByIdIgnore" resultMap="userResultMap">
  362. SELECT * FROM sys_user where user_id = #{id}
  363. </select>
  364. <select id="selectByUserId" resultMap="userVoResultMap">
  365. SELECT
  366. *
  367. FROM
  368. sys_user u
  369. LEFT JOIN sys_dept d ON d.dept_id = u.dept_id
  370. LEFT JOIN sys_user_role ur ON ur.user_id = u.user_id
  371. LEFT JOIN sys_role r ON r.role_id = ur.role_id
  372. where
  373. u.del_flag = 0
  374. <if test="query.username != null and query.username !=''">
  375. AND u.username like CONCAT('%',#{query.username},'%')
  376. </if>
  377. <if test="query.realname != null and query.realname !=''">
  378. AND u.realname like CONCAT('%',#{query.realname},'%')
  379. </if>
  380. <if test="query.userId != null and query.userId != ''">
  381. AND u.user_id = #{query.userId}
  382. </if>
  383. <if test="query.lockFlag != null and query.lockFlag != ''">
  384. AND u.lock_flag = #{query.lockFlag}
  385. </if>
  386. <if test="query.role != null and query.role.size()>0">
  387. AND r.role_id in (
  388. <foreach collection="query.role" item="pid" index="index" separator=",">
  389. #{pid}
  390. </foreach>
  391. )
  392. </if>
  393. </select>
  394. <select id="selectUserByName" resultMap="userResultMap">
  395. SELECT
  396. *
  397. FROM
  398. sys_user
  399. where
  400. username = #{username}
  401. and
  402. dept_id = #{deptId}
  403. </select>
  404. <select id="selectUserById" resultMap="userResultMap">
  405. SELECT
  406. *
  407. FROM
  408. sys_user
  409. where
  410. dept_id = #{deptId}
  411. </select>
  412. <select id="getUserVosPage" resultMap="baseResultMap">
  413. SELECT
  414. distinct
  415. u.user_id,
  416. u.username,
  417. u.password,
  418. u.id_card_number,
  419. u.user_type,
  420. u.salt,
  421. u.phone,
  422. u.avatar,
  423. u.wx_openid,
  424. u.qq_openid,
  425. u.dept_id,
  426. u.create_time ucreate_time,
  427. u.update_time uupdate_time,
  428. u.del_flag,
  429. u.lock_flag,
  430. u.tenant_id,
  431. d.name dept_name,
  432. u.realname,
  433. u.province,
  434. u.city,
  435. u.province_code,
  436. u.city_code,
  437. u.area,
  438. u.address,
  439. u.temp1,
  440. u.temp2,
  441. u.temp3,
  442. u.temp4,
  443. u.temp5,
  444. u.w1,
  445. u.plat_id,
  446. u.drug_ent_id,
  447. u.cert_status,
  448. u.rlj_cert_status,
  449. u.cert_remark,
  450. u.bank_card_number
  451. FROM
  452. sys_user u
  453. LEFT JOIN sys_dept d ON d.dept_id = u.dept_id
  454. LEFT JOIN sys_user_role ur ON ur.user_id = u.user_id
  455. LEFT JOIN sys_role r ON r.role_id = ur.role_id
  456. LEFT JOIN sys_dept_sub s ON s.dept_id = u.dept_id and s.enable_flag = '1'
  457. <where>
  458. u.del_flag = '0'
  459. <if test="query.username != null and query.username != ''">
  460. AND u.username LIKE CONCAT('%',#{query.username},'%')
  461. </if>
  462. <if test="query.realname != null and query.realname != ''">
  463. AND u.realname LIKE CONCAT('%',#{query.realname},'%')
  464. </if>
  465. <if test="query.deptId != null and query.deptId != ''">
  466. AND u.dept_id = #{query.deptId}
  467. </if>
  468. <if test="query.certStatus != null and query.certStatus != ''">
  469. <choose>
  470. <when test="query.certStatus == 10">
  471. AND (u.cert_status = #{query.certStatus} OR u.cert_status IS NULL)
  472. </when>
  473. <otherwise>
  474. AND u.cert_status = #{query.certStatus}
  475. </otherwise>
  476. </choose>
  477. </if>
  478. <if test="query.rljCertStatus != null and query.rljCertStatus != ''">
  479. <choose>
  480. <when test="query.rljCertStatus == 4">
  481. AND (u.rlj_cert_status = #{query.rljCertStatus} OR u.rlj_cert_status IS NULL)
  482. </when>
  483. <otherwise>
  484. AND u.rlj_cert_status = #{query.rljCertStatus}
  485. </otherwise>
  486. </choose>
  487. </if>
  488. <if test="query.subType != null and query.subType != ''">
  489. AND s.subject_type = #{query.subType}
  490. </if>
  491. <if test="query.role != null and query.role.size()>0">
  492. AND r.role_id in (
  493. <foreach collection="query.role" item="pid" index="index" separator=",">
  494. #{pid}
  495. </foreach>
  496. )
  497. </if>
  498. <if test="query.platId != null and query.platId != ''">
  499. AND u.plat_id =#{query.platId}
  500. </if>
  501. <if test="query.lockFlag != null and query.lockFlag != ''">
  502. AND u.lock_flag =#{query.lockFlag}
  503. </if>
  504. <if test="query.userIdList != null and query.userIdList.size() > 0">
  505. AND u.user_id in (
  506. <foreach collection="query.userIdList" item="userId" index="index" separator=",">
  507. #{userId}
  508. </foreach>
  509. )
  510. </if>
  511. AND <![CDATA[ u.username<>'admin']]>
  512. </where>
  513. ORDER BY u.create_time DESC
  514. </select>
  515. <select id="getUserVosPageNoLock" resultMap="baseResultMap">
  516. SELECT
  517. distinct
  518. u.user_id,
  519. u.username,
  520. u.password,
  521. u.id_card_number,
  522. u.user_type,
  523. u.salt,
  524. u.phone,
  525. u.avatar,
  526. u.wx_openid,
  527. u.qq_openid,
  528. u.dept_id,
  529. u.create_time ucreate_time,
  530. u.update_time uupdate_time,
  531. u.del_flag,
  532. u.lock_flag,
  533. u.tenant_id,
  534. d.name dept_name,
  535. u.realname,
  536. u.province,
  537. u.city,
  538. u.area,
  539. u.province_code,
  540. u.city_code,
  541. u.address,
  542. u.temp1,
  543. u.temp2,
  544. u.temp3,
  545. u.temp4,
  546. u.temp5,
  547. u.w1,
  548. u.plat_id,
  549. u.drug_ent_id,
  550. u.cert_status,
  551. u.rlj_cert_status,
  552. u.cert_remark,
  553. u.bank_card_number
  554. FROM
  555. sys_user u
  556. LEFT JOIN sys_dept d ON d.dept_id = u.dept_id
  557. LEFT JOIN sys_user_role ur ON ur.user_id = u.user_id
  558. LEFT JOIN sys_role r ON r.role_id = ur.role_id
  559. <where>
  560. u.del_flag = '0'
  561. <if test="query.username != null and query.username != ''">
  562. AND u.username LIKE CONCAT('%',#{query.username},'%')
  563. </if>
  564. <if test="query.realname != null and query.realname != ''">
  565. AND u.realname LIKE CONCAT('%',#{query.realname},'%')
  566. </if>
  567. <if test="query.deptId != null and query.deptId != ''">
  568. AND u.dept_id = #{query.deptId}
  569. </if>
  570. <if test="query.role != null and query.role.size()>0">
  571. AND r.role_id in (
  572. <foreach collection="query.role" item="pid" index="index" separator=",">
  573. #{pid}
  574. </foreach>
  575. )
  576. </if>
  577. <if test="query.platId != null and query.platId != ''">
  578. AND u.plat_id =#{query.platId}
  579. </if>
  580. AND <![CDATA[ u.username<>'admin']]>
  581. </where>
  582. ORDER BY u.create_time DESC
  583. </select>
  584. <select id="getUserVoByPlatId" resultMap="baseResultMap">
  585. SELECT
  586. distinct
  587. u.user_id,
  588. u.username,
  589. u.password,
  590. u.id_card_number,
  591. u.user_type,
  592. u.user_sign,
  593. u.salt,
  594. u.phone,
  595. u.avatar,
  596. u.wx_openid,
  597. u.qq_openid,
  598. u.dept_id,
  599. u.create_time ucreate_time,
  600. u.update_time uupdate_time,
  601. u.del_flag,
  602. u.lock_flag,
  603. u.tenant_id,
  604. d.name dept_name,
  605. u.realname,
  606. u.province,
  607. u.city,
  608. u.province_code,
  609. u.city_code,
  610. u.area,
  611. u.address,
  612. u.temp1,
  613. u.temp2,
  614. u.temp3,
  615. u.temp4,
  616. u.temp5,
  617. u.w1,
  618. u.plat_id,
  619. u.drug_ent_id,
  620. u.cert_status,
  621. u.rlj_cert_status,
  622. u.cert_remark,
  623. u.bank_card_number,
  624. u.bank_phone,
  625. u.bank_name,
  626. u.tax_helper_agreement_signature,
  627. u.sign_agreement,
  628. u.age_reminder
  629. FROM
  630. sys_user u
  631. LEFT JOIN sys_dept d ON d.dept_id = u.dept_id
  632. LEFT JOIN sys_user_role ur ON ur.user_id = u.user_id
  633. LEFT JOIN sys_role r ON r.role_id = ur.role_id
  634. <where>
  635. u.del_flag = '0'
  636. and u.lock_flag=0
  637. <if test="query.username != null and query.username != ''">
  638. AND u.username LIKE CONCAT('%',#{query.username},'%')
  639. </if>
  640. <if test="query.realname != null and query.realname != ''">
  641. AND u.realname LIKE CONCAT('%',#{query.realname},'%')
  642. </if>
  643. <if test="query.deptId != null and query.deptId != ''">
  644. AND u.dept_id = #{query.deptId}
  645. </if>
  646. <if test="query.role != null and query.role.size()>0">
  647. AND r.role_id in (
  648. <foreach collection="query.role" item="pid" index="index" separator=",">
  649. #{pid}
  650. </foreach>
  651. )
  652. </if>
  653. <if test="query.platId != null and query.platId != ''">
  654. AND u.plat_id =#{query.platId}
  655. </if>
  656. <if test="query.drugEntId != null and query.drugEntId != ''">
  657. AND u.drug_ent_id =#{query.drugEntId}
  658. </if>
  659. </where>
  660. ORDER BY u.create_time DESC
  661. </select>
  662. <!-- 根据部门id和角色id查询 -->
  663. <select id="selectByDeptIdAndRoleId" resultMap="userResultMap">
  664. SELECT
  665. u.user_id,
  666. u.username,
  667. u.phone,
  668. u.avatar,
  669. u.dept_id,
  670. u.create_time,
  671. u.update_time,
  672. r.role_id,
  673. u.realname
  674. FROM
  675. sys_user u
  676. LEFT JOIN sys_user_role r ON r.user_id = u.user_id
  677. WHERE
  678. u.dept_id = #{deptId}
  679. <if test="realNameOrPhone != null and realNameOrPhone != ''">
  680. AND (u.username LIKE CONCAT('%',#{realNameOrPhone},'%') OR u.realname LIKE CONCAT('%',#{realNameOrPhone},'%'))
  681. </if>
  682. AND r.role_id IN (
  683. <foreach collection="roleList" item="roleId" index="index" separator=",">
  684. #{roleId}
  685. </foreach>
  686. )
  687. </select>
  688. <update id="updateByPrimaryKeySelective" parameterType="com.qunzhixinxi.hnqz.admin.api.entity.SysUser" >
  689. update sys_user
  690. <set >
  691. <if test="delFlag != null" >
  692. del_flag = #{delFlag,jdbcType=VARCHAR},
  693. </if>
  694. </set>
  695. where user_id = #{userId,jdbcType=BIGINT}
  696. </update>
  697. <select id="listUserDetails" resultMap="baseResultMap">
  698. SELECT u.user_id,
  699. u.realname,
  700. u.username,
  701. u.id_card_number,
  702. u.tenant_id,
  703. u.dept_id,
  704. u.bank_phone,
  705. us.bank_card_number,
  706. us.gig_type,
  707. us.cert_status
  708. FROM sys_user u
  709. LEFT JOIN sys_user_sub us on us.user_id = u.user_id
  710. <where>
  711. u.user_id in
  712. <foreach collection="userIds" index="idx" item="userId" open="(" close=")" separator=",">
  713. #{userId}
  714. </foreach>
  715. </where>
  716. </select>
  717. </mapper>