diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysRole.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysRole.java index 5c557cc22..428589868 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysRole.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysRole.java @@ -9,8 +9,6 @@ import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; -import java.util.Set; - /** * 角色表 sys_role * @@ -81,24 +79,6 @@ public class SysRole extends BaseEntity { @TableField(exist = false) private boolean flag = false; - /** - * 菜单组 - */ - @TableField(exist = false) - private Long[] menuIds; - - /** - * 部门组(数据权限) - */ - @TableField(exist = false) - private Long[] deptIds; - - /** - * 角色菜单权限 - */ - @TableField(exist = false) - private Set permissions; - public SysRole(Long roleId) { this.roleId = roleId; } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/bo/SysRoleBo.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/bo/SysRoleBo.java index 64597572e..7ca4ab654 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/bo/SysRoleBo.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/bo/SysRoleBo.java @@ -3,11 +3,12 @@ package com.ruoyi.system.domain.bo; import com.ruoyi.common.core.constant.UserConstants; import com.ruoyi.common.core.validate.AddGroup; import com.ruoyi.common.core.validate.EditGroup; +import com.ruoyi.common.mybatis.core.domain.BaseEntity; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; import lombok.Data; import lombok.EqualsAndHashCode; -import jakarta.validation.constraints.*; - -import com.ruoyi.common.mybatis.core.domain.BaseEntity; import lombok.NoArgsConstructor; /** @@ -72,6 +73,16 @@ public class SysRoleBo extends BaseEntity { */ private String remark; + /** + * 菜单组 + */ + private Long[] menuIds; + + /** + * 部门组(数据权限) + */ + private Long[] deptIds; + public SysRoleBo(Long roleId) { this.roleId = roleId; } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/SysRoleVo.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/SysRoleVo.java index 3e0414234..c7d2a61a5 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/SysRoleVo.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/SysRoleVo.java @@ -10,7 +10,6 @@ import lombok.Data; import java.io.Serial; import java.io.Serializable; import java.util.Date; -import java.util.Set; /** * 角色信息视图对象 sys_role @@ -91,11 +90,6 @@ public class SysRoleVo implements Serializable { */ private boolean flag = false; - /** - * 角色菜单权限 - */ - private Set permissions; - public boolean isAdmin() { return UserConstants.SUPER_ADMIN_ID.equals(this.roleId); } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/SysPermissionService.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/SysPermissionService.java index c457bc00f..a511f8477 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/SysPermissionService.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/SysPermissionService.java @@ -1,12 +1,9 @@ package com.ruoyi.system.service; -import cn.hutool.core.collection.CollUtil; -import com.ruoyi.system.domain.vo.SysRoleVo; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import java.util.HashSet; -import java.util.List; import java.util.Set; /** @@ -52,17 +49,7 @@ public class SysPermissionService { if (isAdmin) { perms.add("*:*:*"); } else { - List roles = roleService.selectRolesByUserId(userId); - if (CollUtil.isNotEmpty(roles)) { - // 多角色设置permissions属性,以便数据权限匹配权限 - for (SysRoleVo role : roles) { - Set rolePerms = menuService.selectMenuPermsByRoleId(role.getRoleId()); - role.setPermissions(rolePerms); - perms.addAll(rolePerms); - } - } else { - perms.addAll(menuService.selectMenuPermsByUserId(userId)); - } + perms.addAll(menuService.selectMenuPermsByUserId(userId)); } return perms; } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java index 2fd46ef02..178728181 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java @@ -234,7 +234,7 @@ public class SysRoleServiceImpl implements ISysRoleService { SysRole role = BeanUtil.toBean(bo, SysRole.class); // 新增角色信息 baseMapper.insert(role); - return insertRoleMenu(role); + return insertRoleMenu(bo); } /** @@ -251,7 +251,7 @@ public class SysRoleServiceImpl implements ISysRoleService { baseMapper.updateById(role); // 删除角色与菜单关联 roleMenuMapper.delete(new LambdaQueryWrapper().eq(SysRoleMenu::getRoleId, role.getRoleId())); - return insertRoleMenu(role); + return insertRoleMenu(bo); } /** @@ -281,7 +281,7 @@ public class SysRoleServiceImpl implements ISysRoleService { // 删除角色与部门关联 roleDeptMapper.delete(new LambdaQueryWrapper().eq(SysRoleDept::getRoleId, role.getRoleId())); // 新增角色和部门信息(数据权限) - return insertRoleDept(role); + return insertRoleDept(bo); } /** @@ -289,7 +289,7 @@ public class SysRoleServiceImpl implements ISysRoleService { * * @param role 角色对象 */ - public int insertRoleMenu(SysRole role) { + public int insertRoleMenu(SysRoleBo role) { int rows = 1; // 新增用户与角色管理 List list = new ArrayList(); @@ -310,7 +310,7 @@ public class SysRoleServiceImpl implements ISysRoleService { * * @param role 角色对象 */ - public int insertRoleDept(SysRole role) { + public int insertRoleDept(SysRoleBo role) { int rows = 1; // 新增角色与部门(数据权限)管理 List list = new ArrayList();