From 3be1eab6ffb541a4d2fb35cd01ada326abc9a091 Mon Sep 17 00:00:00 2001 From: ire <931903008@qq.com> Date: Tue, 31 Dec 2024 13:47:21 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=92=E8=89=B2=20=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E3=80=81=E4=BF=AE=E6=94=B9=E3=80=81=E6=9F=A5=E8=AF=A2=E6=97=B6?= =?UTF-8?q?=EF=BC=8C=E5=A2=9E=E5=8A=A0=E8=8F=9C=E5=8D=95=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/permission/RoleController.java | 21 +++++++++++++++++-- .../admin/permission/vo/role/RoleRespVO.java | 4 ++++ .../permission/vo/role/RoleSaveReqVO.java | 5 +++++ 3 files changed, 28 insertions(+), 2 deletions(-) diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/RoleController.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/RoleController.java index c667a7ee3..d3ccd1d56 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/RoleController.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/RoleController.java @@ -9,6 +9,7 @@ import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; import cn.iocoder.yudao.module.system.controller.admin.permission.vo.role.*; import cn.iocoder.yudao.module.system.dal.dataobject.permission.RoleDO; +import cn.iocoder.yudao.module.system.service.permission.PermissionService; import cn.iocoder.yudao.module.system.service.permission.RoleService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; @@ -23,6 +24,7 @@ import javax.validation.Valid; import java.io.IOException; import java.util.Comparator; import java.util.List; +import java.util.Set; import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT; import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; @@ -37,18 +39,28 @@ public class RoleController { @Resource private RoleService roleService; + @Resource + private PermissionService permissionService; + @PostMapping("/create") @Operation(summary = "创建角色") @PreAuthorize("@ss.hasPermission('system:role:create')") public CommonResult createRole(@Valid @RequestBody RoleSaveReqVO createReqVO) { - return success(roleService.createRole(createReqVO, null)); + //创建角色 + Long roleId = roleService.createRole(createReqVO, null); + //赋予角色菜单权限 + permissionService.assignRoleMenu(roleId, createReqVO.getMenuIds()); + return success(roleId); } @PutMapping("/update") @Operation(summary = "修改角色") @PreAuthorize("@ss.hasPermission('system:role:update')") public CommonResult updateRole(@Valid @RequestBody RoleSaveReqVO updateReqVO) { + //修改角色 roleService.updateRole(updateReqVO); + //修改角色菜单权限 + permissionService.assignRoleMenu(updateReqVO.getId(), updateReqVO.getMenuIds()); return success(true); } @@ -65,8 +77,13 @@ public class RoleController { @Operation(summary = "获得角色信息") @PreAuthorize("@ss.hasPermission('system:role:query')") public CommonResult getRole(@RequestParam("id") Long id) { + //获取角色信息 RoleDO role = roleService.getRole(id); - return success(BeanUtils.toBean(role, RoleRespVO.class)); + //获取角色的菜单权限 + Set roleMenuListByRoleId = permissionService.getRoleMenuListByRoleId(id); + RoleRespVO roleRespVO = BeanUtils.toBean(role, RoleRespVO.class); + roleRespVO.setMenuIds(roleMenuListByRoleId); + return success(roleRespVO); } @GetMapping("/page") diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/role/RoleRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/role/RoleRespVO.java index 81bad5a4c..2a6409d09 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/role/RoleRespVO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/role/RoleRespVO.java @@ -10,6 +10,7 @@ import lombok.Data; import javax.validation.constraints.NotBlank; import java.time.LocalDateTime; +import java.util.Collections; import java.util.Set; @Schema(description = "管理后台 - 角色信息 Response VO") @@ -56,4 +57,7 @@ public class RoleRespVO { @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "时间戳格式") private LocalDateTime createTime; + @Schema(description = "菜单编号列表", example = "1,3,5") + private Set menuIds = Collections.emptySet(); + } diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/role/RoleSaveReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/role/RoleSaveReqVO.java index ad50ff74f..bd115fdfb 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/role/RoleSaveReqVO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/role/RoleSaveReqVO.java @@ -9,6 +9,8 @@ import lombok.Data; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; +import java.util.Collections; +import java.util.Set; @Schema(description = "管理后台 - 角色创建/更新 Request VO") @Data @@ -45,4 +47,7 @@ public class RoleSaveReqVO { @DiffLogField(name = "备注") private String remark; + @Schema(description = "菜单编号列表", example = "1,3,5") + private Set menuIds = Collections.emptySet(); + }