2022-05-20 17:46:03 +08:00
<?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.xhpc.activity.mapper.SysUserMapper" >
<resultMap id= "SysUserResult" type= "com.xhpc.system.api.domain.SysUser" >
<result column= "user_id" property= "userId" />
<result column= "dept_id" property= "deptId" />
<result column= "user_name" property= "userName" />
<result column= "user_type" property= "userType" />
<result column= "nick_name" property= "nickName" />
<result column= "email" property= "email" />
<result column= "phonenumber" property= "phonenumber" />
<result column= "operator_id" property= "operatorId" />
<result column= "internet_user_id" property= "internetUserId" />
<result column= "sex" property= "sex" />
<result column= "avatar" property= "avatar" />
<result column= "password" property= "password" />
<result column= "data_power_type" property= "dataPowerType" />
<result column= "status" property= "status" />
<result column= "del_flag" property= "delFlag" />
<result column= "login_ip" property= "loginIp" />
<result column= "login_date" property= "loginDate" />
<result column= "create_by" property= "createBy" />
<result column= "create_time" property= "createTime" />
<result column= "update_by" property= "updateBy" />
<result column= "update_time" property= "updateTime" />
<result column= "remark" property= "remark" />
<result column= "tenant_id" property= "tenantId" />
<result column= "tenant_name" property= "tenantName" />
<result column= "operator_id" property= "operatorId" />
<association column= "dept_id" property= "dept" javaType= "com.xhpc.system.api.domain.SysDept" resultMap= "deptResult" />
<collection property= "roles" javaType= "java.util.List" resultMap= "RoleResult" />
</resultMap>
<resultMap id= "deptResult" type= "com.xhpc.system.api.domain.SysDept" >
<id property= "deptId" column= "dept_id" />
<result property= "parentId" column= "parent_id" />
<result property= "deptName" column= "dept_name" />
<result property= "orderNum" column= "order_num" />
<result property= "leader" column= "leader" />
<result property= "status" column= "dept_status" />
</resultMap>
<resultMap id= "RoleResult" type= "com.xhpc.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.user_id,
u.dept_id,
u.user_name,
u.nick_name,
u.email,
u.avatar,
u.phonenumber,
u.password,
u.sex,
u.status,
u.del_flag,
u.login_ip,
u.login_date,
u.create_by,
u.create_time,
u.remark,
d.dept_id,
d.parent_id,
d.dept_name,
d.order_num,
d.leader,
d.status as dept_status,
u.data_power_type,
r.role_id,
r.role_name,
r.role_key,
r.role_sort,
r.data_scope,
r.status as role_status,
u.user_type,
u.tenant_id,
u.operator_id,
xop.corp_no corpNo
from sys_user u
left join sys_dept d on u.dept_id = d.dept_id
left join sys_user_role ur on u.user_id = ur.user_id
left join sys_role r on r.role_id = ur.role_id
left join xhpc_operator xop on xop.operator_id = u.operator_id and u.user_type!='00' and u.user_type!='02' and xop.tenant_id=#{tenantId} and xop.del_flag =0
</sql>
2022-05-26 17:04:01 +08:00
<select id= "selectUserByWorkUserId" parameterType= "java.lang.String" resultMap= "SysUserResult" >
<include refid= "selectUserVo" />
left join xhpc_work_user wu on wu.phone=u.phonenumber
where wu.work_user_id = #{workUserId} and u.tenant_id =#{tenantId}
</select>
2022-05-20 17:46:03 +08:00
<select id= "selectUserByUserName" parameterType= "java.lang.String" resultMap= "SysUserResult" >
<include refid= "selectUserVo" />
where u.user_name = #{userName} and u.tenant_id =#{tenantId}
</select>
2022-05-26 17:04:01 +08:00
2022-05-20 17:46:03 +08:00
<select id= "selectUserById" parameterType= "Long" resultMap= "SysUserResult" >
<include refid= "selectUserVo" />
where u.user_id = #{userId}
</select>
<select id= "checkUserNameUnique" parameterType= "java.lang.String" resultType= "int" >
select count(1) from sys_user
where user_name = #{userName}
<if test= "tenantId !=null and tenantId !=''" >
and tenant_id=#{tenantId}
</if>
limit 1
</select>
<select id= "checkPhoneUnique" parameterType= "java.lang.String" resultMap= "SysUserResult" >
select user_id, phonenumber from sys_user
where phonenumber = #{phonenumber}
<if test= "tenantId !=null and tenantId !=''" >
and tenant_id=#{tenantId}
</if>
limit 1
</select>
<select id= "checkEmailUnique" parameterType= "java.lang.String" resultMap= "SysUserResult" >
select user_id, email from sys_user where email = #{email} limit 1
</select>
<insert id= "insertUser" parameterType= "com.xhpc.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= "operatorId != null and operatorId != ''" > operator_id,</if>
<if test= "internetUserId != null and internetUserId != ''" > internet_user_id,</if>
<if test= "dataPowerType != null and dataPowerType != ''" > data_power_type,</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= "tenantId != null and tenantId != ''" > tenant_id,</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= "operatorId != null and operatorId != ''" > #{operatorId},</if>
<if test= "internetUserId != null and internetUserId != ''" > #{internetUserId},</if>
<if test= "dataPowerType != null and dataPowerType != ''" > #{dataPowerType},</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= "tenantId != null and tenantId != ''" > #{tenantId},</if>
<if test= "createBy != null and createBy != ''" > #{createBy},</if>
<if test= "remark != null and remark != ''" > #{remark},</if>
sysdate()
)
</insert>
<update id= "updateUser" parameterType= "com.xhpc.system.api.domain.SysUser" >
update sys_user
<set >
<if test= "deptId != null and deptId != 0" > dept_id = #{deptId},</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= "operatorId != null and operatorId != ''" > operator_id = #{operatorId},</if>
<if test= "internetUserId != null and internetUserId != ''" > internet_user_id = #{internetUserId},</if>
<if test= "dataPowerType != null and dataPowerType != ''" > data_power_type = #{dataPowerType},</if>
<if test= "sex != null and sex != ''" > sex = #{sex},</if>
<if test= "avatar != null and avatar != ''" > avatar = #{avatar},</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>
2022-05-26 17:04:01 +08:00
update_by = sysdate(),
2022-05-20 17:46:03 +08:00
<if test= "remark != null" > remark = #{remark},</if>
<if test= "tenantId != null and ''!=tenantId" > tenant_id = #{tenantId},</if>
update_time = sysdate()
</set>
where user_id = #{userId}
</update>
<update id= "updateUserStatus" parameterType= "com.xhpc.system.api.domain.SysUser" >
update sys_user set status = #{status} where user_id = #{userId}
</update>
<update id= "updateUserAvatar" parameterType= "com.xhpc.system.api.domain.SysUser" >
update sys_user set avatar = #{avatar} where user_name = #{userName}
</update>
<update id= "resetUserPwd" parameterType= "com.xhpc.system.api.domain.SysUser" >
update sys_user set password = #{password} where user_name = #{userName}
</update>
<delete id= "deleteUserById" parameterType= "Long" >
update sys_user
set del_flag = '2'
where user_id = #{userId}
</delete>
<delete id= "deleteUserByIds" parameterType= "Long" >
update sys_user set del_flag = '2' where user_id in
<foreach collection= "array" item= "userId" open= "(" separator= "," close= ")" >
#{userId}
</foreach>
</delete>
</mapper>