tj
2025-06-05 2d549a04870d1315868a7cf19952b64e8071e711
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
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
package com.cloudroam.service;
 
import com.cloudroam.bo.GroupPermissionBO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.cloudroam.dto.admin.DispatchPermissionDTO;
import com.cloudroam.dto.admin.DispatchPermissionsDTO;
import com.cloudroam.dto.admin.NewGroupDTO;
import com.cloudroam.dto.admin.RemovePermissionsDTO;
import com.cloudroam.dto.admin.ResetPasswordDTO;
import com.cloudroam.dto.admin.UpdateGroupDTO;
import com.cloudroam.dto.admin.UpdateUserInfoDTO;
import com.cloudroam.model.GroupDO;
import com.cloudroam.model.PermissionDO;
import com.cloudroam.model.UserDO;
 
import java.util.List;
import java.util.Map;
 
/**
 * @author 
 * @author 
 * 管理员服务接口
 */
public interface AdminService {
 
    /**
     * 通过分组id分页获取用户数据
     *
     * @param groupId 分组id
     * @param count   当前页数目
     * @param page    当前分页
     * @return 用户数据
     */
    IPage<UserDO> getUserPageByGroupId(Integer groupId, Integer count, Integer page);
 
    /**
     * 修改用户密码(重置用户密码)
     *
     * @param id  用户id
     * @param dto 密码信息
     * @return 是否修改成功
     */
    boolean changeUserPassword(Integer id, ResetPasswordDTO dto);
 
    /**
     * 删除用户
     *
     * @param id 用户id
     * @return 是否删除成功
     */
    boolean deleteUser(Integer id);
 
    /**
     * 更新用户信息
     *
     * @param id  用户id
     * @param dto 数据信息
     * @return 是否成功
     */
    boolean updateUserInfo(Integer id, UpdateUserInfoDTO dto);
 
    /**
     * 分页获取分组数据
     *
     * @param page  当前页
     * @param count 当前页数量
     * @return 分组数据
     */
    IPage<GroupDO> getGroupPage(Integer page, Integer count);
 
    /**
     * 获得分组数据
     *
     * @param id 分组id
     * @return 分组数据
     */
    GroupPermissionBO getGroup(Integer id);
 
    /**
     * 新建分组
     *
     * @param dto 分组信息
     * @return 是否成功
     */
    boolean createGroup(NewGroupDTO dto);
 
    /**
     * 更新分组
     *
     * @param id  分组id
     * @param dto 分组信息
     * @return 是否成功
     */
    boolean updateGroup(Integer id, UpdateGroupDTO dto);
 
    /**
     * 删除分组
     *
     * @param id 分组id
     * @return 是否成功
     */
    boolean deleteGroup(Integer id);
 
    /**
     * 分配权限
     *
     * @param dto 数据
     * @return 是否成功
     */
    boolean dispatchPermission(DispatchPermissionDTO dto);
 
    /**
     * 分配权限
     *
     * @param dto 数据
     * @return 是否成功
     */
    boolean dispatchPermissions(DispatchPermissionsDTO dto);
 
    /**
     * 删除权限
     *
     * @param dto 数据
     * @return 是否成功
     */
    boolean removePermissions(RemovePermissionsDTO dto);
 
    /**
     * 获得所有分组信息
     */
    List<GroupDO> getAllGroups();
 
    /**
     * 获得所有权限信息
     */
    List<PermissionDO> getAllPermissions();
 
    /**
     * 获得结构化的权限信息
     */
    Map<String, List<PermissionDO>> getAllStructuralPermissions();
 
    /**
     * 根据分组id获取分组下的id
     * @param id
     * @return
     */
    List<UserDO> getGroupsUserList(Integer id);
 
    /**
     * 根据分组下id,员工状态获取用户
     * @param id
     * @param staffStatus
     * @return
     */
    List<UserDO> getGroupsUserListOnJob(Integer id);
}