SysUserMapper.xml 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707
  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.xunmei.system.mapper.SysUserMapper">
  6. <resultMap type="com.xunmei.system.api.domain.SysUser" id="SysUserResult">
  7. <result property="id" column="id"/>
  8. <result property="deptId" column="dept_id"/>
  9. <result property="isManager" column="is_manager"/>
  10. <result property="isLock" column="is_lock"/>
  11. <result property="jobId" column="job_id"/>
  12. <result property="name" column="name"/>
  13. <result property="username" column="username"/>
  14. <result property="orgId" column="org_id"/>
  15. <result property="phone" column="phone"/>
  16. <result property="createTime" column="create_time"/>
  17. <result property="modifiedName" column="modified_name"/>
  18. <result property="updateTime" column="update_time"/>
  19. <result property="modifiedId" column="modified_id"/>
  20. <result property="password" column="password"/>
  21. <result property="salt" column="salt"/>
  22. <result property="deleted" column="deleted"/>
  23. <result property="lastIp" column="last_ip"/>
  24. <result property="lastTime" column="last_time"/>
  25. <result property="orgName" column="org_name"/>
  26. <result property="orgPath" column="org_path"/>
  27. <result property="image" column="image"/>
  28. <result property="card" column="card"/>
  29. <result property="gender" column="gender"/>
  30. <result property="jobNumber" column="job_number"/>
  31. <result property="note" column="note"/>
  32. <result property="isSign" column="is_sign"/>
  33. <result property="signTime" column="sign_time"/>
  34. <result property="agreementId" column="agreement_id"/>
  35. <result property="signVersion" column="sign_version"/>
  36. <result property="approveStatus" column="approve_status"/>
  37. <result property="locked" column="locked"/>
  38. <result property="createBy" column="create_by"/>
  39. <result property="updateBy" column="update_by"/>
  40. <result property="code" column="code"/>
  41. <result property="source" column="source"/>
  42. <result property="originalOrgId" column="original_org_id"/>
  43. <collection property="roles" ofType="com.xunmei.system.api.domain.SysRole">
  44. <result column="role_name" property="roleName"/>
  45. </collection>
  46. </resultMap>
  47. <!-- <resultMap type="com.xunmei.system.api.domain.SysUser" id="SyncSysUserResult">-->
  48. <!-- <id property="id" column="id" />-->
  49. <!-- <result property="username" column="user_name" />-->
  50. <!-- <result property="name" column="name" />-->
  51. <!-- <result property="email" column="email" />-->
  52. <!-- <result property="phonenumber" column="phonenumber" />-->
  53. <!-- <result property="sex" column="sex" />-->
  54. <!-- <result property="avatar" column="avatar" />-->
  55. <!-- <result property="password" column="password" />-->
  56. <!-- <result property="status" column="status" />-->
  57. <!-- <result property="delFlag" column="del_flag" />-->
  58. <!-- <result property="loginIp" column="login_ip" />-->
  59. <!-- <result property="loginDate" column="login_date" />-->
  60. <!-- <result property="createBy" column="create_by" />-->
  61. <!-- <result property="createTime" column="create_time" />-->
  62. <!-- <result property="updateBy" column="update_by" />-->
  63. <!-- <result property="updateTime" column="update_time" />-->
  64. <!-- <association property="dept" column="dept_id" javaType="com.xunmei.system.api.domain.SysDept" resultMap="deptResult" />-->
  65. <!-- <collection property="roles" javaType="java.util.List" resultMap="RoleResult" />-->
  66. <!-- </resultMap>-->
  67. <resultMap id="deptResult" type="com.xunmei.system.api.domain.SysDept">
  68. <id property="deptId" column="dept_id"/>
  69. <result property="parentId" column="parent_id"/>
  70. <result property="deptName" column="dept_name"/>
  71. <result property="ancestors" column="ancestors"/>
  72. <result property="orderNum" column="order_num"/>
  73. <result property="leader" column="leader"/>
  74. <result property="status" column="dept_status"/>
  75. </resultMap>
  76. <resultMap id="RoleResult" type="com.xunmei.system.api.domain.SysRole">
  77. <id property="roleId" column="role_id"/>
  78. <result property="roleName" column="role_name"/>
  79. <result property="roleKey" column="role_key"/>
  80. <result property="roleSort" column="role_sort"/>
  81. <result property="dataScope" column="data_scope"/>
  82. <result property="status" column="role_status"/>
  83. </resultMap>
  84. <sql id="selectUserVo">
  85. select u.id,
  86. u.dept_id,
  87. u.user_name,
  88. u.nick_name,
  89. u.avatar,
  90. u.phonenumber,
  91. u.password,
  92. u.sex,
  93. u.is_lock,
  94. u.deleted,
  95. u.login_ip,
  96. u.login_date,
  97. u.create_by,
  98. u.create_time,
  99. u.remark,
  100. u.original_org_id,
  101. d.dept_id,
  102. d.parent_id,
  103. d.ancestors,
  104. d.dept_name,
  105. d.order_num,
  106. d.leader,
  107. d.status as dept_status,
  108. r.id,
  109. r.role_name,
  110. r.role_key,
  111. r.role_sort,
  112. r.data_scope,
  113. r.status as role_status
  114. from sys_user u
  115. left join sys_dept d on u.dept_id = d.dept_id
  116. left join sys_user_role ur on u.id = ur.user_id
  117. left join sys_role r on r.id = ur.role_id
  118. </sql>
  119. <select id="selectUserList" parameterType="com.xunmei.system.api.domain.SysUser" resultMap="SysUserResult">
  120. select u.id, u.dept_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.sex, u.is_lock, u.deleted,
  121. u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, d.dept_name, d.leader from sys_user u
  122. left join sys_dept d on u.dept_id = d.dept_id
  123. where u.deleted = '0'
  124. <if test="userId != null and userId != 0">
  125. AND u.id = #{userId}
  126. </if>
  127. <if test="userName != null and userName != ''">
  128. AND u.user_name like concat('%', #{userName}, '%')
  129. </if>
  130. <if test="status != null and status != ''">
  131. AND u.is_lock = #{isLock}
  132. </if>
  133. <if test="phonenumber != null and phonenumber != ''">
  134. AND u.phonenumber like concat('%', #{phonenumber}, '%')
  135. </if>
  136. <if test="params.beginTime != null and params.beginTime != ''">
  137. <!-- 开始时间检索 -->
  138. AND date_format(u.create_time,'%y%m%d') &gt;= date_format(#{params.beginTime},'%y%m%d')
  139. </if>
  140. <if test="params.endTime != null and params.endTime != ''">
  141. <!-- 结束时间检索 -->
  142. AND date_format(u.create_time,'%y%m%d') &lt;= date_format(#{params.endTime},'%y%m%d')
  143. </if>
  144. <if test="deptId != null and deptId != 0">
  145. AND (u.dept_id = #{deptId} OR u.dept_id IN ( SELECT t.dept_id FROM sys_dept t WHERE find_in_set(#{deptId},
  146. ancestors) ))
  147. </if>
  148. <!-- 数据范围过滤 -->
  149. ${params.dataScope}
  150. </select>
  151. <select id="selectAllocatedList" parameterType="com.xunmei.system.domain.vo.SysUserVO"
  152. resultType="com.xunmei.system.api.domain.SysUser">
  153. select distinct u.name as name,u.is_lock as isLock, u.id as id, u.dept_id as deptId, u.username as username,
  154. u.phone as phone, u.create_time as createTime
  155. from sys_user u
  156. left join sys_dept d on u.dept_id = d.dept_id
  157. left join sys_user_role ur on u.id = ur.user_id
  158. left join sys_role r on r.id = ur.role_id
  159. where u.deleted = '0' and r.id = #{roleId}
  160. <if test="username != null and username != ''">
  161. AND u.username like concat('%', #{username}, '%')
  162. </if>
  163. <if test="phone != null and phone != ''">
  164. AND u.phone like concat('%', #{phone}, '%')
  165. </if>
  166. <!-- 数据范围过滤 -->
  167. ${params.dataScope}
  168. </select>
  169. <select id="selectUnallocatedList" parameterType="com.xunmei.system.domain.vo.SysUserVO"
  170. resultType="com.xunmei.system.api.domain.SysUser">
  171. select distinct u.id, u.dept_id, u.username, u.name, u.phone, u.is_lock, u.create_time
  172. from sys_user u
  173. left join sys_dept d on u.dept_id = d.dept_id
  174. left join sys_user_role ur on u.id = ur.user_id
  175. left join sys_role r on r.id = ur.role_id
  176. where u.deleted = 0 and (r.id != #{roleId} or r.id IS NULL)
  177. and u.id not in (select u.id from sys_user u inner join sys_user_role ur on u.id = ur.user_id and ur.role_id =
  178. #{roleId})
  179. <if test="username != null and username != ''">
  180. AND u.username like concat('%', #{username}, '%')
  181. </if>
  182. <if test="phone != null and phone != ''">
  183. AND u.phone like concat('%', #{phone}, '%')
  184. </if>
  185. <!-- 数据范围过滤 -->
  186. ${params.dataScope}
  187. </select>
  188. <select id="selectSyncUserList" parameterType="com.xunmei.system.api.domain.SysUser"
  189. resultType="com.xunmei.system.api.domain.SysUser">
  190. select *
  191. from sys_user u where deleted !=1 and is_lock !=1 and locked != 1
  192. <if test="source != null">
  193. AND u.source =#{source}
  194. </if>
  195. <if test="orgId != null">
  196. AND u.org_id =#{orgId}
  197. </if>
  198. </select>
  199. <select id="selectUserByUserName" parameterType="String" resultMap="SysUserResult">
  200. <include refid="selectUserVo"/>
  201. where u.user_name = #{userName} and u.deleted = 0
  202. </select>
  203. <select id="selectUserById" parameterType="Long" resultMap="SysUserResult">
  204. <include refid="selectUserVo"/>
  205. where u.id = #{userId}
  206. </select>
  207. <select id="checkUserNameUnique" parameterType="String" resultType="com.xunmei.system.api.domain.SysUser">
  208. select id, username
  209. from sys_user
  210. where username = #{userName}
  211. and deleted = '0'
  212. limit 1
  213. </select>
  214. <select id="checkPhoneUnique" parameterType="String" resultType="com.xunmei.system.api.domain.SysUser">
  215. select id, phone
  216. from sys_user
  217. where phone = #{phonenumber}
  218. and deleted = '0'
  219. limit 1
  220. </select>
  221. <select id="checkEmailUnique" parameterType="String" resultMap="SysUserResult">
  222. select user_id, email
  223. from sys_user
  224. where email = #{email}
  225. and deleted = '0'
  226. limit 1
  227. </select>
  228. <insert id="insertUser" parameterType="com.xunmei.system.api.domain.SysUser" useGeneratedKeys="true"
  229. keyProperty="userId">
  230. insert into sys_user(
  231. <if test="userId != null and userId != 0">
  232. user_id,
  233. </if>
  234. <if test="deptId != null and deptId != 0">
  235. dept_id,
  236. </if>
  237. <if test="userName != null and userName != ''">
  238. user_name,
  239. </if>
  240. <if test="nickName != null and nickName != ''">
  241. nick_name,
  242. </if>
  243. <if test="email != null and email != ''">
  244. email,
  245. </if>
  246. <if test="avatar != null and avatar != ''">
  247. avatar,
  248. </if>
  249. <if test="phonenumber != null and phonenumber != ''">
  250. phonenumber,
  251. </if>
  252. <if test="sex != null and sex != ''">
  253. sex,
  254. </if>
  255. <if test="password != null and password != ''">
  256. password,
  257. </if>
  258. <if test="status != null and status != ''">
  259. status,
  260. </if>
  261. <if test="createBy != null and createBy != ''">
  262. create_by,
  263. </if>
  264. <if test="remark != null and remark != ''">
  265. remark,
  266. </if>
  267. create_time
  268. )values(
  269. <if test="userId != null and userId != ''">
  270. #{userId},
  271. </if>
  272. <if test="deptId != null and deptId != ''">
  273. #{deptId},
  274. </if>
  275. <if test="userName != null and userName != ''">
  276. #{userName},
  277. </if>
  278. <if test="nickName != null and nickName != ''">
  279. #{nickName},
  280. </if>
  281. <if test="email != null and email != ''">
  282. #{email},
  283. </if>
  284. <if test="avatar != null and avatar != ''">
  285. #{avatar},
  286. </if>
  287. <if test="phonenumber != null and phonenumber != ''">
  288. #{phonenumber},
  289. </if>
  290. <if test="sex != null and sex != ''">
  291. #{sex},
  292. </if>
  293. <if test="password != null and password != ''">
  294. #{password},
  295. </if>
  296. <if test="status != null and status != ''">
  297. #{status},
  298. </if>
  299. <if test="createBy != null and createBy != ''">
  300. #{createBy},
  301. </if>
  302. <if test="remark != null and remark != ''">
  303. #{remark},
  304. </if>
  305. sysdate()
  306. )
  307. </insert>
  308. <update id="updateUser" parameterType="com.xunmei.system.api.domain.SysUser">
  309. update sys_user
  310. <set>
  311. <if test="deptId != null and deptId != 0">
  312. dept_id = #{deptId},
  313. </if>
  314. <if test="username != null and username != ''">
  315. user_name = #{username},
  316. </if>
  317. <!-- <if test="nickname != null and nickname != ''">-->
  318. <!-- nick_name = #{nickname},-->
  319. <!-- </if>-->
  320. <!-- <if test="email != null ">-->
  321. <!-- email = #{email},-->
  322. <!-- </if>-->
  323. <if test="phone != null ">
  324. phone = #{phone},
  325. </if>
  326. <if test="gender != null and gender != ''">
  327. gender = #{gender},
  328. </if>
  329. <!-- <if test="avatar != null and avatar != ''">-->
  330. <!-- avatar = #{avatar},-->
  331. <!-- </if>-->
  332. <if test="password != null and password != ''">
  333. password = #{password},
  334. </if>
  335. <!-- <if test="status != null and status != ''">-->
  336. <!-- status = #{status},-->
  337. <!-- </if>-->
  338. <!-- <if test="loginIp != null and loginIp != ''">-->
  339. <!-- login_ip = #{loginIp},-->
  340. <!-- </if>-->
  341. <!-- <if test="loginDate != null">-->
  342. <!-- login_date = #{loginDate},-->
  343. <!-- </if>-->
  344. <if test="updateBy != null and updateBy != ''">
  345. update_by = #{updateBy},
  346. </if>
  347. <!-- <if test="remark != null">-->
  348. <!-- remark = #{remark},-->
  349. <!-- </if>-->
  350. update_time = sysdate()
  351. </set>
  352. where id = #{id}
  353. </update>
  354. <update id="updateUserStatus" parameterType="com.xunmei.system.api.domain.SysUser">
  355. update sys_user
  356. set status = #{status}
  357. where user_id = #{userId}
  358. </update>
  359. <update id="updateUserAvatar" parameterType="com.xunmei.system.api.domain.SysUser">
  360. update sys_user
  361. set avatar = #{avatar}
  362. where user_name = #{userName}
  363. </update>
  364. <update id="resetUserPwd" parameterType="com.xunmei.system.api.domain.SysUser">
  365. update sys_user
  366. set password = #{password}
  367. where username = #{userName}
  368. </update>
  369. <delete id="deleteUserById" parameterType="Long">
  370. update sys_user
  371. set deleted = '2'
  372. where user_id = #{userId}
  373. </delete>
  374. <delete id="deleteUserByIds" parameterType="Long">
  375. update sys_user set deleted= '1' where id in
  376. <foreach collection="array" item="userId" open="(" separator="," close=")">
  377. #{userId}
  378. </foreach>
  379. </delete>
  380. <select id="selectSysByUserId" resultType="com.xunmei.system.api.domain.SysOrg">
  381. select *
  382. from sys_org o
  383. inner join sys_user u on o.id = u.org_id
  384. where u.id = #{userId}
  385. </select>
  386. <select id="getPage" resultType="com.xunmei.system.api.domain.SysUser">
  387. select t.* from
  388. (
  389. SELECT
  390. h.user_id AS is_manager,
  391. GROUP_CONCAT(sr.role_name) role_names,
  392. CONCAT(",",GROUP_CONCAT( sr.id ),",") as roleIds,
  393. u.id,
  394. u.dept_id,
  395. u.is_lock,
  396. u.job_id,
  397. u.NAME,
  398. u.username,
  399. u.org_id,
  400. u.phone,
  401. u.create_time,
  402. u.modified_name,
  403. u.update_time,
  404. u.modified_id,
  405. u.PASSWORD,
  406. u.salt,
  407. u.deleted,
  408. u.last_ip,
  409. u.last_time,
  410. o.NAME AS org_name,
  411. o.path AS org_path,
  412. u.image,
  413. u.card,
  414. u.gender,
  415. u.job_number,
  416. u.note,
  417. u.is_sign,
  418. u.sign_time,
  419. u.agreement_id,
  420. u.sign_version,
  421. u.approve_status,
  422. u.locked,
  423. u.create_by,
  424. u.update_by,
  425. u.CODE,
  426. u.source,
  427. u.original_org_id,
  428. u.is_manage
  429. FROM
  430. sys_user u
  431. LEFT JOIN sys_org o ON u.original_org_id = o.id
  432. LEFT JOIN ( SELECT user_id FROM sys_user_role uo LEFT JOIN sys_role ro ON uo.role_id = ro.id WHERE ro.role_name LIKE '%安全保卫管理人员' ) h ON h.user_id = u.id
  433. LEFT JOIN sys_user_role sro on u.id=sro.user_id
  434. LEFT JOIN sys_role sr on sro.role_id=sr.id
  435. where 1=1
  436. and u.deleted =0
  437. <choose>
  438. <when test="info.checkSub">
  439. AND o.path like concat('%', #{info.orgPath}, '%')
  440. </when>
  441. <otherwise>
  442. AND o.id = #{info.orgId}
  443. </otherwise>
  444. </choose>
  445. <if test="info.isLock != null and info.isLock != ''">
  446. AND u.is_lock = #{info.isLock}
  447. </if>
  448. <if test="info.phone != null and info.phone != ''">
  449. AND u.phone like concat('%',concat(#{info.phone},'%'))
  450. </if>
  451. <if test="info.username != null and info.username != ''">
  452. AND u.username like concat('%', #{info.username}, '%')
  453. </if>
  454. <if test="info.name != null and info.name != ''">
  455. AND u.name like concat('%', #{info.name}, '%')
  456. </if>
  457. <if test="info.params.beginTime != null and info.params.beginTime != ''">
  458. <!-- 开始时间检索 -->
  459. AND date_format(u.create_time,'%y%m%d') &gt;= date_format(#{info.params.beginTime},'%y%m%d')
  460. </if>
  461. <if test="info.params.endTime != null and info.params.endTime != ''">
  462. <!-- 结束时间检索 -->
  463. AND date_format(u.create_time,'%y%m%d') &lt;= date_format(#{info.params.endTime},'%y%m%d')
  464. </if>
  465. group by u.id
  466. ) t
  467. where 1=1
  468. <if test="info.roleId != null and info.roleId != ''">
  469. AND t.roleIds like concat("%,",#{info.roleId},",%")
  470. </if>
  471. <if test="info.onlyManager ==true">
  472. AND t.is_manage ='Y'
  473. </if>
  474. ORDER BY t.org_id DESC
  475. </select>
  476. <select id="selectrolesByOrgId" resultType="com.xunmei.system.api.domain.SysRole">
  477. SELECT
  478. r.*
  479. FROM
  480. sys_role r
  481. LEFT JOIN sys_org o ON r.org_type = o.type
  482. WHERE
  483. 1 = 1
  484. AND o.id =#{orgId}
  485. </select>
  486. <select id="getList" resultMap="SysUserResult">
  487. SELECT
  488. u.id,
  489. u.is_manage AS is_manager,
  490. role_name,
  491. u.dept_id,
  492. u.is_lock,
  493. u.job_id,
  494. u.NAME,
  495. u.username,
  496. u.org_id,
  497. u.phone,
  498. u.create_time,
  499. u.modified_name,
  500. u.update_time,
  501. u.modified_id,
  502. u.PASSWORD,
  503. u.salt,
  504. u.deleted,
  505. u.last_ip,
  506. u.last_time,
  507. o.NAME AS org_name,
  508. o.path AS org_path,
  509. u.image,
  510. u.card,
  511. u.gender,
  512. u.job_number,
  513. u.note,
  514. u.is_sign,
  515. u.sign_time,
  516. u.agreement_id,
  517. u.sign_version,
  518. u.approve_status,
  519. u.locked,
  520. u.create_by,
  521. u.update_by,
  522. u.CODE,
  523. u.source,
  524. u.original_org_id
  525. FROM
  526. sys_user u
  527. LEFT JOIN sys_org o ON u.original_org_id = o.id
  528. LEFT JOIN ( SELECT user_id FROM sys_user_role uo LEFT JOIN sys_role ro ON uo.role_id = ro.id WHERE ro.role_name LIKE '%安全保卫管理人员' ) h ON h.user_id = u.id
  529. LEFT JOIN sys_user_role sro on u.id=sro.user_id
  530. LEFT JOIN sys_role sr on sro.role_id=sr.id
  531. where 1=1
  532. and u.deleted =0
  533. <choose>
  534. <when test="info.checkSub">
  535. AND o.path like concat('%', #{info.orgPath}, '%')
  536. </when>
  537. <otherwise>
  538. AND o.id = #{info.orgId}
  539. </otherwise>
  540. </choose>
  541. <if test="info.isLock != null and info.isLock != ''">
  542. AND u.is_lock = #{info.isLock}
  543. </if>
  544. <if test="info.phone != null and info.phone != ''">
  545. AND u.phone like concat('%',concat(#{info.phone},'%'))
  546. </if>
  547. <if test="info.username != null and info.username != ''">
  548. AND u.username like concat('%', #{info.username}, '%')
  549. </if>
  550. <if test="info.params.beginTime != null and info.params.beginTime != ''">
  551. <!-- 开始时间检索 -->
  552. AND date_format(u.create_time,'%y%m%d') &gt;= date_format(#{info.params.beginTime},'%y%m%d')
  553. </if>
  554. <if test="info.params.endTime != null and info.params.endTime != ''">
  555. <!-- 结束时间检索 -->
  556. AND date_format(u.create_time,'%y%m%d') &lt;= date_format(#{info.params.endTime},'%y%m%d')
  557. </if>
  558. ORDER BY u.update_time DESC
  559. </select>
  560. <select id="selectAllUser" resultType="com.xunmei.system.api.domain.SysUser">
  561. select * from
  562. sys_user where deleted=0 and is_lock =0 and locked=0
  563. <if test="userName != null and userName != ''">
  564. AND name like concat('%', #{userName}, '%')
  565. </if>
  566. </select>
  567. <select id="selectUserListByRole" resultType="com.xunmei.system.api.domain.SysUser">
  568. select a.* from sys_user a left join sys_user_role b on a.id = b.user_id where
  569. b.role_id in
  570. <foreach collection="notificationToRoles" item="role" open="(" separator="," close=")">
  571. #{role.roleId}
  572. </foreach>
  573. </select>
  574. <select id="selectUserListByRoleAndOrg" resultType="com.xunmei.system.api.domain.SysUser">
  575. SELECT DISTINCT
  576. a.*
  577. FROM
  578. sys_user a
  579. LEFT JOIN sys_org b ON a.org_id = b.id
  580. LEFT JOIN sys_user_role c ON c.user_id = a.id
  581. LEFT JOIN sys_role d ON d.id = c.role_id
  582. WHERE
  583. a.deleted = 0
  584. AND d.del_flag = 0
  585. AND b.id = #{sysRoleOrgDTO.orgId}
  586. AND d.id IN ( SELECT role_id FROM core_resumption_plan_to_role WHERE plan_id=#{sysRoleOrgDTO.planId})
  587. </select>
  588. <select id="select" resultType="com.xunmei.system.util.UserExport">
  589. SELECT
  590. # h.user_id AS is_manager,
  591. GROUP_CONCAT(sr.role_name) role_names,
  592. CONCAT(',',GROUP_CONCAT( sr.id ),',') as roleIds,
  593. u.id,
  594. u.dept_id,
  595. u.is_lock,
  596. u.job_id,
  597. u.NAME,
  598. u.username,
  599. u.org_id,
  600. u.phone,
  601. u.create_time,
  602. u.modified_name,
  603. u.update_time,
  604. u.modified_id,
  605. u.PASSWORD,
  606. u.salt,
  607. u.deleted,
  608. u.last_ip,
  609. u.last_time,
  610. o.NAME AS org_name,
  611. o.path AS org_path,
  612. u.image,
  613. u.card,
  614. u.gender,
  615. u.job_number,
  616. u.note,
  617. u.is_sign,
  618. u.sign_time,
  619. u.agreement_id,
  620. u.sign_version,
  621. u.approve_status,
  622. u.locked,
  623. u.create_by,
  624. u.update_by,
  625. u.CODE,
  626. u.source,
  627. u.original_org_id,
  628. u.is_manage as is_manager
  629. FROM
  630. sys_user u
  631. LEFT JOIN sys_org o ON u.original_org_id = o.id
  632. LEFT JOIN ( SELECT user_id FROM sys_user_role uo LEFT JOIN sys_role ro ON uo.role_id = ro.id WHERE ro.role_name LIKE '%安全保卫管理人员' ) h ON h.user_id = u.id
  633. LEFT JOIN sys_user_role sro on u.id=sro.user_id
  634. LEFT JOIN sys_role sr on sro.role_id=sr.id
  635. where 1=1
  636. and u.deleted =0
  637. <choose>
  638. <when test="info.checkSub">
  639. AND o.path like concat('%', #{info.orgPath}, '%')
  640. </when>
  641. <otherwise>
  642. AND o.id = #{info.orgId}
  643. </otherwise>
  644. </choose>
  645. <if test="info.isLock != null and info.isLock != ''">
  646. AND u.is_lock = #{info.isLock}
  647. </if>
  648. <if test="info.phone != null and info.phone != ''">
  649. AND u.phone like concat('%',concat(#{info.phone},'%'))
  650. </if>
  651. <if test="info.username != null and info.username != ''">
  652. AND u.username like concat('%', #{info.username}, '%')
  653. </if>
  654. <if test="info.name != null and info.name != ''">
  655. AND u.name like concat('%', #{info.name}, '%')
  656. </if>
  657. <if test="info.roleId != null and info.roleId != ''">
  658. AND sr.id =#{info.roleId}
  659. </if>
  660. <if test="info.onlyManager ==true">
  661. AND u.is_manage ='Y'
  662. </if>
  663. <if test="info.params.beginTime != null and info.params.beginTime != ''">
  664. <!-- 开始时间检索 -->
  665. AND date_format(u.create_time,'%y%m%d') &gt;= date_format(#{info.params.beginTime},'%y%m%d')
  666. </if>
  667. <if test="info.params.endTime != null and info.params.endTime != ''">
  668. <!-- 结束时间检索 -->
  669. AND date_format(u.create_time,'%y%m%d') &lt;= date_format(#{info.params.endTime},'%y%m%d')
  670. </if>
  671. group by u.id
  672. </select>
  673. <select id="selectCountByNames" resultType="java.lang.String">
  674. select u.name from sys_user u where u.deleted=0 and u.name in
  675. <foreach collection="names" item="name" open="(" separator="," close=")">
  676. #{name}
  677. </foreach>
  678. </select>
  679. </mapper>