<?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.springblade.modules.system.mapper.UserMapper">
|
|
<!-- 通用查询映射结果 -->
|
<resultMap id="userResultMap" type="org.springblade.modules.system.entity.User">
|
<result column="id" property="id"/>
|
<result column="tenant_id" property="tenantId"/>
|
<result column="create_user" property="createUser"/>
|
<result column="create_time" property="createTime"/>
|
<result column="update_user" property="updateUser"/>
|
<result column="update_time" property="updateTime"/>
|
<result column="status" property="status"/>
|
<result column="is_deleted" property="isDeleted"/>
|
<result column="code" property="code"/>
|
<result column="user_type" property="userType"/>
|
<result column="account" property="account"/>
|
<result column="password" property="password"/>
|
<result column="name" property="name"/>
|
<result column="real_name" property="realName"/>
|
<result column="email" property="email"/>
|
<result column="phone" property="phone"/>
|
<result column="birthday" property="birthday"/>
|
<result column="sex" property="sex"/>
|
<result column="role_id" property="roleId"/>
|
<result column="dept_id" property="deptId"/>
|
<result column="post_id" property="postId"/>
|
</resultMap>
|
|
<select id="selectUserPage" resultMap="userResultMap">
|
select * from blade_user where is_deleted = 0
|
and id != 1123598821738675201
|
<if test="tenantId!=null and tenantId != ''">
|
and tenant_id = #{tenantId}
|
</if>
|
<if test="user.tenantId!=null and user.tenantId != ''">
|
and tenant_id = #{user.tenantId}
|
</if>
|
<if test="user.account!=null and user.account != ''">
|
and account like concat('%', #{user.account},'%')
|
</if>
|
<if test="user.realName!=null and user.realName != ''">
|
and real_name like concat('%',#{user.realName},'%')
|
</if>
|
<if test="user.name!=null and user.name != ''">
|
and name like concat('%',#{user.name},'%')
|
</if>
|
<if test="user.userType!=null and user.userType != ''">
|
and user_type = #{user.userType}
|
</if>
|
<if test="deptIdList!=null and deptIdList.size>0">
|
and id in (
|
SELECT
|
user_id
|
FROM
|
blade_user_dept
|
WHERE
|
dept_id IN
|
<foreach collection="deptIdList" index="index" item="item" open="(" separator="," close=")">
|
#{item}
|
</foreach>
|
)
|
</if>
|
ORDER BY create_time desc
|
</select>
|
|
<select id="getUser" resultMap="userResultMap">
|
SELECT
|
*
|
FROM
|
blade_user
|
WHERE
|
tenant_id = #{param1} and account = #{param2} and password = #{param3} and is_deleted = 0
|
</select>
|
|
<select id="exportUser" resultType="org.springblade.modules.system.excel.UserExcel">
|
SELECT id, tenant_id, user_type, account, name, real_name, email, phone, birthday, role_id, dept_id, post_id FROM blade_user ${ew.customSqlSegment}
|
</select>
|
|
<!--按条件查询用户信息-->
|
<select id="getUserListByParam" resultType="org.springblade.modules.system.vo.UserVO">
|
SELECT id, account, name, real_name, phone, role_id, dept_id, post_id FROM blade_user
|
where is_deleted = 0
|
<if test="user.roleId!=null and user.roleId!=''">
|
and role_id like concat('%',#{user.roleId},'%')
|
</if>
|
</select>
|
|
<select id="searchUserByDistrictId" resultType="org.springblade.modules.system.entity.User">
|
SELECT
|
bu.*
|
FROM
|
blade_user bu
|
LEFT JOIN jczz_household jh ON bu.id = jh.associated_user_id
|
LEFT JOIN jczz_doorplate_address jda ON jda.address_code = jh.house_code
|
LEFT JOIN jczz_district jd on jd.aoi_code=jda.aoi_code
|
WHERE
|
jd.id = #{districtId}
|
and bu.is_deleted = '0'
|
and jh.is_deleted = '0'
|
and jh.role_type = '1'
|
</select>
|
|
<!--根据手机号查询对应账号和手机号的用户信息-->
|
<select id="getUserListByPhoneOrAccount" resultType="org.springblade.modules.system.entity.User">
|
SELECT * FROM blade_user where is_deleted = 0
|
and (account = #{phoneNumber} or phone = #{phoneNumber})
|
</select>
|
|
<!--用户详情map-->
|
<resultMap id="selectUserDetailMap" type="org.springblade.modules.system.vo.UserDetailVO" autoMapping="true">
|
<id property="id" column="id"/>
|
<collection property="deptList" javaType="java.util.List"
|
ofType="org.springblade.modules.system.vo.DeptDetailVO" autoMapping="true">
|
<id property="id" column="cid"/>
|
<id property="level" column="region_level"/>
|
</collection>
|
</resultMap>
|
|
<!--用户详情接口-->
|
<select id="getUserInfo" resultMap="selectUserDetailMap">
|
SELECT
|
bu.*,
|
bd.id as cid,bd.parent_id,bd.ancestors,bd.dept_category,bd.dept_name,bd.full_name,bd.sort,bd.region_code,
|
br.region_level
|
FROM blade_user bu
|
left join blade_user_dept bud on bud.user_id = bu.id
|
left join blade_dept bd on bud.dept_id = bd.id and bd.is_deleted = 0
|
left join blade_region br on br.code = bd.region_code
|
where bu.is_deleted = 0
|
and bu.id = #{userId}
|
</select>
|
|
|
<select id="searchUserById" resultType="org.springblade.modules.system.vo.UserVO">
|
select
|
id userId,
|
tenant_id,
|
code,
|
user_type,
|
account,
|
name,
|
real_name,
|
avatar,
|
email,
|
phone,
|
birthday,
|
sex,
|
role_id,
|
dept_id,
|
post_id,
|
create_user,
|
create_dept,
|
create_time,
|
update_user,
|
update_time,
|
status,
|
is_deleted
|
from
|
blade_user
|
where
|
id = #{id}
|
</select>
|
|
<select id="getUserInfoByDistrictId"
|
resultType="org.flowable.idm.engine.impl.persistence.entity.UserEntity">
|
SELECT
|
bu.id,
|
bu.tenant_id,
|
bu.code,
|
bu.user_type,
|
bu.account,
|
bu.name,
|
bu.real_name,
|
bu.avatar,
|
bu.email,
|
bu.phone,
|
bu.birthday
|
FROM
|
blade_user bu
|
LEFT JOIN jczz_household jh ON bu.id = jh.associated_user_id
|
LEFT JOIN jczz_house jhe ON jhe.house_code = jh.house_code
|
LEFT JOIN jczz_district jd on jd.aoi_code=jhe.district_code
|
<where>
|
<if test="districtId != null and districtId != ''">
|
and jd.id = #{districtId}
|
and bu.is_deleted = 0
|
</if>
|
<if test="building != null and building != ''">
|
and jhe.building=#{building}
|
</if>
|
|
</where>
|
|
</select>
|
|
<!--查询没有匹配的数据-->
|
<select id="getNotBindUserDept" resultType="org.springblade.modules.system.entity.User">
|
select bu.* from blade_user bu
|
left join blade_user_dept bud on bu.id = bud.user_id
|
where bu.is_deleted = 0 and bud.id is null
|
and bu.dept_id!=''
|
</select>
|
<select id="getUserListByDeptIds" resultType="org.springblade.modules.system.entity.User">
|
SELECT * FROM blade_user bu where is_deleted = 0
|
and dept_id in
|
<foreach collection="deptIds.split(',')" item="item" open="(" close=")" separator=",">
|
#{item}
|
</foreach>
|
</select>
|
|
<select id="getUserInfoByPropertyId" resultType="org.springblade.modules.system.entity.User"
|
parameterType="java.lang.String">
|
SELECT
|
*
|
FROM
|
blade_user bu
|
WHERE
|
bu.role_id = #{roleId}
|
and bu.dept_id IN (
|
SELECT
|
id
|
FROM
|
( SELECT id, parent_id FROM blade_dept ORDER BY parent_id, id ) org_query,
|
(SELECT @id := #{deptId} ) initialisation
|
WHERE
|
(FIND_IN_SET( parent_id, @id ) > 0 or FIND_IN_SET( id, @id ) > 0)
|
AND @id := CONCAT( @id, ',', id )
|
)
|
|
</select>
|
<select id="getUserInfoByDistrictIds" resultType="org.springblade.modules.system.entity.User">
|
|
SELECT
|
bu.id,
|
bu.tenant_id,
|
bu.code,
|
bu.user_type,
|
bu.account,
|
bu.name,
|
bu.real_name,
|
bu.avatar,
|
bu.email,
|
bu.phone,
|
bu.birthday
|
FROM
|
blade_user bu
|
LEFT JOIN jczz_household jh ON bu.id = jh.associated_user_id and jh.is_deleted=0
|
LEFT JOIN jczz_house jhe ON jhe.house_code = jh.house_code
|
LEFT JOIN jczz_district jd on jd.aoi_code=jhe.district_code
|
<where>
|
and jd.id in
|
<foreach collection="list" index="index" item="item" open="(" separator="," close=")">
|
#{item}
|
</foreach>
|
and bu.is_deleted = 0
|
</where>
|
</select>
|
|
|
<select id="selectUserByDept" resultMap="userResultMap">
|
select * from blade_user where is_deleted = 0
|
and id != 1123598821738675201
|
<if test="deptIdList!=null and deptIdList.size>0">
|
and id in (
|
SELECT
|
user_id
|
FROM
|
blade_user_dept
|
WHERE
|
dept_id IN
|
<foreach collection="deptIdList" index="index" item="item" open="(" separator="," close=")">
|
#{item}
|
</foreach>
|
)
|
</if>
|
ORDER BY create_time desc
|
</select>
|
|
|
</mapper>
|