<?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.gkhy.exam.system.mapper.SysUserMapper">
|
|
<resultMap type="com.gkhy.exam.common.domain.entity.SysUser" id="SysUserResult">
|
<id property="id" column="id" />
|
<result property="username" column="username" />
|
<result property="name" column="name" />
|
<result property="userType" column="user_type" />
|
<result property="phone" column="phone" />
|
<result property="sex" column="sex" />
|
<result property="companyId" column="company_id" />
|
<result property="parentId" column="parent_id" />
|
<result property="password" column="password" />
|
<result property="status" column="status" />
|
<result property="delFlag" column="del_flag" />
|
<result property="loginIp" column="login_ip" />
|
<result property="loginDate" column="login_date" />
|
<result property="pwdUpdateDate" column="pwd_update_date" />
|
<result property="createBy" column="create_by" />
|
<result property="createTime" column="create_time" />
|
<result property="updateBy" column="update_by" />
|
<result property="updateTime" column="update_time" />
|
<result property="remark" column="remark" />
|
<result property="version" column="version" />
|
<result property="companyName" column="company_name" />
|
<result property="remainPeriod" column="remain_period" />
|
<result property="parentName" column="parent_name" />
|
<result property="idCard" column="id_card" />
|
<result property="duty" column="duty" />
|
<result property="post" column="post" />
|
<result property="deptId" column="dept_id" />
|
<result property="deptName" column="dept_name" />
|
<result property="entryTime" column="entry_time" />
|
</resultMap>
|
|
|
|
<delete id="deleteUserById" parameterType="java.lang.Long">
|
update sys_user set del_flag=1 where id=#{userId}
|
</delete>
|
|
|
<select id="getUserByUsername" resultMap="SysUserResult">
|
select id,username,name,password,user_type,company_id,status,del_flag,parent_id from sys_user
|
where username=#{username} and del_flag=0 limit 1
|
</select>
|
|
<select id="userList" resultMap="SysUserResult">
|
select u.id,u.username,u.name,u.user_type,u.phone,u.parent_id,u.company_id,u.sex,u.status,u.del_flag,u.version,
|
u.login_ip,u.login_date,u.create_by,u.create_time,u.remark,c.name as company_name,su.name as parent_name,
|
u.dept_id,d.dept_name,u.duty,u.post,u.id_card,u.entry_time
|
from sys_user u
|
left join sys_company c on c.id=u.company_id
|
left join sys_user su on su.id=u.parent_id and u.parent_id!=0
|
left join sys_dept d on d.dept_id=u.dept_id
|
<where>
|
and u.del_flag = 0
|
<if test="username != null and username != ''">
|
AND u.username like concat('%', #{username}, '%')
|
</if>
|
<if test="name != null and name != ''">
|
AND u.name like concat('%', #{name}, '%')
|
</if>
|
<if test="status != null and status != ''">
|
AND u.status = #{status}
|
</if>
|
<if test="userType != null">
|
AND u.user_type = #{userType}
|
</if>
|
<if test="companyId != null ">
|
AND u.company_id = #{companyId}
|
</if>
|
<if test="phone != null and phone != ''">
|
AND u.phone like concat('%', #{phone}, '%')
|
</if>
|
<if test="params.beginTime != null and params.beginTime != ''"><!-- 开始时间检索 -->
|
AND date_format(u.create_time,'%y%m%d') >= date_format(#{params.beginTime},'%y%m%d')
|
</if>
|
<if test="params.endTime != null and params.endTime != ''"><!-- 结束时间检索 -->
|
AND date_format(u.create_time,'%y%m%d') <= date_format(#{params.endTime},'%y%m%d')
|
</if>
|
<if test="params.userType != null and (params.userType==4 or params.userType==1)">
|
AND u.user_type in (2,3)
|
</if>
|
<if test="params.userType != null and params.userType==2">
|
AND u.user_type in (3)
|
</if>
|
<if test="params.userType != null and params.userType==0">
|
AND u.user_type in (1,2,3,4)
|
</if>
|
</where>
|
order by u.id desc
|
</select>
|
|
|
|
<select id="getUserByPhone" resultMap="SysUserResult">
|
select id,username,name,password,parent_id,company_id,phone,status,del_flag from sys_user
|
where phone=#{phone} and del_flag=0
|
</select>
|
|
<select id="getUserById" resultMap="SysUserResult">
|
select u.id,u.username,u.user_type,u.name,u.phone,u.parent_id,u.company_id,u.status,u.sex,u.del_flag,u.version,c.name as company_name,
|
c.remain_period,su.name as parent_name,u.dept_id,d.dept_name,u.duty,u.post,u.id_card,u.entry_time
|
from sys_user u
|
left join sys_company c on c.id=u.company_id
|
left join sys_user su on su.id=u.parent_id and u.parent_id!=0
|
left join sys_dept d on d.dept_id=u.dept_id
|
where u.id=#{userId}
|
</select>
|
|
<select id="checkLoginNameUnique" resultMap="SysUserResult">
|
select id,username from sys_user where username=#{username} and del_flag=0 limit 1
|
</select>
|
|
<select id="checkPhoneUnique" resultMap="SysUserResult">
|
select id,phone from sys_user where phone=#{phone} and del_flag=0 limit 1
|
</select>
|
|
<select id="selectWorkshopUserIds" resultType="java.lang.Long" parameterType="java.lang.Long">
|
select id from sys_user where parent_id=#{departUserId} and del_flag=0 and user_type=3
|
</select>
|
|
|
<select id="selectAllocatedList" parameterType="com.gkhy.exam.common.domain.entity.SysUser" resultMap="SysUserResult">
|
select distinct u.id, u.dept_id, u.user_name, u.nick_name, u.email, u.phonenumber, u.status, u.create_time
|
from sys_user u
|
left join sys_dept d on u.dept_id = d.dept_id
|
left join sys_user_role ur on u.id = ur.user_id
|
left join sys_role r on r.role_id = ur.role_id
|
where u.del_flag = '0' and r.role_id = #{roleId}
|
<if test="userName != null and userName != ''">
|
AND u.user_name like concat('%', #{userName}, '%')
|
</if>
|
<if test="phonenumber != null and phonenumber != ''">
|
AND u.phonenumber like concat('%', #{phonenumber}, '%')
|
</if>
|
</select>
|
|
<select id="selectUnallocatedList" parameterType="com.gkhy.exam.common.domain.entity.SysUser" resultMap="SysUserResult">
|
select distinct u.id, u.dept_id, u.user_name, u.nick_name, u.email, u.phonenumber, u.status, u.create_time
|
from sys_user u
|
left join sys_dept d on u.dept_id = d.dept_id
|
left join sys_user_role ur on u.id = ur.user_id
|
left join sys_role r on r.role_id = ur.role_id
|
where u.del_flag = '0' and (r.role_id != #{roleId} or r.role_id IS NULL)
|
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 = #{roleId})
|
<if test="userName != null and userName != ''">
|
AND u.user_name like concat('%', #{userName}, '%')
|
</if>
|
<if test="phonenumber != null and phonenumber != ''">
|
AND u.phonenumber like concat('%', #{phonenumber}, '%')
|
</if>
|
</select>
|
|
</mapper>
|