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());
|
}
|
|
|
|
|
}
|