houzhongjian
2024-07-23 d9f9ba31913bb9f5053ad78109e8a3c1c00f1e6a
提交 | 用户 | 时间
e7c126 1 package com.iailab.module.system.service.permission;
H 2
3 import com.iailab.framework.common.pojo.PageResult;
4 import com.iailab.module.system.controller.admin.permission.vo.role.RolePageReqVO;
5 import com.iailab.module.system.controller.admin.permission.vo.role.RoleSaveReqVO;
6 import com.iailab.module.system.dal.dataobject.permission.RoleDO;
7
8 import javax.validation.Valid;
9 import java.util.Collection;
10 import java.util.List;
11 import java.util.Set;
12
13 /**
14  * 角色 Service 接口
15  *
16  * @author iailab
17  */
18 public interface RoleService {
19
20     /**
21      * 创建角色
22      *
23      * @param createReqVO 创建角色信息
24      * @param type 角色类型
25      * @return 角色编号
26      */
27     Long createRole(@Valid RoleSaveReqVO createReqVO, Integer type);
28
29     /**
30      * 更新角色
31      *
32      * @param updateReqVO 更新角色信息
33      */
34     void updateRole(@Valid RoleSaveReqVO updateReqVO);
35
36     /**
37      * 删除角色
38      *
39      * @param id 角色编号
40      */
41     void deleteRole(Long id);
42
43     /**
44      * 设置角色的数据权限
45      *
46      * @param id 角色编号
47      * @param dataScope 数据范围
48      * @param dataScopeDeptIds 部门编号数组
49      */
50     void updateRoleDataScope(Long id, Integer dataScope, Set<Long> dataScopeDeptIds);
51
52     /**
53      * 获得角色
54      *
55      * @param id 角色编号
56      * @return 角色
57      */
58     RoleDO getRole(Long id);
59
60     /**
61      * 获得角色,从缓存中
62      *
63      * @param id 角色编号
64      * @return 角色
65      */
66     RoleDO getRoleFromCache(Long id);
67
68     /**
69      * 获得角色列表
70      *
71      * @param ids 角色编号数组
72      * @return 角色列表
73      */
74     List<RoleDO> getRoleList(Collection<Long> ids);
75
76     /**
77      * 获得角色数组,从缓存中
78      *
79      * @param ids 角色编号数组
80      * @return 角色数组
81      */
82     List<RoleDO> getRoleListFromCache(Collection<Long> ids);
83
84     /**
85      * 获得角色列表
86      *
87      * @param statuses 筛选的状态
88      * @return 角色列表
89      */
90     List<RoleDO> getRoleListByStatus(Collection<Integer> statuses);
91
92     /**
93      * 获得所有角色列表
94      *
95      * @return 角色列表
96      */
97     List<RoleDO> getRoleList();
98
99     /**
100      * 获得角色分页
101      *
102      * @param reqVO 角色分页查询
103      * @return 角色分页结果
104      */
105     PageResult<RoleDO> getRolePage(RolePageReqVO reqVO);
106
107     /**
108      * 判断角色编号数组中,是否有管理员
109      *
110      * @param ids 角色编号数组
111      * @return 是否有管理员
112      */
113     boolean hasAnySuperAdmin(Collection<Long> ids);
114
115     /**
116      * 校验角色们是否有效。如下情况,视为无效:
117      * 1. 角色编号不存在
118      * 2. 角色被禁用
119      *
120      * @param ids 角色编号数组
121      */
122     void validateRoleList(Collection<Long> ids);
123
d9f9ba 124     /**
H 125      * 根据角色名获得角色
126      *
127      * @param name 角色编号
128      * @return 角色
129      */
130     RoleDO getRoleByName(String name);
131
132     void insert(RoleDO role);
e7c126 133 }