56 lines
1.3 KiB
Java
Raw Normal View History

package com.ruoyi.system.service;
2020-02-13 10:48:51 +08:00
import com.ruoyi.common.core.domain.entity.SysUser;
import lombok.RequiredArgsConstructor;
2021-09-27 17:58:36 +08:00
import org.springframework.stereotype.Service;
import java.util.HashSet;
import java.util.Set;
2020-02-13 10:48:51 +08:00
/**
* 用户权限处理
2021-09-27 17:58:36 +08:00
*
2020-02-13 10:48:51 +08:00
* @author ruoyi
*/
@RequiredArgsConstructor
2021-09-27 17:58:36 +08:00
@Service
public class SysPermissionService {
private final ISysRoleService roleService;
private final ISysMenuService menuService;
2020-02-13 10:48:51 +08:00
/**
* 获取角色数据权限
2021-09-27 17:58:36 +08:00
*
2020-02-13 10:48:51 +08:00
* @param user 用户信息
* @return 角色权限信息
*/
2021-09-27 17:58:36 +08:00
public Set<String> getRolePermission(SysUser user) {
2020-02-13 10:48:51 +08:00
Set<String> roles = new HashSet<String>();
// 管理员拥有所有权限
2021-09-27 17:58:36 +08:00
if (user.isAdmin()) {
2020-02-13 10:48:51 +08:00
roles.add("admin");
2021-09-27 17:58:36 +08:00
} else {
2020-02-13 10:48:51 +08:00
roles.addAll(roleService.selectRolePermissionByUserId(user.getUserId()));
}
return roles;
}
/**
* 获取菜单数据权限
2021-09-27 17:58:36 +08:00
*
2020-02-13 10:48:51 +08:00
* @param user 用户信息
* @return 菜单权限信息
*/
2021-09-27 17:58:36 +08:00
public Set<String> getMenuPermission(SysUser user) {
Set<String> perms = new HashSet<String>();
2020-02-13 10:48:51 +08:00
// 管理员拥有所有权限
2021-09-27 17:58:36 +08:00
if (user.isAdmin()) {
perms.add("*:*:*");
2021-09-27 17:58:36 +08:00
} else {
perms.addAll(menuService.selectMenuPermsByUserId(user.getUserId()));
2020-02-13 10:48:51 +08:00
}
return perms;
2020-02-13 10:48:51 +08:00
}
}