whycxzp
2021-04-16 5361481d1056f46d9df3c02a0bdb914c97e0db15
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
package com.whyc.controller;
 
import com.whyc.pojo.*;
import com.whyc.service.RoleMenuService;
import com.whyc.service.RolePermissionService;
import com.whyc.service.RoleService;
import com.whyc.service.UserRoleService;
import com.whyc.util.CommonUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
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;
 
    /**=============用户与角色================**/
 
    @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
    @ApiOperation(value = "新增角色")
    public boolean add(@RequestBody Role role){
        return roleService.add(role);
    }
 
    @PostMapping("batch")
    @ApiOperation(value = "批量新增角色")
    public boolean addBatch(@RequestBody List<Role> roles){
        return roleService.addBatch(roles);
    }
 
    /**
     * TODO 采用caffeine重写
     */
    @PostMapping("bindingUserWithRole")
    @ApiOperation(value = "绑定用户和角色")
    @CacheEvict(cacheNames = {"userBridge"},key="'getAuthorizationInfo'+#p0") //清除
    public boolean bindingUserWithRole(@RequestParam int userId,int roleId){
        return userRoleService.bindingUserWithRole(userId,roleId);
    }
 
    /**
     * TODO 采用caffeine重写
     */
    @PostMapping("bindingUserWithRoleBatch")
    @ApiOperation(value = "批量绑定用户和角色",notes = "传入userId和roleId的数组")
    @CacheEvict(cacheNames = {"userBridge"},allEntries = true) //全部清除
    public boolean bindingUserWithRoleBatch(@RequestBody List<UserRole> userRoles){
        return userRoleService.bindingUserWithRoleBatch(userRoles);
    }
 
    /**===============角色与权限================**/
 
    /**
     * TODO 采用caffeine重写
     */
    @PostMapping("bindingRoleWithPermission")
    @ApiOperation(value = "绑定角色-权限")
    @CacheEvict(cacheNames = {"userBridge"},allEntries = true) //全部清除
    public boolean bindingRoleWithPermission(@RequestParam int roleId,int permissionId){
        return rolePermissionService.bindingUserWithRole(roleId,permissionId);
    }
 
    /**
     * TODO 采用caffeine重写
     */
    @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);
        return rolePermissionService.getPermissions(user.getId());
    }
 
    /**==============用户-角色-菜单================**/
 
    @GetMapping("userMenu")
    @ApiOperation(value = "获取当前用户的菜单")
    public List<Menu> getUserMenu(HttpServletRequest request){
        User user = CommonUtil.getUser(request);
        return roleMenuService.getUserMenu(user.getId());
    }
 
 
 
 
}