AdaKing88
2023-08-23 ae35159387a55199e8ab150ebb97d89d68a235bd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
<?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.jeecg.modules.system.mapper.SysUserDepartMapper">
    <select id="getUserDepartByUid" parameterType="String" resultType="org.jeecg.modules.system.entity.SysUserDepart">
        SELECT *
        FROM sys_user_depart
        WHERE user_id = #{userId, jdbcType=VARCHAR}
    </select>
 
    <!-- 查询指定部门下的用户 并且支持用户账号模糊查询 -->
    <select id="queryDepartUserList" resultType="org.jeecg.modules.system.entity.SysUser">
        select a.* from sys_user a
        join sys_user_depart b on b.user_id = a.id
        join sys_depart c on b.dep_id = c.id
        <bind name="bindOrgCode" value="orgCode+'%'"/>
        where a.del_flag = 0 and c.org_code like #{bindOrgCode}
        <if test="realname!=null and realname!=''">
            <!-- update by sunjianlei 20220119【#3348】SQL injection exists in /sys/user/queryUserByDepId;  -->
            <bind name="bindRealname" value="'%'+realname+'%'"/>
            and a.realname like #{bindRealname}
        </if>
    </select>
 
    <!-- 根据部门查询部门用户 分页 -->
    <select id="queryDepartUserPageList" resultType="org.jeecg.modules.system.entity.SysUser">
        select a.*, c.depart_name as org_code_txt from sys_user a
        join sys_user_depart b on b.user_id = a.id
        join sys_depart c on b.dep_id = c.id
        <bind name="bindOrgCode" value="orgCode+'%'"/>
        where a.del_flag = 0 and a.status = 1 and c.org_code like #{bindOrgCode} and a.username!='_reserve_user_external'
        <if test="username!=null and username!=''">
            <bind name="bindUsername" value="'%'+username+'%'"/>
            and a.username like #{bindUsername}
        </if>
        <if test="realname!=null and realname!=''">
            <bind name="bindRealname" value="'%'+realname+'%'"/>
            and a.realname like #{bindRealname}
        </if>
    </select>
 
    <!--获取用户信息(聊天专用)-->
    <select id="getUserInformation" resultType="org.jeecg.modules.system.entity.SysUser">
        select DISTINCT a.* from sys_user a
        left join sys_user_depart b on b.user_id = a.id
        left join sys_depart c on b.dep_id = c.id
        <bind name="bindOrgCode" value="orgCode+'%'"/>
        where
          a.del_flag = 0 and a.status = 1
          and c.org_code like #{bindOrgCode}
          and a.username!='_reserve_user_external'
          and a.id !=#{userId}
        <if test="keyword!=null and keyword!=''">
            <bind name="bindKeyword" value="'%'+keyword+'%'"/>
            and (a.username like #{bindKeyword} or a.realname like #{bindKeyword})
        </if>
    </select>
</mapper>