Helius
2021-09-26 c2a08e408b08e21a7595eaeaaf8483c5df030d24
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
<?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="cc.mrbird.febs.system.mapper.RoleMapper">
    <resultMap id="roleMap" type="cc.mrbird.febs.system.entity.Role">
        <result column="ROLE_ID" jdbcType="DECIMAL" property="roleId" />
        <result column="ROLE_NAME" jdbcType="VARCHAR" property="roleName" />
        <result column="REMARK" jdbcType="VARCHAR" property="remark" />
        <result column="CREATE_TIME" jdbcType="TIMESTAMP" property="createTime" />
        <result column="MODIFY_TIME" jdbcType="TIMESTAMP" property="modifyTime" />
    </resultMap>
 
    <select id="findUserRole" resultMap="roleMap">
        SELECT
            r.*
        FROM
            t_role r
        LEFT JOIN t_user_role ur ON (r.role_id = ur.role_id)
        LEFT JOIN t_user u ON (u.user_id = ur.user_id)
        WHERE
            u.username = #{username}
    </select>
 
    <select id="countRole" parameterType="role" resultType="Long">
        SELECT
        COUNT(1)
        FROM
        t_role r
        WHERE 1 = 1
        <if test="role.roleName != null and role.roleName != ''">
            AND r.role_name like CONCAT('%',#{role.roleName},'%')
        </if>
    </select>
 
    <select id="findRolePage" parameterType="role" resultType="role">
        SELECT
            r.role_id roleId,
            r.role_name roleName,
            r.remark,
            r.create_time createTime,
            r.modify_time modifyTime,
            GROUP_CONCAT( rm.menu_id ) menuIds
        FROM
            t_role r
                LEFT JOIN t_role_menu rm ON ( r.role_id = rm.role_id )
        WHERE 1 = 1
        <if test="role.roleName != null and role.roleName != ''">
            AND r.role_name like CONCAT('%',#{role.roleName},'%')
        </if>
        GROUP BY
        r.role_id
    </select>
</mapper>