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 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("search") @ApiOperation(value = "查询角色分页-根据筛选条件") public Response> getRoleByCondition(@RequestParam int pageNum, @RequestParam int pageSize, @RequestBody Role role){ return roleService.getRoleByCondition(pageNum,pageSize,role); } @GetMapping("getUserByRoleId") @ApiOperation(value = "通过角色id获取用户信息",notes = "点击权限人员时触发获取") public Response> 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,@RequestBody 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 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); } /**===============角色与权限================**/ // @GetMapping("allPermissions") // @ApiOperation(value = "获取所有权限") public List 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 rolePermissions){ return rolePermissionService.bindingUserWithRoleBatch(rolePermissions); } // @GetMapping("permissions") // @ApiOperation(value = "获取当前用户的权限") public List 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 getAllMenu(){ return roleMenuService.getAllMenus(); } @GetMapping("roleMenu") @ApiOperation(value = "获取角色所有菜单") public List getMenuByRoleId(@RequestParam int roleId){ return roleMenuService.getRoleMenu(roleId); } @PutMapping("updateRoleMenu") @ApiOperation(value = "更新角色菜单") public Response updateRoleMenu(@RequestParam int roleId,@RequestBody int[] menuIds){ return roleMenuService.updateRoleMenu(roleId,menuIds); } // @GetMapping("userMenu") // @ApiOperation(value = "获取当前用户的菜单") public List getUserMenu(HttpServletRequest request){ //User user = CommonUtil.getUser(request); User user = (User) SecurityUtils.getSubject().getPrincipal(); return roleMenuService.getUserMenu(user.getId()); } }