| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456 |
- <?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.xunmei.system.mapper.SysUserMapper">
- <resultMap type="com.xunmei.system.api.domain.SysUser" id="SysUserResult">
- <id property="id" column="id"/>
- <result property="deptId" column="dept_id"/>
- <result property="username" column="user_name"/>
- <result property="nickName" column="nick_name"/>
- <result property="email" column="email"/>
- <result property="phonenumber" column="phonenumber"/>
- <result property="sex" column="sex"/>
- <result property="avatar" column="avatar"/>
- <result property="password" column="password"/>
- <result property="status" column="status"/>
- <result property="deleted" column="deleted"/>
- <result property="loginIp" column="login_ip"/>
- <result property="loginDate" column="login_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"/>
- <association property="dept" column="dept_id" javaType="com.xunmei.system.api.domain.SysDept"
- resultMap="deptResult"/>
- <collection property="roles" javaType="java.util.List" resultMap="RoleResult"/>
- </resultMap>
- <!-- <resultMap type="com.xunmei.system.api.domain.SysUser" id="SyncSysUserResult">-->
- <!-- <id property="id" column="id" />-->
- <!-- <result property="username" column="user_name" />-->
- <!-- <result property="name" column="name" />-->
- <!-- <result property="email" column="email" />-->
- <!-- <result property="phonenumber" column="phonenumber" />-->
- <!-- <result property="sex" column="sex" />-->
- <!-- <result property="avatar" column="avatar" />-->
- <!-- <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="createBy" column="create_by" />-->
- <!-- <result property="createTime" column="create_time" />-->
- <!-- <result property="updateBy" column="update_by" />-->
- <!-- <result property="updateTime" column="update_time" />-->
- <!-- <association property="dept" column="dept_id" javaType="com.xunmei.system.api.domain.SysDept" resultMap="deptResult" />-->
- <!-- <collection property="roles" javaType="java.util.List" resultMap="RoleResult" />-->
- <!-- </resultMap>-->
- <resultMap id="deptResult" type="com.xunmei.system.api.domain.SysDept">
- <id property="deptId" column="dept_id"/>
- <result property="parentId" column="parent_id"/>
- <result property="deptName" column="dept_name"/>
- <result property="ancestors" column="ancestors"/>
- <result property="orderNum" column="order_num"/>
- <result property="leader" column="leader"/>
- <result property="status" column="dept_status"/>
- </resultMap>
- <resultMap id="RoleResult" type="com.xunmei.system.api.domain.SysRole">
- <id property="roleId" column="role_id"/>
- <result property="roleName" column="role_name"/>
- <result property="roleKey" column="role_key"/>
- <result property="roleSort" column="role_sort"/>
- <result property="dataScope" column="data_scope"/>
- <result property="status" column="role_status"/>
- </resultMap>
- <sql id="selectUserVo">
- select u.id,
- u.dept_id,
- u.user_name,
- u.nick_name,
- u.avatar,
- u.phonenumber,
- u.password,
- u.sex,
- u.is_lock,
- u.deleted,
- u.login_ip,
- u.login_date,
- u.create_by,
- u.create_time,
- u.remark,
- u.original_org_id,
- d.dept_id,
- d.parent_id,
- d.ancestors,
- d.dept_name,
- d.order_num,
- d.leader,
- d.status as dept_status,
- r.id,
- r.role_name,
- r.role_key,
- r.role_sort,
- r.data_scope,
- r.status as role_status
- 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.id = ur.role_id
- </sql>
- <select id="selectUserList" parameterType="com.xunmei.system.api.domain.SysUser" resultMap="SysUserResult">
- 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,
- u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, d.dept_name, d.leader from sys_user u
- left join sys_dept d on u.dept_id = d.dept_id
- where u.deleted = '0'
- <if test="userId != null and userId != 0">
- AND u.id = #{userId}
- </if>
- <if test="userName != null and userName != ''">
- AND u.user_name like concat('%', #{userName}, '%')
- </if>
- <if test="status != null and status != ''">
- AND u.is_lock = #{isLock}
- </if>
- <if test="phonenumber != null and phonenumber != ''">
- AND u.phonenumber like concat('%', #{phonenumber}, '%')
- </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="deptId != null and deptId != 0">
- AND (u.dept_id = #{deptId} OR u.dept_id IN ( SELECT t.dept_id FROM sys_dept t WHERE find_in_set(#{deptId},
- ancestors) ))
- </if>
- <!-- 数据范围过滤 -->
- ${params.dataScope}
- </select>
- <select id="selectAllocatedList" parameterType="com.xunmei.system.domain.vo.SysUserVO"
- resultType="com.xunmei.system.api.domain.SysUser">
- select distinct u.name as name,u.is_lock as isLock, u.id as id, u.dept_id as deptId, u.username as username,
- u.phone as phone, u.create_time as createTime
- 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.id = ur.role_id
- where u.deleted = '0' and r.id = #{roleId}
- <if test="username != null and username != ''">
- AND u.username like concat('%', #{username}, '%')
- </if>
- <if test="phone != null and phone != ''">
- AND u.phone like concat('%', #{phone}, '%')
- </if>
- <!-- 数据范围过滤 -->
- ${params.dataScope}
- </select>
- <select id="selectUnallocatedList" parameterType="com.xunmei.system.domain.vo.SysUserVO"
- resultType="com.xunmei.system.api.domain.SysUser">
- select distinct u.id, u.dept_id, u.username, u.name, u.phone, u.is_lock, 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.id = ur.role_id
- where u.deleted = 0 and (r.id != #{roleId} or r.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.username like concat('%', #{username}, '%')
- </if>
- <if test="phone != null and phone != ''">
- AND u.phone like concat('%', #{phone}, '%')
- </if>
- <!-- 数据范围过滤 -->
- ${params.dataScope}
- </select>
- <select id="selectSyncUserList" parameterType="com.xunmei.system.api.domain.SysUser"
- resultType="com.xunmei.system.api.domain.SysUser">
- select *
- from sys_user u
- <where>
- <if test="source != null">
- AND u.source =#{source}
- </if>
- <if test="orgId != null">
- AND u.org_id =#{orgId}
- </if>
- </where>
- </select>
- <select id="selectUserByUserName" parameterType="String" resultMap="SysUserResult">
- <include refid="selectUserVo"/>
- where u.user_name = #{userName} and u.deleted = 0
- </select>
- <select id="selectUserById" parameterType="Long" resultMap="SysUserResult">
- <include refid="selectUserVo"/>
- where u.id = #{userId}
- </select>
- <select id="checkUserNameUnique" parameterType="String" resultType="com.xunmei.system.api.domain.SysUser">
- select id, username
- from sys_user
- where username = #{userName}
- and deleted = '0'
- limit 1
- </select>
- <select id="checkPhoneUnique" parameterType="String" resultType="com.xunmei.system.api.domain.SysUser">
- select id, phone
- from sys_user
- where phone = #{phonenumber}
- and deleted = '0'
- limit 1
- </select>
- <select id="checkEmailUnique" parameterType="String" resultMap="SysUserResult">
- select user_id, email
- from sys_user
- where email = #{email}
- and deleted = '0'
- limit 1
- </select>
- <insert id="insertUser" parameterType="com.xunmei.system.api.domain.SysUser" useGeneratedKeys="true"
- keyProperty="userId">
- insert into sys_user(
- <if test="userId != null and userId != 0">
- user_id,
- </if>
- <if test="deptId != null and deptId != 0">
- dept_id,
- </if>
- <if test="userName != null and userName != ''">
- user_name,
- </if>
- <if test="nickName != null and nickName != ''">
- nick_name,
- </if>
- <if test="email != null and email != ''">
- email,
- </if>
- <if test="avatar != null and avatar != ''">
- avatar,
- </if>
- <if test="phonenumber != null and phonenumber != ''">
- phonenumber,
- </if>
- <if test="sex != null and sex != ''">
- sex,
- </if>
- <if test="password != null and password != ''">
- password,
- </if>
- <if test="status != null and status != ''">
- status,
- </if>
- <if test="createBy != null and createBy != ''">
- create_by,
- </if>
- <if test="remark != null and remark != ''">
- remark,
- </if>
- create_time
- )values(
- <if test="userId != null and userId != ''">
- #{userId},
- </if>
- <if test="deptId != null and deptId != ''">
- #{deptId},
- </if>
- <if test="userName != null and userName != ''">
- #{userName},
- </if>
- <if test="nickName != null and nickName != ''">
- #{nickName},
- </if>
- <if test="email != null and email != ''">
- #{email},
- </if>
- <if test="avatar != null and avatar != ''">
- #{avatar},
- </if>
- <if test="phonenumber != null and phonenumber != ''">
- #{phonenumber},
- </if>
- <if test="sex != null and sex != ''">
- #{sex},
- </if>
- <if test="password != null and password != ''">
- #{password},
- </if>
- <if test="status != null and status != ''">
- #{status},
- </if>
- <if test="createBy != null and createBy != ''">
- #{createBy},
- </if>
- <if test="remark != null and remark != ''">
- #{remark},
- </if>
- sysdate()
- )
- </insert>
- <update id="updateUser" parameterType="com.xunmei.system.api.domain.SysUser">
- update sys_user
- <set>
- <if test="deptId != null and deptId != 0">
- dept_id = #{deptId},
- </if>
- <if test="userName != null and userName != ''">
- user_name = #{userName},
- </if>
- <if test="nickName != null and nickName != ''">
- nick_name = #{nickName},
- </if>
- <if test="email != null ">
- email = #{email},
- </if>
- <if test="phonenumber != null ">
- phonenumber = #{phonenumber},
- </if>
- <if test="sex != null and sex != ''">
- sex = #{sex},
- </if>
- <if test="avatar != null and avatar != ''">
- avatar = #{avatar},
- </if>
- <if test="password != null and password != ''">
- password = #{password},
- </if>
- <if test="status != null and status != ''">
- status = #{status},
- </if>
- <if test="loginIp != null and loginIp != ''">
- login_ip = #{loginIp},
- </if>
- <if test="loginDate != null">
- login_date = #{loginDate},
- </if>
- <if test="updateBy != null and updateBy != ''">
- update_by = #{updateBy},
- </if>
- <if test="remark != null">
- remark = #{remark},
- </if>
- update_time = sysdate()
- </set>
- where user_id = #{userId}
- </update>
- <update id="updateUserStatus" parameterType="com.xunmei.system.api.domain.SysUser">
- update sys_user
- set status = #{status}
- where user_id = #{userId}
- </update>
- <update id="updateUserAvatar" parameterType="com.xunmei.system.api.domain.SysUser">
- update sys_user
- set avatar = #{avatar}
- where user_name = #{userName}
- </update>
- <update id="resetUserPwd" parameterType="com.xunmei.system.api.domain.SysUser">
- update sys_user
- set password = #{password}
- where username = #{userName}
- </update>
- <delete id="deleteUserById" parameterType="Long">
- update sys_user
- set deleted = '2'
- where user_id = #{userId}
- </delete>
- <delete id="deleteUserByIds" parameterType="Long">
- update sys_user set deleted= '1' where id in
- <foreach collection="array" item="userId" open="(" separator="," close=")">
- #{userId}
- </foreach>
- </delete>
- <select id="selectSysByUserId" resultType="com.xunmei.system.api.domain.SysOrg">
- select *
- from sys_org o
- inner join sys_user u on o.id = u.org_id
- where u.id = #{userId}
- </select>
- <select id="getPage" resultType="com.xunmei.system.api.domain.SysUser">
- select
- u.id,
- u.dept_id,
- u.is_lock,
- u.job_id,
- u.name,
- u.username,
- u.org_id,
- u.phone,
- u.create_time,
- u.modified_name,
- u.update_time,
- u.modified_id,
- u.password,
- u.salt,
- u.deleted,
- u.last_ip,
- u.last_time,
- o.name as org_name,
- o.path as org_path,
- u.image,
- u.card,
- u.gender,
- u.job_number,
- u.note,
- u.is_sign,
- u.sign_time,
- u.agreement_id,
- u.sign_version,
- u.approve_status,
- u.locked,
- u.create_by,
- u.update_by,
- u.code,
- u.source,
- u.original_org_id
- from sys_user u
- left join sys_org o on u.original_org_id = o.id
- where 1=1
- <choose>
- <when test="info.checkSub">
- AND o.path like concat('%', #{info.orgPath}, '%')
- </when>
- <otherwise>
- AND o.id = #{info.orgId}
- </otherwise>
- </choose>
- <if test="info.isLock != null and info.isLock != ''">
- AND u.is_lock = #{isLock}
- </if>
- <if test="info.username != null and info.username != ''">
- AND u.username like concat('%', #{info.username}, '%')
- </if>
- <if test="info.params.beginTime != null and info.params.beginTime != ''">
- <!-- 开始时间检索 -->
- AND date_format(u.create_time,'%y%m%d') >= date_format(#{params.beginTime},'%y%m%d')
- </if>
- <if test="info.params.endTime != null and info.params.endTime != ''">
- <!-- 结束时间检索 -->
- AND date_format(u.create_time,'%y%m%d') <= date_format(#{params.endTime},'%y%m%d')
- </if>
- </select>
- </mapper>
|