完成角色的授权的功能
This commit is contained in:
@@ -1,10 +1,8 @@
|
||||
package cn.iocoder.dashboard.modules.system.controller.permission;
|
||||
|
||||
import cn.iocoder.dashboard.common.enums.CommonStatusEnum;
|
||||
import cn.iocoder.dashboard.common.pojo.CommonResult;
|
||||
import cn.iocoder.dashboard.modules.system.controller.permission.vo.menu.SysMenuCreateReqVO;
|
||||
import cn.iocoder.dashboard.modules.system.controller.permission.vo.menu.SysMenuListReqVO;
|
||||
import cn.iocoder.dashboard.modules.system.controller.permission.vo.menu.SysMenuRespVO;
|
||||
import cn.iocoder.dashboard.modules.system.controller.permission.vo.menu.SysMenuUpdateReqVO;
|
||||
import cn.iocoder.dashboard.modules.system.controller.permission.vo.menu.*;
|
||||
import cn.iocoder.dashboard.modules.system.convert.permission.SysMenuConvert;
|
||||
import cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.permission.SysMenuDO;
|
||||
import cn.iocoder.dashboard.modules.system.service.permission.SysMenuService;
|
||||
@@ -15,6 +13,7 @@ import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
|
||||
import static cn.iocoder.dashboard.common.pojo.CommonResult.success;
|
||||
@@ -30,8 +29,22 @@ public class SysMenuController {
|
||||
@ApiOperation("获取菜单列表")
|
||||
// @PreAuthorize("@ss.hasPermi('system:menu:list')")
|
||||
@GetMapping("/list")
|
||||
public CommonResult<List<SysMenuRespVO>> list(SysMenuListReqVO reqVO) {
|
||||
return success(menuService.listMenus(reqVO));
|
||||
public CommonResult<List<SysMenuRespVO>> listMenus(SysMenuListReqVO reqVO) {
|
||||
List<SysMenuDO> list = menuService.listMenus(reqVO);
|
||||
list.sort(Comparator.comparing(SysMenuDO::getSort));
|
||||
return success(SysMenuConvert.INSTANCE.convertList(list));
|
||||
}
|
||||
|
||||
@ApiOperation(value = "获取菜单精简信息列表", notes = "只包含被开启的菜单,主要用于前端的下拉选项")
|
||||
@GetMapping("/list-all-simple")
|
||||
public CommonResult<List<SysMenuSimpleRespVO>> listSimpleMenus() {
|
||||
// 获得菜单列表,只要开启状态的
|
||||
SysMenuListReqVO reqVO = new SysMenuListReqVO();
|
||||
reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus());
|
||||
List<SysMenuDO> list = menuService.listMenus(reqVO);
|
||||
// 排序后,返回个诶前端
|
||||
list.sort(Comparator.comparing(SysMenuDO::getSort));
|
||||
return success(SysMenuConvert.INSTANCE.convertList02(list));
|
||||
}
|
||||
|
||||
@ApiOperation("获取菜单信息")
|
||||
@@ -42,17 +55,6 @@ public class SysMenuController {
|
||||
return success(SysMenuConvert.INSTANCE.convert(menu));
|
||||
}
|
||||
|
||||
// /**
|
||||
// * 获取菜单下拉树列表
|
||||
// */
|
||||
// @GetMapping("/treeselect")
|
||||
// public AjaxResult treeselect(SysMenu menu) {
|
||||
// LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
|
||||
// Long userId = loginUser.getUser().getUserId();
|
||||
// List<SysMenu> menus = menuService.selectMenuList(menu, userId);
|
||||
// return AjaxResult.success(menuService.buildMenuTreeSelect(menus));
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 加载对应角色菜单列表树
|
||||
// */
|
||||
|
||||
@@ -0,0 +1,62 @@
|
||||
package cn.iocoder.dashboard.modules.system.controller.permission;
|
||||
|
||||
import cn.iocoder.dashboard.common.pojo.CommonResult;
|
||||
import cn.iocoder.dashboard.modules.system.controller.permission.vo.permission.SysPermissionAssignRoleMenuReqVO;
|
||||
import cn.iocoder.dashboard.modules.system.service.permission.SysPermissionService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.Set;
|
||||
|
||||
import static cn.iocoder.dashboard.common.pojo.CommonResult.success;
|
||||
|
||||
/**
|
||||
* 权限 Controller,提供赋予用户、角色的权限的 API 接口
|
||||
*
|
||||
* @author 芋道源码
|
||||
*/
|
||||
@Api(tags = "权限 API")
|
||||
@RestController
|
||||
@RequestMapping("/system/permission")
|
||||
public class SysPermissionController {
|
||||
|
||||
@Resource
|
||||
private SysPermissionService permissionService;
|
||||
|
||||
@ApiOperation("获得角色拥有的菜单编号")
|
||||
@GetMapping("/list-role-resources")
|
||||
@ApiImplicitParam(name = "roleId", value = "角色编号", required = true)
|
||||
// @RequiresPermissions("system:permission:assign-role-menu")
|
||||
public CommonResult<Set<Long>> listRoleMenus(Long roleId) {
|
||||
return success(permissionService.listRoleMenuIds(roleId));
|
||||
}
|
||||
|
||||
@PostMapping("/assign-role-menu")
|
||||
@ApiOperation("赋予角色菜单")
|
||||
// @RequiresPermissions("system:permission:assign-role-resource")
|
||||
public CommonResult<Boolean> assignRoleMenu(@Validated @RequestBody SysPermissionAssignRoleMenuReqVO reqVO) {
|
||||
permissionService.assignRoleMenu(reqVO.getRoleId(), reqVO.getMenuIds());
|
||||
return success(true);
|
||||
}
|
||||
|
||||
// @GetMapping("/list-admin-roles")
|
||||
// @ApiOperation("获得管理员拥有的角色编号列表")
|
||||
//// @RequiresPermissions("system:permission:assign-admin-role")
|
||||
// @ApiImplicitParam(name = "adminId", value = "管理员编号", required = true)
|
||||
// public CommonResult<Set<Integer>> listAdminRoles(Integer adminId) {
|
||||
// return success(permissionManager.listAdminRoles(adminId));
|
||||
// }
|
||||
|
||||
// @PostMapping("/assign-admin-role")
|
||||
// @ApiOperation("赋予用户角色")
|
||||
//// @RequiresPermissions("system:permission:assign-admin-role")
|
||||
// public CommonResult<Boolean> assignAdminRole(PermissionAssignAdminRoleDTO assignAdminRoleDTO) {
|
||||
// permissionManager.assignAdminRole(assignAdminRoleDTO);
|
||||
// return success(true);
|
||||
// }
|
||||
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
package cn.iocoder.dashboard.modules.system.controller.permission.vo.menu;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@ApiModel("菜单精简信息 Response VO")
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class SysMenuSimpleRespVO {
|
||||
|
||||
@ApiModelProperty(value = "菜单编号", required = true, example = "1024")
|
||||
private Integer id;
|
||||
|
||||
@ApiModelProperty(value = "菜单名称", required = true, example = "芋道")
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty(value = "父菜单 ID", required = true, example = "1024")
|
||||
private Long parentId;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
package cn.iocoder.dashboard.modules.system.controller.permission.vo.permission;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.Collections;
|
||||
import java.util.Set;
|
||||
|
||||
@ApiModel("赋予角色菜单 Request VO")
|
||||
@Data
|
||||
public class SysPermissionAssignRoleMenuReqVO {
|
||||
|
||||
@ApiModelProperty(value = "角色名", required = true, example = "1")
|
||||
@NotNull(message = "角色编号不能为空")
|
||||
private Long roleId;
|
||||
|
||||
@ApiModelProperty(value = "菜单编号列表", example = "1,3,5")
|
||||
private Set<Long> menuIds = Collections.emptySet(); // 兜底
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user