2021-09-17 14:48:36 +08:00
|
|
|
package com.ruoyi.system.service;
|
2020-02-13 10:48:51 +08:00
|
|
|
|
2021-09-17 14:48:36 +08:00
|
|
|
import com.ruoyi.common.core.domain.entity.SysUser;
|
2022-01-12 21:22:26 +08:00
|
|
|
import lombok.RequiredArgsConstructor;
|
2021-09-27 17:58:36 +08:00
|
|
|
import org.springframework.stereotype.Service;
|
2021-09-17 14:48:36 +08:00
|
|
|
|
|
|
|
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
|
|
|
|
*/
|
2022-01-12 21:22:26 +08:00
|
|
|
@RequiredArgsConstructor
|
2021-09-27 17:58:36 +08:00
|
|
|
@Service
|
|
|
|
public class SysPermissionService {
|
|
|
|
|
2022-01-12 21:22:26 +08:00
|
|
|
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) {
|
2020-03-09 09:40:39 +08:00
|
|
|
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()) {
|
2020-03-09 09:40:39 +08:00
|
|
|
perms.add("*:*:*");
|
2021-09-27 17:58:36 +08:00
|
|
|
} else {
|
2020-03-09 09:40:39 +08:00
|
|
|
perms.addAll(menuService.selectMenuPermsByUserId(user.getUserId()));
|
2020-02-13 10:48:51 +08:00
|
|
|
}
|
2020-03-09 09:40:39 +08:00
|
|
|
return perms;
|
2020-02-13 10:48:51 +08:00
|
|
|
}
|
|
|
|
}
|