<?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.vincent.rsf.server.system.mapper.UserMapper">
|
|
<select id="selectPageRel" resultType="com.vincent.rsf.server.system.entity.User">
|
select
|
DISTINCT su.*
|
from sys_user su
|
left join sys_dept sd on su.dept_id = sd.id
|
left join sys_user_role sur on sur.user_id = su.id
|
where 1=1
|
and su.deleted = 0
|
|
<if test="param.deptId != null">
|
and (FIND_IN_SET(#{param.deptId}, sd.`path`) OR sd.`id` = #{param.deptId})
|
</if>
|
|
<if test="param.roleIds != null and param.roleIds.size > 0">
|
and sur.role_id in
|
<foreach collection="param.roleIds" item="item" index="idx" separator="," open="(" close=")">
|
#{item}
|
</foreach>
|
</if>
|
|
<if test="param.username != null">
|
and su.username like concat('%',#{param.username},'%')
|
</if>
|
<if test="param.nickname != null">
|
and su.nickname like concat('%',#{param.nickname},'%')
|
</if>
|
<if test="param.code != null">
|
and su.code like concat('%',#{param.code},'%')
|
</if>
|
<if test="param.phone != null">
|
and su.phone like concat('%',#{param.phone},'%')
|
</if>
|
<if test="param.email != null">
|
and su.email like concat('%',#{param.email},'%')
|
</if>
|
<if test="param.sex != null">
|
and su.sex = #{param.sex}
|
</if>
|
<if test="param.status != null">
|
and su.status = #{param.status}
|
</if>
|
<if test="param.realName != null">
|
and su.real_name like concat('%',#{param.realName},'%')
|
</if>
|
<if test="param.idCard != null">
|
and su.id_card like concat('%',#{param.idCard},'%')
|
</if>
|
<if test="param.memo != null">
|
and su.memo = like concat('%',#{param.memo},'%')
|
</if>
|
<if test="param.condition != null">
|
and (
|
su.username like concat('%',#{param.condition},'%')
|
or su.nickname like concat('%',#{param.condition},'%')
|
or su.phone like concat('%',#{param.condition},'%')
|
or su.code like concat('%',#{param.condition},'%')
|
or su.email like concat('%',#{param.condition},'%')
|
or su.real_name like concat('%',#{param.condition},'%')
|
or su.id_card like concat('%',#{param.condition},'%')
|
)
|
</if>
|
<if test="param.timeStart != null">
|
and su.create_time >= #{param.timeStart}
|
</if>
|
<if test="param.timeEnd != null">
|
and su.create_time < #{param.timeEnd}
|
</if>
|
<if test="param.orderBy != null and param.orderBy != '' ">
|
order by su.${param.orderBy}
|
</if>
|
</select>
|
|
<select id="selectByUsernameWithoutTenant" resultType="com.vincent.rsf.server.system.entity.User">
|
select * from sys_user
|
where 1=1
|
and deleted = 0
|
and username = #{username}
|
<if test="tenantId != null">
|
AND tenant_id = #{tenantId}
|
</if>
|
</select>
|
|
<select id="selectByEmailWithoutTenant" resultType="com.vincent.rsf.server.system.entity.User">
|
select * from sys_user
|
where 1=1
|
and deleted = 0
|
and email = #{email}
|
<if test="tenantId != null">
|
AND tenant_id = #{tenantId}
|
</if>
|
</select>
|
|
</mapper>
|