package com.whyc.controller;
|
|
import com.whyc.dto.Response;
|
import com.whyc.pojo.Menu;
|
import com.whyc.pojo.RoleMenu;
|
import com.whyc.pojo.User;
|
import com.whyc.service.RoleMenuService;
|
import com.whyc.util.CommonUtil;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestParam;
|
import org.springframework.web.bind.annotation.RestController;
|
|
import javax.annotation.Resource;
|
import javax.servlet.http.HttpServletRequest;
|
import java.util.List;
|
|
/**
|
* 角色和菜单是一对一的
|
* 用户和角色是一对一的
|
* 每个用户登录后,会获得对应的菜单列表
|
* 而管理员可以设置和获取所有用户的菜单列表
|
* 而非管理员只能看到自己的
|
*/
|
@RequestMapping("roleMenu")
|
@RestController
|
@Api(tags = "角色-菜单")
|
public class RoleMenuController {
|
|
@Resource
|
private RoleMenuService service;
|
|
@GetMapping("menuByRoleId")
|
@ApiOperation(value = "查询角色对应的菜单")
|
public Response getMenuByRoleId(@RequestParam Integer roleId){
|
List<Menu> roleMenus = service.getMenuByRoleId(roleId,1);
|
|
return new Response().set(1,roleMenus);
|
}
|
|
@GetMapping("allMenuByRoleId")
|
@ApiOperation(value = "查询角色对应所有状态的菜单")
|
public Response getAllMenuByRoleId(@RequestParam Integer roleId){
|
List<Menu> roleMenus = service.getMenuByRoleId(roleId,null);
|
|
return new Response().set(1,roleMenus);
|
}
|
|
@GetMapping("currentUserMenu")
|
@ApiOperation(value = "获取当前用户的菜单")
|
public Response getCurrentUserMenu(HttpServletRequest request){
|
Integer roleId = CommonUtil.getUser(request).getRoleId();
|
List<Menu> roleMenus = service.getMenuByRoleId(roleId,1);
|
|
return new Response().set(1,roleMenus);
|
}
|
|
}
|