package com.ruoyi.system.service.impl; import com.ruoyi.system.api.domain.SysRole; import com.ruoyi.system.api.domain.SysUser; import com.ruoyi.system.service.ISysMenuService; import com.ruoyi.system.service.ISysPermissionService; import com.ruoyi.system.service.ISysRoleService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.HashSet; import java.util.Set; /** * 用户权限处理 * * @author ruoyi */ @Service public class SysPermissionServiceImpl implements ISysPermissionService { @Autowired private ISysRoleService roleService; @Autowired private ISysMenuService menuService; /** * 获取角色数据权限 * * @param user 用户 * @return 角色权限信息 */ @Override public SysRole getRolePermission(SysUser user) { return roleService.selectRolePermissionByUserId(user.getUserId()); } /** * 获取菜单数据权限 * * @param user 用户 * @return 菜单权限信息 */ @Override public Set getMenuPermission(SysUser user) { Set perms = new HashSet(); Long roleId = user.getRoleId(); if (null == roleId) { perms.addAll(menuService.selectMenuPermsByUserId(user.getUserId())); } else { // 多角色设置permissions属性,以便数据权限匹配权限 Set rolePerms = menuService.selectMenuPermsByRoleId(roleId); perms.addAll(rolePerms); } return perms; } }