完成用户的角色分配,妥妥的。睡觉~

This commit is contained in:
YunaiV
2021-01-11 00:02:29 +08:00
parent 8921556d75
commit 7f171d14a4
14 changed files with 256 additions and 67 deletions

View File

@@ -3,6 +3,7 @@ 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.SysPermissionAssignRoleDataScopeReqVO;
import cn.iocoder.dashboard.modules.system.controller.permission.vo.permission.SysPermissionAssignRoleMenuReqVO;
import cn.iocoder.dashboard.modules.system.controller.permission.vo.permission.SysPermissionAssignUserRoleReqVO;
import cn.iocoder.dashboard.modules.system.service.permission.SysPermissionService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
@@ -53,22 +54,20 @@ public class SysPermissionController {
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));
// }
@ApiOperation("获得管理员拥有的角色编号列表")
@ApiImplicitParam(name = "userId", value = "用户编号", required = true)
@GetMapping("/list-user-roles")
// @RequiresPermissions("system:permission:assign-user-role")
public CommonResult<Set<Long>> listAdminRoles(@RequestParam("userId") Long userId) {
return success(permissionService.listUserRoleIs(userId));
}
// @PostMapping("/assign-admin-role")
// @ApiOperation("赋予用户角色")
//// @RequiresPermissions("system:permission:assign-admin-role")
// public CommonResult<Boolean> assignAdminRole(PermissionAssignAdminRoleDTO assignAdminRoleDTO) {
// permissionManager.assignAdminRole(assignAdminRoleDTO);
// return success(true);
// }
// system:permission:assign-role-data-scope TODO
@ApiOperation("赋予用户角色")
@PostMapping("/assign-user-role")
// @RequiresPermissions("system:permission:assign-user-role")
public CommonResult<Boolean> assignUserRole(@Validated @RequestBody SysPermissionAssignUserRoleReqVO reqVO) {
permissionService.assignUserRole(reqVO.getUserId(), reqVO.getRoleIds());
return success(true);
}
}

View File

@@ -1,5 +1,6 @@
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.common.pojo.PageResult;
import cn.iocoder.dashboard.modules.system.controller.permission.vo.role.*;
@@ -13,6 +14,9 @@ import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import static cn.iocoder.dashboard.common.pojo.CommonResult.success;
@@ -31,6 +35,16 @@ public class SysRoleController {
return success(roleService.pageRole(reqVO));
}
@ApiOperation(value = "获取角色精简信息列表", notes = "只包含被开启的角色,主要用于前端的下拉选项")
@GetMapping("/list-all-simple")
public CommonResult<List<SysRoleSimpleRespVO>> listSimpleRoles() {
// 获得角色列表,只要开启状态的
List<SysRoleDO> list = roleService.listRoles(Collections.singleton(CommonStatusEnum.ENABLE.getStatus()));
// 排序后,返回个诶前端
list.sort(Comparator.comparing(SysRoleDO::getSort));
return success(SysRoleConvert.INSTANCE.convertList02(list));
}
@ApiOperation("创建角色")
@PostMapping("/create")
// @PreAuthorize("@ss.hasPermi('system:role:add')")
@@ -85,29 +99,4 @@ public class SysRoleController {
return success(true);
}
//
// /**
// * 修改保存数据权限
// */
// @PreAuthorize("@ss.hasPermi('system:role:edit')")
// @Log(title = "角色管理", businessType = BusinessType.UPDATE)
// @PutMapping("/dataScope")
// public AjaxResult dataScope(@RequestBody SysRole role)
// {
// roleService.checkRoleAllowed(role);
// return toAjax(roleService.authDataScope(role));
// }
//
// /**
// * 获取角色选择框列表
// */
// @PreAuthorize("@ss.hasPermi('system:role:query')")
// @GetMapping("/optionselect")
// public AjaxResult optionselect()
// {
// return AjaxResult.success(roleService.selectRoleAll());
// }
}

View File

@@ -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 SysPermissionAssignUserRoleReqVO {
@ApiModelProperty(value = "角色编号", required = true, example = "1")
@NotNull(message = "角色编号不能为空")
private Long userId;
@ApiModelProperty(value = "角色编号列表", example = "1,3,5")
private Set<Long> roleIds = Collections.emptySet(); // 兜底
}

View File

@@ -0,0 +1,21 @@
package cn.iocoder.dashboard.modules.system.controller.permission.vo.role;
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 SysRoleSimpleRespVO {
@ApiModelProperty(value = "角色编号", required = true, example = "1024")
private Integer id;
@ApiModelProperty(value = "角色名称", required = true, example = "芋道")
private String name;
}