PermissonMapper.java
2.14 KB
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
package com.uccc.admin.mapper;
import com.uccc.admin.domain.Permission;
import com.uccc.admin.domain.Role;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.List;
/**
* Created by bert on 2021-09-13 14:56
*/
public interface PermissonMapper {
static final String PERMISSION_TABLE_NAME_1 = "permissions";
static final String PERMISSION_TABLE_NAME_2 = "role_permission";
@Select({
"<script>",
"select DISTINCT on(rp.permission_id,p.cts) p.id,p.name,p.sub_class, p.parent_id, p.path,p.status,p.cts,r.name as role_name, r.id as role_id from users u ",
"JOIN user_role ur ON u.id = ur.user_id",
"JOIN roles r ON r.id = ur.role_id",
"JOIN role_permission rp ON ur.role_id = rp.role_id ",
"JOIN permissions p ON rp.permission_id = p.id where u.id = #{id} and p.status = 1",
"order by p.cts ASC",
"</script>"
})
List<Permission> selectUserPermission(@Param("id") Long id);
@Select({
"<script>",
"select * from " + PERMISSION_TABLE_NAME_1,
"where type = #{type} or type = 3",
"</script>"
})
List<Permission> selectAllUserPermission(@Param("type") int type);
@Insert({
"<script>",
"insert into " + PERMISSION_TABLE_NAME_2,
"(",
"permission_id, role_id, cts, uts",
")",
"values",
"(",
"#{permissionId}, #{userId}, now(), now()",
")",
"</script>"
})
int createRolePermission(@Param("permissionId") int permissionId, @Param("userId") Long userId);
@Delete("delete from " + PERMISSION_TABLE_NAME_2 + " where role_id = #{roleId}")
int deleteRolePermissionByUserId(@Param("roleId") Long roleId);
@Select({
"<script>",
"select permission_id from " + PERMISSION_TABLE_NAME_2,
"where role_id = #{roleId}",
"</script>",
})
int[] selectPermissionsByRoleId(@Param("roleId") Long roleId);
}