Commit 9ee2fe5eb328da41bcab87f869e8e2f1edd431a1
Committed by
Gitee
!171 创建用户不分配角色的情况会存在空指针
Merge pull request !171 from caiti/master
Showing
1 changed file
with
7 additions
and
2 deletions
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 -> { |