mirror of
https://gitee.com/dromara/RuoYi-Vue-Plus.git
synced 2026-09-20 18:15:56 +08:00
update 优化 获取菜单数据权限接口
This commit is contained in:
parent
69d7d04169
commit
af9556b2be
@ -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<String> permissions;
|
||||
|
||||
public SysRole(Long roleId) {
|
||||
this.roleId = roleId;
|
||||
}
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
@ -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<String> permissions;
|
||||
|
||||
public boolean isAdmin() {
|
||||
return UserConstants.SUPER_ADMIN_ID.equals(this.roleId);
|
||||
}
|
||||
|
||||
@ -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<SysRoleVo> roles = roleService.selectRolesByUserId(userId);
|
||||
if (CollUtil.isNotEmpty(roles)) {
|
||||
// 多角色设置permissions属性,以便数据权限匹配权限
|
||||
for (SysRoleVo role : roles) {
|
||||
Set<String> rolePerms = menuService.selectMenuPermsByRoleId(role.getRoleId());
|
||||
role.setPermissions(rolePerms);
|
||||
perms.addAll(rolePerms);
|
||||
}
|
||||
} else {
|
||||
perms.addAll(menuService.selectMenuPermsByUserId(userId));
|
||||
}
|
||||
perms.addAll(menuService.selectMenuPermsByUserId(userId));
|
||||
}
|
||||
return perms;
|
||||
}
|
||||
|
||||
@ -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<SysRoleMenu>().eq(SysRoleMenu::getRoleId, role.getRoleId()));
|
||||
return insertRoleMenu(role);
|
||||
return insertRoleMenu(bo);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -281,7 +281,7 @@ public class SysRoleServiceImpl implements ISysRoleService {
|
||||
// 删除角色与部门关联
|
||||
roleDeptMapper.delete(new LambdaQueryWrapper<SysRoleDept>().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<SysRoleMenu> list = new ArrayList<SysRoleMenu>();
|
||||
@ -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<SysRoleDept> list = new ArrayList<SysRoleDept>();
|
||||
|
||||
Loading…
Reference in New Issue
Block a user