<?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.sxkj.system.mapper.UserMapper">
|
|
<!-- 通用查询映射结果 -->
|
<resultMap id="userResultMap" type="org.sxkj.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"/>
|
<result column="expire_time" property="expireTime"/>
|
</resultMap>
|
|
<!--用户自定义列表查询(不展示 admin 超级管理员账号)-->
|
<select id="selectUserPage" resultMap="userResultMap">
|
SELECT
|
u.*,
|
string_agg(r.id::varchar, ',') AS roleId
|
FROM blade_user u
|
INNER JOIN blade_role r
|
ON r.id::varchar = ANY(string_to_array(u.role_id, ','))
|
AND r.is_deleted = 0
|
WHERE u.is_deleted = 0
|
and u.id != 1123598821738675201
|
<if test="tenantId!=null and tenantId != ''">
|
and u.tenant_id = #{tenantId}
|
</if>
|
<if test="user.tenantId!=null and user.tenantId != ''">
|
and u.tenant_id = #{user.tenantId}
|
</if>
|
<if test="user.account!=null and user.account != ''">
|
and u.account like CONCAT('%', #{user.account}, '%')
|
</if>
|
<if test="user.realName!=null and user.realName != ''">
|
and u.real_name like CONCAT('%', #{user.realName}, '%')
|
</if>
|
<if test="user.userType!=null and user.userType != ''">
|
and u.user_type = #{user.userType}
|
</if>
|
<if test="user.sysType!=null and user.sysType != ''">
|
and (u.sys_type = #{user.sysType} or u.sys_type = '0')
|
</if>
|
<if test="deptIdList!=null and deptIdList.size>0">
|
and u.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>
|
GROUP BY u.id
|
ORDER BY u.create_time DESC
|
</select>
|
|
<select id="getUser" resultMap="userResultMap">
|
SELECT
|
*
|
FROM
|
blade_user
|
WHERE
|
tenant_id = #{param1} and account = #{param2} and is_deleted = 0
|
</select>
|
|
<select id="exportUser" resultType="org.sxkj.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>
|
|
<!-- 批量更新用户的 areaCode -->
|
<update id="updateUserAreaCode">
|
UPDATE blade_user
|
SET area_code = #{areaCode}
|
WHERE id IN
|
<foreach collection="userIds" item="id" open="(" separator="," close=")">
|
#{id}
|
</foreach>
|
</update>
|
|
<!-- 根据部门ID查询用户列表 -->
|
<select id="selectUsersByDeptId" resultMap="userResultMap">
|
SELECT *
|
FROM blade_user
|
WHERE dept_id = #{deptId}
|
AND is_deleted = 0
|
</select>
|
|
</mapper>
|