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 getUserWithNoRole(){ return userRoleService.getUserWithNoRole(); } @GetMapping("userWithRole") @ApiOperation(value = "查询分配角色的用户") public List getUserWithRole(){ return userRoleService.getUserWithRole(); } @GetMapping("userWithRoleMap") @ApiOperation(value = "查询分配角色的用户Map") public Map> getUserWithRoleMap(){ return userRoleService.getUserWithRoleMap(); } @GetMapping("roleAll") @ApiOperation(value = "查询所有角色") public List 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 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 userRoles){ return userRoleService.bindingUserWithRoleBatch(userRoles); } /**===============角色与权限================**/ @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 rolePermissions){ return rolePermissionService.bindingUserWithRoleBatch(rolePermissions); } @GetMapping("permissions") @ApiOperation(value = "获取当前用户的权限") public List getPermissions(HttpServletRequest request){ User user = CommonUtil.getUser(request); return rolePermissionService.getPermissions(user.getId()); } /**==============用户-角色-菜单================**/ @GetMapping("userMenu") @ApiOperation(value = "获取当前用户的菜单") public List getUserMenu(HttpServletRequest request){ User user = CommonUtil.getUser(request); return roleMenuService.getUserMenu(user.getId()); } }