SysUserMapper.xml 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619
  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.qunzhixinxi.hnqz.admin.mapper.SysUserMapper">
  4. <resultMap id="userResultMap" type="com.qunzhixinxi.hnqz.admin.api.entity.SysUser">
  5. <id column="user_id" property="userId"/>
  6. <result column="username" property="username"/>
  7. <result column="password" property="password"/>
  8. <result column="latest_change_pwd_time" property="latestChangePwdTime"/>
  9. <result column="salt" property="salt"/>
  10. <result column="phone" property="phone"/>
  11. <result column="id_card_number" property="idCardNumber"/>
  12. <result column="userSign" property="user_sign"/>
  13. <result column="avatar" property="avatar"/>
  14. <result column="wx_openid" property="wxOpenid"/>
  15. <result column="qq_openid" property="qqOpenid"/>
  16. <result column="create_time" property="createTime"/>
  17. <result column="update_time" property="updateTime"/>
  18. <result column="lock_flag" property="lockFlag"/>
  19. <result column="del_flag" property="delFlag"/>
  20. <result column="dept_id" property="deptId"/>
  21. <result column="tenant_id" property="tenantId"/>
  22. <result column="dept_name" property="deptName"/>
  23. <result column="realname" property="realname"/>
  24. <result column="temp1" property="temp1"/>
  25. <result column="temp2" property="temp2"/>
  26. <result column="temp3" property="temp3"/>
  27. <result column="temp4" property="temp4"/>
  28. <result column="temp5" property="temp5"/>
  29. <result column="w1" property="w1"/>
  30. <result column="plat_id" property="platId"/>
  31. <result column="drug_ent_id" property="drugEntId"/>
  32. </resultMap>
  33. <!-- 通用查询映射结果 -->
  34. <resultMap id="baseResultMap" type="com.qunzhixinxi.hnqz.admin.api.vo.UserVO">
  35. <id column="user_id" property="userId"/>
  36. <result column="username" property="username"/>
  37. <result column="password" property="password"/>
  38. <result column="latest_change_pwd_time" property="latestChangePwdTime"/>
  39. <result column="salt" property="salt"/>
  40. <result column="phone" property="phone"/>
  41. <result column="id_card_number" property="idCardNumber"/>
  42. <result column="userSign" property="user_sign"/>
  43. <result column="avatar" property="avatar"/>
  44. <result column="wx_openid" property="wxOpenid"/>
  45. <result column="qq_openid" property="qqOpenid"/>
  46. <result column="ucreate_time" property="createTime"/>
  47. <result column="uupdate_time" property="updateTime"/>
  48. <result column="lock_flag" property="lockFlag"/>
  49. <result column="udel_flag" property="delFlag"/>
  50. <result column="dept_id" property="deptId"/>
  51. <result column="tenant_id" property="tenantId"/>
  52. <result column="dept_name" property="deptName"/>
  53. <result column="realname" property="realname"/>
  54. <result column="address" property="address"/>
  55. <result column="temp1" property="temp1"/>
  56. <result column="temp2" property="temp2"/>
  57. <result column="temp3" property="temp3"/>
  58. <result column="temp4" property="temp4"/>
  59. <result column="temp5" property="temp5"/>
  60. <result column="w1" property="w1"/>
  61. <result column="plat_id" property="platId"/>
  62. <result column="drug_ent_id" property="drugEntId"/>
  63. <result column="sign_agreement" property="signAgreement"/>
  64. <result column="age_reminder" property="ageReminder"/>
  65. <collection property="roleList" ofType="com.qunzhixinxi.hnqz.admin.api.entity.SysRole"
  66. select="com.qunzhixinxi.hnqz.admin.mapper.SysRoleMapper.listRolesByUserId" column="user_id">
  67. </collection>
  68. </resultMap>
  69. <!-- userVo结果集 -->
  70. <resultMap id="userVoResultMap" type="com.qunzhixinxi.hnqz.admin.api.vo.UserVO">
  71. <id column="user_id" property="userId"/>
  72. <result column="username" property="username"/>
  73. <result column="password" property="password"/>
  74. <result column="latest_change_pwd_time" property="latestChangePwdTime"/>
  75. <result column="salt" property="salt"/>
  76. <result column="phone" property="phone"/>
  77. <result column="id_card_number" property="idCardNumber"/>
  78. <result column="avatar" property="avatar"/>
  79. <result column="wx_openid" property="wxOpenid"/>
  80. <result column="qq_openid" property="qqOpenid"/>
  81. <result column="create_time" property="createTime"/>
  82. <result column="update_time" property="updateTime"/>
  83. <result column="lock_flag" property="lockFlag"/>
  84. <result column="del_flag" property="delFlag"/>
  85. <result column="dept_id" property="deptId"/>
  86. <result column="tenant_id" property="tenantId"/>
  87. <result column="dept_name" property="deptName"/>
  88. <result column="realname" property="realname"/>
  89. <result column="address" property="address"/>
  90. <result column="temp1" property="temp1"/>
  91. <result column="temp2" property="temp2"/>
  92. <result column="temp3" property="temp3"/>
  93. <result column="temp4" property="temp4"/>
  94. <result column="temp5" property="temp5"/>
  95. <result column="plat_id" property="platId"/>
  96. <result column="w1" property="w1"/>
  97. <result column="drug_ent_id" property="drugEntId"/>
  98. <collection property="roleList" ofType="com.qunzhixinxi.hnqz.admin.api.entity.SysRole">
  99. <id column="role_id" property="roleId"/>
  100. <result column="role_name" property="roleName"/>
  101. <result column="role_code" property="roleCode"/>
  102. <result column="role_desc" property="roleDesc"/>
  103. <result column="rcreate_time" property="createTime"/>
  104. <result column="rupdate_time" property="updateTime"/>
  105. </collection>
  106. </resultMap>
  107. <sql id="userRoleSql">
  108. distinct
  109. u.user_id,
  110. u.username,
  111. u.password,
  112. u.salt,
  113. u.phone,
  114. u.id_card_number,
  115. u.avatar,
  116. u.wx_openid,
  117. u.qq_openid,
  118. u.dept_id,
  119. u.del_flag,
  120. u.lock_flag,
  121. u.tenant_id,
  122. u.create_time ucreate_time,
  123. u.update_time uupdate_time,
  124. r.role_id,
  125. r.role_name,
  126. r.role_code,
  127. r.role_desc,
  128. r.create_time rcreate_time,
  129. r.update_time rupdate_time,
  130. u.realname,
  131. u.temp1,
  132. u.temp2,
  133. u.temp3,
  134. u.temp4,
  135. u.temp5,
  136. u.plat_id,
  137. u.drug_ent_id,
  138. u.w1,
  139. r.role_id,
  140. r.role_name,
  141. r.role_code,
  142. r.role_desc,
  143. r.create_time rcreate_time,
  144. r.update_time rupdate_time
  145. </sql>
  146. <sql id="userRoleDeptSql">
  147. distinct
  148. u.user_id,
  149. u.username,
  150. u.password,
  151. u.salt,
  152. u.phone,
  153. u.id_card_number,
  154. u.avatar,
  155. u.wx_openid,
  156. u.qq_openid,
  157. u.del_flag,
  158. u.lock_flag,
  159. u.tenant_id,
  160. u.create_time ucreate_time,
  161. u.update_time uupdate_time,
  162. r.role_id,
  163. r.role_name,
  164. r.role_code,
  165. r.role_desc,
  166. r.create_time rcreate_time,
  167. r.update_time rupdate_time,
  168. u.realname,
  169. u.temp1,
  170. u.temp2,
  171. u.temp3,
  172. u.temp4,
  173. u.temp5,
  174. u.plat_id,
  175. u.drug_ent_id,
  176. u.w1,
  177. r.role_id,
  178. r.role_name,
  179. r.role_code,
  180. r.role_desc,
  181. r.create_time rcreate_time,
  182. r.update_time rupdate_time,
  183. d.name dept_name,
  184. d.dept_id
  185. </sql>
  186. <select id="selectByDeptId" resultMap="userVoResultMap">
  187. SELECT
  188. *
  189. FROM
  190. sys_user u
  191. LEFT JOIN sys_dept d ON d.dept_id = u.dept_id
  192. LEFT JOIN sys_user_role ur ON ur.user_id = u.user_id
  193. LEFT JOIN sys_role r ON r.role_id = ur.role_id
  194. LEFT JOIN sys_dept_sub s ON s.dept_id = u.dept_id and s.enable_flag = '1'
  195. where
  196. u.del_flag = 0
  197. <if test="query.username != null and query.username !=''">
  198. AND u.username like CONCAT('%',#{query.username},'%')
  199. </if>
  200. <if test="query.realname != null and query.realname !=''">
  201. AND u.realname like CONCAT('%',#{query.realname},'%')
  202. </if>
  203. <if test="query.deptId != null and query.deptId != ''">
  204. AND u.dept_id = #{query.deptId}
  205. </if>
  206. <if test="query.lockFlag != null and query.lockFlag != ''">
  207. AND u.lock_flag = #{query.lockFlag}
  208. </if>
  209. <if test="query.role != null and query.role.size()>0">
  210. AND r.role_id in (
  211. <foreach collection="query.role" item="pid" index="index" separator=",">
  212. #{pid}
  213. </foreach>
  214. )
  215. </if>
  216. <if test="query.userIdList != null and query.userIdList.size() > 0">
  217. AND u.user_id in (
  218. <foreach collection="query.userIdList" item="userId" index="index" separator=",">
  219. #{userId}
  220. </foreach>
  221. )
  222. </if>
  223. </select>
  224. <select id="selectByPhone" resultMap="userVoResultMap">
  225. SELECT
  226. *
  227. FROM
  228. sys_user u
  229. LEFT JOIN sys_user_role ur ON ur.user_id = u.user_id
  230. LEFT JOIN sys_role r ON r.role_id = ur.role_id
  231. where
  232. u.del_flag = 0
  233. <if test="query.username != null and query.username !=''">
  234. AND u.username = #{query.username}
  235. </if>
  236. <if test="query.role != null and query.role.size()>0">
  237. AND r.role_id in (
  238. <foreach collection="query.role" item="pid" index="index" separator=",">
  239. #{pid}
  240. </foreach>
  241. )
  242. </if>
  243. </select>
  244. <select id="getUserVoByUsername" resultMap="userVoResultMap">
  245. SELECT
  246. <include refid="userRoleSql"/>
  247. FROM
  248. sys_user u
  249. LEFT JOIN sys_user_role ur ON ur.user_id = u.user_id
  250. LEFT JOIN sys_role r ON r.role_id = ur.role_id
  251. WHERE u.username = #{username} and r.role_id not in (5,6)
  252. and u.lock_flag=0
  253. </select>
  254. <select id="getUserVoById" resultMap="userVoResultMap">
  255. SELECT
  256. <include refid="userRoleDeptSql"/>
  257. FROM
  258. sys_user u
  259. LEFT JOIN sys_user_role ur ON ur.user_id = u.user_id
  260. LEFT JOIN sys_role r ON r.role_id = ur.role_id
  261. LEFT JOIN sys_dept d ON d.dept_id = u.dept_id
  262. WHERE
  263. u.user_id = #{id}
  264. and u.lock_flag=0
  265. </select>
  266. <select id="getByIdIgnore" resultMap="userResultMap">
  267. SELECT * FROM sys_user where user_id = #{id}
  268. </select>
  269. <select id="selectByUserId" resultMap="userVoResultMap">
  270. SELECT
  271. *
  272. FROM
  273. sys_user u
  274. LEFT JOIN sys_dept d ON d.dept_id = u.dept_id
  275. LEFT JOIN sys_user_role ur ON ur.user_id = u.user_id
  276. LEFT JOIN sys_role r ON r.role_id = ur.role_id
  277. where
  278. u.del_flag = 0
  279. <if test="query.username != null and query.username !=''">
  280. AND u.username like CONCAT('%',#{query.username},'%')
  281. </if>
  282. <if test="query.realname != null and query.realname !=''">
  283. AND u.realname like CONCAT('%',#{query.realname},'%')
  284. </if>
  285. <if test="query.userId != null and query.userId != ''">
  286. AND u.user_id = #{query.userId}
  287. </if>
  288. <if test="query.lockFlag != null and query.lockFlag != ''">
  289. AND u.lock_flag = #{query.lockFlag}
  290. </if>
  291. <if test="query.role != null and query.role.size()>0">
  292. AND r.role_id in (
  293. <foreach collection="query.role" item="pid" index="index" separator=",">
  294. #{pid}
  295. </foreach>
  296. )
  297. </if>
  298. </select>
  299. <select id="selectUserByName" resultMap="userResultMap">
  300. SELECT
  301. *
  302. FROM
  303. sys_user
  304. where
  305. username = #{username}
  306. and
  307. dept_id = #{deptId}
  308. </select>
  309. <select id="selectUserById" resultMap="userResultMap">
  310. SELECT
  311. *
  312. FROM
  313. sys_user
  314. where
  315. dept_id = #{deptId}
  316. </select>
  317. <select id="getUserVosPage" resultMap="baseResultMap">
  318. SELECT
  319. distinct
  320. u.user_id,
  321. u.username,
  322. u.password,
  323. u.id_card_number,
  324. u.salt,
  325. u.phone,
  326. u.avatar,
  327. u.wx_openid,
  328. u.qq_openid,
  329. u.dept_id,
  330. u.create_time ucreate_time,
  331. u.update_time uupdate_time,
  332. u.del_flag,
  333. u.lock_flag,
  334. u.tenant_id,
  335. d.name dept_name,
  336. u.realname,
  337. u.temp1,
  338. u.temp2,
  339. u.temp3,
  340. u.temp4,
  341. u.temp5,
  342. u.w1,
  343. u.plat_id,
  344. u.drug_ent_id
  345. FROM
  346. sys_user u
  347. LEFT JOIN sys_dept d ON d.dept_id = u.dept_id
  348. LEFT JOIN sys_user_role ur ON ur.user_id = u.user_id
  349. LEFT JOIN sys_role r ON r.role_id = ur.role_id
  350. <if test="query.csmUserIdList != null and query.csmUserIdList.size() > 0">
  351. left join sys_dept_csm dc on dc.dept_id=u.dept_id
  352. </if>
  353. <where>
  354. u.del_flag = '0'
  355. <if test="query.username != null and query.username != ''">
  356. AND u.username LIKE CONCAT('%',#{query.username},'%')
  357. </if>
  358. <if test="query.realname != null and query.realname != ''">
  359. AND u.realname LIKE CONCAT('%',#{query.realname},'%')
  360. </if>
  361. <if test="query.deptId != null and query.deptId != ''">
  362. AND u.dept_id = #{query.deptId}
  363. </if>
  364. <if test="query.role != null and query.role.size()>0">
  365. AND r.role_id in (
  366. <foreach collection="query.role" item="pid" index="index" separator=",">
  367. #{pid}
  368. </foreach>
  369. )
  370. </if>
  371. <if test="query.platId != null and query.platId != ''">
  372. AND u.plat_id =#{query.platId}
  373. </if>
  374. <if test="query.lockFlag != null and query.lockFlag != ''">
  375. AND u.lock_flag =#{query.lockFlag}
  376. </if>
  377. <if test="query.userIdList != null and query.userIdList.size() > 0">
  378. AND u.user_id in (
  379. <foreach collection="query.userIdList" item="userId" index="index" separator=",">
  380. #{userId}
  381. </foreach>
  382. )
  383. </if>
  384. <if test="query.csmUserIdList != null and query.csmUserIdList.size() > 0">
  385. and dc.user_id in (
  386. <foreach collection="query.csmUserIdList" item="userId" index="index" separator=",">
  387. #{userId}
  388. </foreach>
  389. )
  390. </if>
  391. AND <![CDATA[ u.username<>'admin']]>
  392. </where>
  393. ORDER BY u.create_time DESC
  394. </select>
  395. <select id="getUserVosPageNoLock" resultMap="baseResultMap">
  396. SELECT
  397. distinct
  398. u.user_id,
  399. u.username,
  400. u.password,
  401. u.id_card_number,
  402. u.salt,
  403. u.phone,
  404. u.avatar,
  405. u.wx_openid,
  406. u.qq_openid,
  407. u.dept_id,
  408. u.create_time ucreate_time,
  409. u.update_time uupdate_time,
  410. u.del_flag,
  411. u.lock_flag,
  412. u.tenant_id,
  413. d.name dept_name,
  414. u.realname,
  415. u.temp1,
  416. u.temp2,
  417. u.temp3,
  418. u.temp4,
  419. u.temp5,
  420. u.w1,
  421. u.plat_id,
  422. u.drug_ent_id
  423. FROM
  424. sys_user u
  425. LEFT JOIN sys_dept d ON d.dept_id = u.dept_id
  426. LEFT JOIN sys_user_role ur ON ur.user_id = u.user_id
  427. LEFT JOIN sys_role r ON r.role_id = ur.role_id
  428. <where>
  429. u.del_flag = '0'
  430. <if test="query.username != null and query.username != ''">
  431. AND u.username LIKE CONCAT('%',#{query.username},'%')
  432. </if>
  433. <if test="query.realname != null and query.realname != ''">
  434. AND u.realname LIKE CONCAT('%',#{query.realname},'%')
  435. </if>
  436. <if test="query.deptId != null and query.deptId != ''">
  437. AND u.dept_id = #{query.deptId}
  438. </if>
  439. <if test="query.role != null and query.role.size()>0">
  440. AND r.role_id in (
  441. <foreach collection="query.role" item="pid" index="index" separator=",">
  442. #{pid}
  443. </foreach>
  444. )
  445. </if>
  446. <if test="query.platId != null and query.platId != ''">
  447. AND u.plat_id =#{query.platId}
  448. </if>
  449. AND <![CDATA[ u.username<>'admin']]>
  450. </where>
  451. ORDER BY u.create_time DESC
  452. </select>
  453. <select id="getUserVoByPlatId" resultMap="baseResultMap">
  454. SELECT
  455. distinct
  456. u.user_id,
  457. u.username,
  458. u.password,
  459. u.id_card_number,
  460. u.user_sign,
  461. u.salt,
  462. u.phone,
  463. u.avatar,
  464. u.wx_openid,
  465. u.qq_openid,
  466. u.dept_id,
  467. u.create_time ucreate_time,
  468. u.update_time uupdate_time,
  469. u.del_flag,
  470. u.lock_flag,
  471. u.tenant_id,
  472. d.name dept_name,
  473. u.realname,
  474. u.temp1,
  475. u.temp2,
  476. u.temp3,
  477. u.temp4,
  478. u.temp5,
  479. u.w1,
  480. u.plat_id,
  481. u.drug_ent_id,
  482. u.sign_agreement,
  483. u.age_reminder,
  484. u.re_signed_agreement,
  485. u.latest_change_pwd_time
  486. FROM
  487. sys_user u
  488. LEFT JOIN sys_dept d ON d.dept_id = u.dept_id
  489. LEFT JOIN sys_user_role ur ON ur.user_id = u.user_id
  490. LEFT JOIN sys_role r ON r.role_id = ur.role_id
  491. <where>
  492. u.del_flag = '0'
  493. and u.lock_flag=0
  494. <if test="query.username != null and query.username != ''">
  495. AND u.username LIKE CONCAT('%',#{query.username},'%')
  496. </if>
  497. <if test="query.realname != null and query.realname != ''">
  498. AND u.realname LIKE CONCAT('%',#{query.realname},'%')
  499. </if>
  500. <if test="query.deptId != null and query.deptId != ''">
  501. AND u.dept_id = #{query.deptId}
  502. </if>
  503. <if test="query.role != null and query.role.size()>0">
  504. AND r.role_id in (
  505. <foreach collection="query.role" item="pid" index="index" separator=",">
  506. #{pid}
  507. </foreach>
  508. )
  509. </if>
  510. <if test="query.platId != null and query.platId != ''">
  511. AND u.plat_id =#{query.platId}
  512. </if>
  513. <if test="query.drugEntId != null and query.drugEntId != ''">
  514. AND u.drug_ent_id =#{query.drugEntId}
  515. </if>
  516. </where>
  517. ORDER BY u.create_time DESC
  518. </select>
  519. <!-- 根据部门id和角色id查询 -->
  520. <select id="selectByDeptIdAndRoleId" resultMap="userResultMap">
  521. SELECT
  522. u.user_id,
  523. u.username,
  524. u.phone,
  525. u.avatar,
  526. u.dept_id,
  527. u.create_time,
  528. u.update_time,
  529. r.role_id,
  530. u.realname
  531. FROM
  532. sys_user u
  533. LEFT JOIN sys_user_role r ON r.user_id = u.user_id
  534. WHERE
  535. u.dept_id = #{deptId}
  536. <if test="realNameOrPhone != null and realNameOrPhone != ''">
  537. AND (u.username LIKE CONCAT('%',#{realNameOrPhone},'%') OR u.realname LIKE
  538. CONCAT('%',#{realNameOrPhone},'%'))
  539. </if>
  540. AND r.role_id IN (
  541. <foreach collection="roleList" item="roleId" index="index" separator=",">
  542. #{roleId}
  543. </foreach>
  544. )
  545. </select>
  546. <update id="updateByPrimaryKeySelective" parameterType="com.qunzhixinxi.hnqz.admin.api.entity.SysUser">
  547. update sys_user
  548. <set>
  549. <if test="delFlag != null">
  550. del_flag = #{delFlag,jdbcType=VARCHAR},
  551. </if>
  552. </set>
  553. where user_id = #{userId,jdbcType=BIGINT}
  554. </update>
  555. <select id="listUserDetails" resultMap="baseResultMap">
  556. SELECT u.user_id,
  557. u.realname,
  558. u.username,
  559. u.id_card_number,
  560. u.tenant_id,
  561. u.dept_id,
  562. FROM sys_user u
  563. LEFT JOIN sys_user_sub us on us.user_id = u.user_id
  564. <where>
  565. u.user_id in
  566. <foreach collection="userIds" index="idx" item="userId" open="(" close=")" separator=",">
  567. #{userId}
  568. </foreach>
  569. </where>
  570. </select>
  571. <select id="listUserByRole" resultMap="baseResultMap">
  572. SELECT
  573. distinct
  574. u.user_id,
  575. u.username,
  576. u.realname
  577. FROM
  578. sys_user u
  579. LEFT JOIN sys_user_role ur ON ur.user_id = u.user_id
  580. <where>
  581. u.del_flag = '0'
  582. <if test="query.role != null and query.role.size()>0">
  583. AND ur.role_id in (
  584. <foreach collection="query.role" item="pid" index="index" separator=",">
  585. #{pid}
  586. </foreach>
  587. )
  588. </if>
  589. </where>
  590. ORDER BY u.create_time DESC
  591. </select>
  592. </mapper>