chenlu
2025-03-07 3ab330b8aefb3cd781c9b8730b4ab7ac65e7e9d7
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
<?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.example.erp.mapper.userInfo.PermissionRoleMapper">
    <select id="getUserPermission">
        select
            concat(
                if(d.page=null || d.page='','',concat(d.page, '.')),
                d.permission
                ) as 'permission'
        from user as a
        left join user_role as e
            on e.user_id = a.id
        left join role as b
            on e.role_id = b.id
        left join permission_role as c
            on b.id = c.role_id
        left join permission_basic d
            on  d.id = c.permission_id
        where a.id = #{loginId}
            and d.state = 1
    </select>
 
    <select id="getUserEditPermission">
        select
            concat(
                    if(d.page=null || d.page='','',concat(d.page, '.')),
                    d.permission
                ) as 'permission'
        <if test="userIsAdmin==false">
        from user as a
                 left join user_role as e
                           on e.user_id = a.id
                 left join role as b
                           on e.role_id = b.id
                 left join permission_role as c
                           on b.id = c.role_id
                 left join permission_basic d
                           on  d.id = c.permission_id
                           and d.permission='edit'
        where a.id = #{loginId}
 
        </if>
        <if test="userIsAdmin==true">
            from permission_basic d
            where d.permission='edit'
        </if>
            and d.state = 1
        group by  d.id
    </select>
    
    <insert id="saveBatch">
        insert into
            permission_role(
                            role_id,
                            permission_id
                            )
        values
        <foreach collection ="permissionRoles" item="permissionRole" separator =",">
            (
                #{permissionRole.roleId},
                #{permissionRole.permissionId}
            )
        </foreach>
 
    </insert>
 
</mapper>