| <?xml version="1.0" encoding="UTF-8"?> | 
| <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> | 
|   | 
| <mapper namespace="com.zt.modules.sys.dao.SysUserDao"> | 
|   | 
|     <select id="getList" resultType="com.zt.core.sys.model.SysUser"> | 
|         select a.* | 
|         ,(select t2.name from sys_dept t2 where t2.id = a.dept_id) deptName | 
|         from sys_user a | 
|         where a.is_delete = 0 | 
|         <if test="username != null and username.trim() != ''"> | 
|             and (a.username like #{username} or a.nick_name like #{username}) | 
|         </if> | 
|         <if test="deptId != null and deptId != 0"> | 
|             and a.dept_id = #{deptId} | 
|         </if> | 
|         <!--        <if test="status != null and status != ''"> | 
|                     and a.status = #{status} | 
|                 </if> | 
|                 <if test="companyId != null"> | 
|                     and a.company_id = #{companyId} | 
|                 </if> | 
|                 <if test="deptIds != null"> | 
|                     and a.dept_id in | 
|                     <foreach item="id" collection="deptIds" open="(" separator="," close=")"> | 
|                         #{id} | 
|                     </foreach> | 
|                 </if>--> | 
|     </select> | 
|   | 
|     <select id="getById" resultType="com.zt.core.sys.model.SysUser"> | 
|         select a.id | 
|              , a.dept_id | 
|              , a.company_id | 
|              , '1271368584383188993' as                                  TENANT_ID | 
|              , a.username | 
|              , a.real_name | 
|              , a.mobile | 
|              , (select t2.name from sys_dept t2 where t2.id = a.dept_id) deptName | 
|         from sys_user a | 
|         where a.is_delete = 0 | 
|           and a.id = #{value} | 
|         limit 1 | 
|     </select> | 
|   | 
|     <select id="getByUsername" resultType="com.zt.core.sys.model.SysUser"> | 
|         select a.id | 
|              , a.dept_id | 
|              , a.company_id | 
|              , '1271368584383188993' as                                  TENANT_ID | 
|              , a.username | 
|              , a.real_name | 
|              , a.mobile | 
|              , (select t2.name from sys_dept t2 where t2.id = a.dept_id) deptName | 
|              , a.password | 
|         from sys_user a | 
|         where a.is_delete = 0 | 
|           and username = #{value} | 
|         limit 1 | 
|     </select> | 
|     <select id="checkUserArea" resultType="com.zt.core.sys.model.SysUser"> | 
|         select a.* | 
|         from sys_user a, | 
|              sys_role_user b, | 
|              sys_role c | 
|         where b.is_delete = 0 | 
|           and c.is_delete = 0 | 
|           and a.id = #{userId} | 
|           and b.user_id = a.id | 
|           and c.id = b.role_id | 
|           and ((#{localServer} = 'jd' and c.code in ('cjbm', 'ztsxlbm')) | 
|             or (#{localServer} = 'cj' | 
|                 and c.code in ('zlbm', 'tybm', 'ywzbm', 'tzbm', 'czbm', 'bzbm', 'dbsbm') | 
|                    ) | 
|             ) | 
|     </select> | 
|     <select id="isGetByUsernameList" resultType="com.zt.core.sys.model.SysUser"> | 
|         select | 
|         a.id | 
|         ,a.dept_id | 
|         ,a.company_id | 
|         ,'1271368584383188993' as TENANT_ID | 
|         ,a.username | 
|         ,a.real_name | 
|         ,a.mobile | 
|         ,a.password | 
|         from | 
|         sys_user a | 
|         where is_delete = 0 | 
|         and user_name = #{username} | 
|         <if test="unitid != null and unitid != ''"> | 
|             and dept_id = #{unitid} | 
|         </if> | 
|         <if test="code != null and code != ''"> | 
|             or dept_id in (select id from sys_dept where code=#{code})) | 
|         </if> | 
|         <if test="password != null and password != ''"> | 
|             and password = #{password} | 
|         </if> | 
|     </select> | 
|   | 
|     <select id="isDomainName" resultType="com.zt.core.sys.model.SysUser"> | 
|         select a.id | 
|              , a.dept_id | 
|              , a.company_id | 
|              , '1271368584383188993' as                                  TENANT_ID | 
|              , a.username | 
|              , a.real_name | 
|              , a.mobile | 
|              , (select t2.name from sys_dept t2 where t2.id = a.dept_id) deptName | 
|         from sys_user a | 
|         where a.is_delete = 0 | 
| #         and a.code = #{code} | 
|     </select> | 
|   | 
|     <select id="userRoleInfo" resultType="com.zt.core.context.User"> | 
|         SELECT | 
|         a.real_Name, | 
|         c.name as roleName, | 
|         (select name from sys_dept d where a.dept_id = d.ID AND d.is_delete=0 limit 1 ) as deptName | 
|         FROM | 
|         sys_user a, | 
|         sys_role_user b, | 
|         sys_role c, | 
|         sys_role_menu e, | 
|         sys_menu f | 
|         WHERE 1=1 | 
|         <if test="userId != null and userId != ''"> | 
|             and a.id = #{userId} | 
|         </if> | 
|         <if test="username != null and username != ''"> | 
|             and a.username = #{username} | 
|         </if> | 
|         and a.id = b.user_id | 
|         AND b.role_id = c.id | 
|         and c.id = e.role_id | 
|         and e.menu_id = f.id | 
|         AND b.is_delete=0 | 
|         AND c.is_delete=0 | 
|         AND e.is_delete=0 | 
|         AND f.is_delete=0 | 
|         <if test="systemId != null and systemId != ''"> | 
|             and f.pid = #{systemId} | 
|         </if> | 
|         limit 1 | 
|     </select> | 
|   | 
|     <select id="getRoles" resultType="java.lang.String"> | 
|         SELECT group_concat(b.role_id) AS role_id | 
|         FROM sys_role_user b | 
|         WHERE b.is_delete = 0 | 
|           AND b.user_id = #{userId} | 
|     </select> | 
|   | 
|     <select id="getRoleNames" resultType="java.lang.String"> | 
|         SELECT group_concat(a.name) AS name | 
|         FROM sys_role a, | 
|              sys_role_user b | 
|         WHERE b.is_delete = 0 | 
|           AND b.user_id = #{userId} | 
|           and a.is_delete = 0 | 
|           and a.id = b.role_id | 
|     </select> | 
|   | 
|     <update id="updateLogin"> | 
|         update | 
|         sys_user | 
|         <trim prefix="set" suffixOverrides=","> | 
|             <if test="loginErrorCount!=null">login_error_count=#{loginErrorCount},</if> | 
|             <if test="isLocked!=null">is_locked=#{isLocked},</if> | 
|             <if test="lastLoginErrorTime!=null">last_login_error_time=#{lastLoginErrorTime}</if> | 
|         </trim> | 
|         WHERE id=#{id} | 
|     </update> | 
|     <select id="getByDeptIds" resultType="com.zt.core.sys.model.SysUser"> | 
|         SELECT | 
|         b.id | 
|         ,b.dept_id | 
|         ,b.company_id | 
|         ,'1271368584383188993' as TENANT_ID | 
|         ,b.username | 
|         ,b.real_name | 
|         ,b.mobile | 
|         FROM | 
|         sys_user b | 
|         WHERE | 
|         b.is_delete = 0 | 
|         and dept_id in | 
|         <foreach collection="deptIds" index="index" item="item" open="(" separator="," close=")"> | 
|             #{item} | 
|         </foreach> | 
|     </select> | 
|     <select id="getEntity" resultType="com.zt.core.sys.model.SysUser"> | 
|         SELECT b.id | 
|              , b.dept_id | 
|              , b.company_id | 
|              , '1271368584383188993' as TENANT_ID | 
|              , b.username | 
|              , b.real_name | 
|              , b.mobile | 
|         FROM sys_user b | 
|         WHERE b.is_delete = 0 | 
|           and b.id = #{id} | 
|         limit 1 | 
|     </select> | 
|     <select id="getNewConnectUser" resultType="com.zt.core.sys.model.SysUser"> | 
|         select * | 
|         from sys_user | 
|         where dept_id = #{newShipTeam} | 
|           and id in (select user_id | 
|                      from sys_role_user a, | 
|                           sys_role b | 
|                      where a.role_id = b.id | 
|                        and b.code = 'tybm') | 
|     </select> | 
|     <select id="checkTestHome" resultType="java.lang.Integer"> | 
|         SELECT count(1) | 
|         FROM sys_user | 
|         WHERE is_delete = 0 | 
|           AND id = #{userId} | 
|           AND ( | 
|                 user_name IN ('admin', 'yszl') | 
|                 OR id IN ( | 
|                 SELECT user_id | 
|                 FROM sys_role_user b, | 
|                      sys_role c | 
|                 WHERE b.is_delete = 0 | 
|                   AND c.is_delete = 0 | 
|                   AND c.id = b.role_id | 
|                   AND c.`code` IN ('xtglybm', 'ztsxlbm', 'dbsbm', 'zlbm', 'bzbm', 'czbm') | 
|             ) | 
|             ) | 
|     </select> | 
|     <select id="getUsersList" resultType="com.zt.core.sys.model.SysUser"> | 
|         select real_name as name,id as id from sys_user | 
|         where is_delete = 0 | 
|         <if test="type == null or type == ''"> | 
|             and id not in ( | 
|             select user_id from sys_role_user where role_id | 
|             in (select id from sys_role where code in ('xtglybm','xtbmybm','xtsjybm','rx')and is_delete=0)and | 
|             is_delete=0)and is_delete=0 | 
|         </if> | 
|         <if test="deptId != null and deptId != ''"> | 
|             and dept_id = #{deptId} | 
|         </if> | 
|         <if test="type == 'zrr'"> | 
|             and id in ( | 
|             select user_id from sys_role_user where role_id | 
|             in (select id from sys_role where code in ('jcry')and is_delete=0)and is_delete=0)and is_delete=0 | 
|         </if> | 
|         <if test="type == 'csry'"> | 
|             and id in ( | 
|             select user_id from sys_role_user where role_id | 
|             in (select id from sys_role where code in ('jcry')and is_delete=0)and is_delete=0)and is_delete=0 | 
|         </if> | 
|         <if test="type == 'shry'"> | 
|             and id in ( | 
|             select user_id from sys_role_user where role_id | 
|             in (select id from sys_role where code in ('jcry','zljdy','shry')and is_delete=0)and is_delete=0) and | 
|             is_delete=0 | 
|         </if> | 
|         <if test="type == 'pzry'"> | 
|             and id in ( | 
|             select user_id from sys_role_user where role_id | 
|             in (select id from sys_role where code in ('jcry','shry')and is_delete=0)and is_delete=0)and is_delete=0 | 
|         </if> | 
|     </select> | 
|     <select id="getUsersName" resultType="java.lang.String"> | 
|         select real_name | 
|         from sys_user | 
|         WHERE id = ${id} | 
|     </select> | 
|     <update id="updatePassword"> | 
|         update | 
|             sys_user | 
|         set password = #{password} | 
|         WHERE id = #{id} | 
|     </update> | 
| </mapper> |