luodangjia
2024-12-10 ee7ce5d1cbf80bee0a15c1e5bc5eaa30858d812b
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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
<?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.hollywood.manage.authority.mapper.SecUserMapper">
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.hollywood.manage.authority.model.SecUser">
        <id column="id" property="id"/>
        <result column="createBy" property="createBy"/>
        <result column="createTime" property="createTime"/>
        <result column="updateBy" property="updateBy"/>
        <result column="updateTime" property="updateTime"/>
        <result column="isDelete" property="isDelete"/>
        <result column="account" property="account"/>
        <result column="description" property="description"/>
        <result column="password" property="password"/>
        <result column="phone" property="phone"/>
        <result column="state" property="state"/>
        <result column="last_login_time" property="lastLoginTime"/>
        <result column="nick_name" property="nickName"/>
        <result column="avatar_url" property="avatarUrl"/>
        <result column="province" property="province"/>
        <result column="city" property="city"/>
        <result column="area" property="area"/>
        <result column="address" property="address"/>
        <result column="birthday" property="birthday"/>
        <result column="gender" property="gender"/>
    </resultMap>
 
    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List">
        createBy
        ,
        createTime,
        updateBy,
        updateTime,
        isDelete,
        id, account, description, password, phone, `state`, last_login_time AS lastLoginTime,
        nick_name AS nickName, avatar_url AS avatarUrl, province, city, area, address, birthday, gender
    </sql>
 
    <sql id="Base_Column_List_Other">
        su.createBy,
        su.createTime,
        su.updateBy,
        su.updateTime,
        su.isDelete,
        su.id, su.account, su.description, su.password, su.phone, su.`state`, su.last_login_time AS lastLoginTime,
        su.nick_name AS nickName, su.avatar_url AS avatarUrl, su.province, su.city, su.area, su.address, su.birthday, su.gender
    </sql>
 
    <select id="getSecUserList" resultType="com.hollywood.manage.authority.vo.SecUsersVO">
        SELECT
        su.createBy,
        su.createTime,
        su.updateBy,
        su.updateTime,
        su.isDelete,
        su.id,
        su.`account`,
        su.`description`,
        su.`password`,
        su.phone,
        su.state,
        su.last_login_time AS lastLoginTime, su.nick_name AS nickName, su.avatar_url AS avatarUrl, su.province, su.city, su.area, su.address,
        su.birthday, su.gender,sr.id AS roleId,sr.rolename AS rolename
        FROM sec_user su
        LEFT JOIN sec_user_role sur ON su.id = sur.user_id
        LEFT JOIN sec_role sr ON sur.role_id = sr.id
        <where>
            <if test="dto.account != null and dto.account != ''">
                AND su.account LIKE concat('%', #{dto.account,jdbcType=VARCHAR}, '%')
            </if>
            <if test="dto.nickName != null and dto.nickName != ''">
                AND su.nick_name LIKE concat('%', #{dto.nickName,jdbcType=VARCHAR}, '%')
            </if>
            <if test="dto.phone != null and dto.phone != ''">
                AND su.phone LIKE concat('%', #{dto.phone,jdbcType=VARCHAR}, '%')
            </if>
            <if test="dto.rolename != null and dto.rolename != ''">
                AND sr.rolename LIKE concat('%', #{dto.rolename,jdbcType=VARCHAR}, '%')
            </if>
            <if test="dto.state != null">
                AND su.state = #{dto.state}
            </if>
            AND su.isDelete = ${@com.hollywood.common.enums.DisabledEnum@NO.getCode()}
        </where>
        ORDER BY su.createTime DESC
    </select>
 
    <select id="queryLower" resultMap="BaseResultMap">
        select
        <include refid="Base_Column_List">
        </include>
        from sec_user
        <where>
            <if test="query.userType != null and query.userType == 6">
                AND user_type = #{query.userType}
                and personnel_structure_id like concat('%','DR','%')
            </if>
            <if test="query.userType != null and query.userType == 7">
                AND user_type = #{query.userType}
                and personnel_structure_id like concat('%','HC','%')
            </if>
            AND isDelete = ${@com.hollywood.common.enums.DisabledEnum@NO.getCode()}
        </where>
    </select>
    <select id="getUserByRoleId" resultType="com.hollywood.manage.authority.model.SecUser">
        select <include refid="Base_Column_List_Other"></include>
        from sec_user_role sur
                 left join sec_user su on sur.user_id = su.id
        where sur.role_id = #{id,jdbcType=VARCHAR}
          and su.id is not null
    </select>
 
    <delete id="removeById">
        delete
        from sec_user
        where id = #{uid}
    </delete>
</mapper>