<?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="org.opengauss.admin.system.mapper.SysUserMapper">
<resultMap id="SysUserResult" type="org.opengauss.admin.common.core.domain.entity.SysUser">
<id property="userId" column="user_id"/>
<result property="userName" column="user_name"/>
<result property="nickName" column="nick_name"/>
<result property="password" column="password"/>
<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="status" column="status"/>
<result property="roleName" column="role_name"/>
<result property="updatePwd" column="update_pwd"/>
</resultMap>
<select id="selectUserVo" parameterType="org.opengauss.admin.common.core.domain.entity.SysUser" resultMap="SysUserResult">
SELECT
u.user_id,
u.user_name,
u.nick_name,
u.avatar,
u.password,
u.sex,
u.status,
u.del_flag,
u.login_ip,
u.login_date,
u.create_by,
u.create_time,
u.remark,
u.update_pwd,
r.role_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_user_role ur ON u.user_id = ur.user_id
LEFT JOIN sys_role r ON r.role_id = ur.role_id
WHERE
${ew.getSqlSegment}
</select>
<select id="selectUserList" parameterType="org.opengauss.admin.common.core.domain.entity.SysUser" resultMap="SysUserResult">
SELECT
u.user_id,
u.nick_name,
u.user_name,
u.avatar,
u.password,
u.sex,
u.status,
u.del_flag,
u.login_ip,
u.login_date,
u.create_by,
u.create_time,
u.remark,
sr.role_name
FROM sys_user u left join sys_user_role sur on u.user_id = sur.user_id
left join sys_role sr on sur.role_id = sr.role_id
where u.del_flag = '0'
<if test="entity.userName != null and entity.userName != ''">
AND (u.user_name like concat('%', #{entity.userName}, '%') or u.nick_name like concat('%', #{entity.userName}, '%') )
</if>
<if test="entity.status != null and entity.status != ''">
AND u.status = #{entity.status}
</if>
<if test="entity.params.beginTime != null and entity.params.beginTime != ''">
AND date_format(u.create_time,'%y%m%d') >= date_format(#{entity.params.beginTime},'%y%m%d')
</if>
<if test="entity.params.endTime != null and entity.params.endTime != ''">
AND date_format(u.create_time,'%y%m%d') <= date_format(#{entity.params.endTime},'%y%m%d')
</if>
${entity.params.dataScope}
</select>
<select id="selectRoleIdsByUserId" parameterType="java.lang.Long" resultType="java.lang.Long">
SELECT
role_id
FROM sys_user_role
WHERE user_id = #{userId}
</select>
</mapper>