whyczh
2021-05-14 b179439062ee4e5160dad7e553d5cdff8714d5fa
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
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
package com.whyc.controller;
 
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.pagehelper.PageInfo;
import com.whyc.dto.Response;
import com.whyc.pojo.*;
import com.whyc.service.*;
import com.whyc.util.CommonUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.shiro.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.annotation.CacheEvict;
import org.springframework.web.bind.annotation.*;
 
import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;
 
@RequestMapping("role")
@RestController
@Slf4j
@Api(value ="role value",tags = "角色相关-用户,权限,菜单")
public class RoleController {
 
    @Autowired
    private RoleService roleService;
 
    @Autowired
    private UserRoleService userRoleService;
 
    @Autowired
    private RolePermissionService rolePermissionService;
 
    @Autowired
    private RoleMenuService roleMenuService;
    @Autowired
    private PermissionService permissionService;
 
    /**=============用户与角色================**/
 
//    @GetMapping("userWithNoRole")
//    @ApiOperation(value = "查询未分配角色的用户")
    public List<User> getUserWithNoRole(){
        return userRoleService.getUserWithNoRole();
    }
 
//    @GetMapping("userWithRole")
//    @ApiOperation(value = "查询分配角色的用户")
    public List<UserRole> getUserWithRole(){
        return userRoleService.getUserWithRole();
    }
 
//    @GetMapping("userWithRoleMap")
//    @ApiOperation(value = "查询分配角色的用户Map")
    public Map<String,List<UserRole>> getUserWithRoleMap(){
        return userRoleService.getUserWithRoleMap();
    }
 
    @GetMapping("roleAll")
    @ApiOperation(value = "查询所有角色")
    public List<Role> getRoleAll(){
        return roleService.getAll();
    }
 
    @PostMapping("search")
    @ApiOperation(value = "查询角色分页-根据筛选条件")
    public Response<PageInfo<Role>> getRoleByCondition(@RequestParam int pageNum, @RequestParam int pageSize, @RequestBody Role role){
        return roleService.getRoleByCondition(pageNum,pageSize,role);
    }
 
    @GetMapping("getUserByRoleId")
    @ApiOperation(value = "通过角色id获取用户信息",notes = "点击权限人员时触发获取")
    public Response<PageInfo<User>> getUserByRoleId(@RequestParam int pageNum,@RequestParam int pageSize,@RequestParam int roleId){
        return userRoleService.getUserByRoleId(pageNum,pageSize,roleId);
    }
 
    @GetMapping("getUsersByRoleId")
    @ApiOperation(value = "获取角色用户信息",notes = "点击添加人员是触发获取")
    public Response getUsersByRoleId(@RequestParam int roleId){
        return userRoleService.getUsersByRoleId(roleId);
    }
    @PutMapping("updateRoleUser")
    @ApiOperation(value = "更新角色用户信息",notes = "配置人员信息保存")
    public Response updateRoleUser(@RequestParam int roleId,@RequestParam int[] userIds){
        return userRoleService.updateRoleUser(roleId,userIds);
    }
 
    @PostMapping
    @ApiOperation(value = "新增角色")
    public Response add(@RequestBody Role role){
        return roleService.add(role);
    }
 
    @PutMapping("updateRole")
    @ApiOperation(value = "更新角色")
    public Response updateRole(@RequestBody Role role){
        return roleService.updateRole(role);
    }
 
    @PutMapping("updateRoleState")
    @ApiOperation(value = "启用/冻结角色")
    public Response updateRoleState(@RequestParam int roleId,@RequestParam int state){
        return roleService.updateRoleState(roleId,state);
    }
    @DeleteMapping("deleteRole")
    @ApiOperation(value = "删除角色")
    public Response deleteRole(@RequestParam int roleId){
        return roleService.deleteRole(roleId);
    }
 
 
 
 
 
 
 
//    @PostMapping("batch")
//    @ApiOperation(value = "批量新增角色")
    public boolean addBatch(@RequestBody List<Role> roles){
        return roleService.addBatch(roles);
    }
 
//    @PostMapping("bindingUserWithRole")
//    @ApiOperation(value = "绑定用户和角色")
//    @CacheEvict(cacheNames = {"userBridge"},key="'getAuthorizationInfo'+#p0") //清除
    public boolean bindingUserWithRole(@RequestParam int userId,int roleId){
        return userRoleService.bindingUserWithRole(userId,roleId);
    }
 
//    @PostMapping("bindingUserWithRoleBatch")
//    @ApiOperation(value = "批量绑定用户和角色",notes = "传入userId和roleId的数组")
//    @CacheEvict(cacheNames = {"userBridge"},allEntries = true) //全部清除
    public boolean bindingUserWithRoleBatch(@RequestBody List<UserRole> userRoles){
        return userRoleService.bindingUserWithRoleBatch(userRoles);
    }
 
    /**===============角色与权限================**/
 
//    @GetMapping("allPermissions")
//    @ApiOperation(value = "获取所有权限")
    public List<Permission> getAllPermissions(HttpServletRequest request){
        return permissionService.getAll();
    }
 
//    @PostMapping("bindingRoleWithPermission")
//    @ApiOperation(value = "绑定角色-权限")
//    @CacheEvict(cacheNames = {"userBridge"},allEntries = true) //全部清除
    public boolean bindingRoleWithPermission(@RequestParam int roleId,int permissionId){
        return rolePermissionService.bindingUserWithRole(roleId,permissionId);
    }
 
//    @PostMapping("bindingRoleWithPermissionBatch")
//    @ApiOperation(value = "批量绑定角色-权限",notes = "传入roleId和privilegeId的数组")
//    @CacheEvict(cacheNames = {"userBridge"},allEntries = true) //全部清除
    public boolean bindingRoleWithPermissionBatch(@RequestBody List<RolePermission> rolePermissions){
        return rolePermissionService.bindingUserWithRoleBatch(rolePermissions);
    }
 
//    @GetMapping("permissions")
//    @ApiOperation(value = "获取当前用户的权限")
    public List<Permission> getPermissions(HttpServletRequest request){
        //User user = CommonUtil.getUser(request);
        User user = (User) SecurityUtils.getSubject().getPrincipal();
        return rolePermissionService.getPermissions(user.getId());
    }
 
    /**==============用户-角色-菜单================**/
 
//    @GetMapping("allMenus")
//    @ApiOperation(value = "获取所有菜单")
    public List<Menu> getAllMenu(){
        return roleMenuService.getAllMenus();
    }
 
    @GetMapping("roleMenu")
    @ApiOperation(value = "获取角色所有菜单")
    public List<Menu> getMenuByRoleId(@RequestParam int roleId){
        return roleMenuService.getRoleMenu(roleId);
    }
 
    @PutMapping("updateRoleMenu")
    @ApiOperation(value = "更新角色菜单")
    public Response updateRoleMenu(@RequestParam int roleId,@RequestParam int[] menuIds){
        return roleMenuService.updateRoleMenu(roleId,menuIds);
    }
 
 
 
 
 
//    @GetMapping("userMenu")
//    @ApiOperation(value = "获取当前用户的菜单")
    public List<Menu> getUserMenu(HttpServletRequest request){
        //User user = CommonUtil.getUser(request);
        User user = (User) SecurityUtils.getSubject().getPrincipal();
        return roleMenuService.getUserMenu(user.getId());
    }
 
 
 
 
}