Commit 9ee2fe5eb328da41bcab87f869e8e2f1edd431a1

Authored by 芋道源码
Committed by Gitee
2 parents f87e1d82 92d7a701

!171 创建用户不分配角色的情况会存在空指针

Merge pull request !171 from caiti/master
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/permission/PermissionServiceImpl.java
@@ -8,8 +8,8 @@ import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; @@ -8,8 +8,8 @@ import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
8 import cn.iocoder.yudao.framework.common.util.collection.MapUtils; 8 import cn.iocoder.yudao.framework.common.util.collection.MapUtils;
9 import cn.iocoder.yudao.framework.common.util.json.JsonUtils; 9 import cn.iocoder.yudao.framework.common.util.json.JsonUtils;
10 import cn.iocoder.yudao.framework.datapermission.core.annotation.DataPermission; 10 import cn.iocoder.yudao.framework.datapermission.core.annotation.DataPermission;
11 -import cn.iocoder.yudao.module.system.api.permission.dto.DeptDataPermissionRespDTO;  
12 import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore; 11 import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore;
  12 +import cn.iocoder.yudao.module.system.api.permission.dto.DeptDataPermissionRespDTO;
13 import cn.iocoder.yudao.module.system.dal.dataobject.dept.DeptDO; 13 import cn.iocoder.yudao.module.system.dal.dataobject.dept.DeptDO;
14 import cn.iocoder.yudao.module.system.dal.dataobject.permission.MenuDO; 14 import cn.iocoder.yudao.module.system.dal.dataobject.permission.MenuDO;
15 import cn.iocoder.yudao.module.system.dal.dataobject.permission.RoleDO; 15 import cn.iocoder.yudao.module.system.dal.dataobject.permission.RoleDO;
@@ -248,7 +248,12 @@ public class PermissionServiceImpl implements PermissionService { @@ -248,7 +248,12 @@ public class PermissionServiceImpl implements PermissionService {
248 248
249 @Override 249 @Override
250 public Set<Long> getUserRoleIdsFromCache(Long userId, Collection<Integer> roleStatuses) { 250 public Set<Long> getUserRoleIdsFromCache(Long userId, Collection<Integer> roleStatuses) {
251 - Set<Long> roleIds = new HashSet<>(userRoleCache.get(userId)); 251 + Set<Long> cacheRoleIds = userRoleCache.get(userId);
  252 + // 创建用户的时候没有分配角色,会存在空指针异常
  253 + if (CollUtil.isEmpty(cacheRoleIds)) {
  254 + return Collections.emptySet();
  255 + }
  256 + Set<Long> roleIds = new HashSet<>(cacheRoleIds);
252 // 过滤角色状态 257 // 过滤角色状态
253 if (CollectionUtil.isNotEmpty(roleStatuses)) { 258 if (CollectionUtil.isNotEmpty(roleStatuses)) {
254 roleIds.removeIf(roleId -> { 259 roleIds.removeIf(roleId -> {