fix bug:添加新成员角色赋予报错

This commit is contained in:
陈维伟 2023-09-21 16:05:48 +08:00
parent 3310fdfd6f
commit 2542153b2c

View File

@ -13,6 +13,7 @@ import cn.axzo.tyr.server.repository.entity.SaasRole;
import cn.axzo.tyr.server.repository.entity.SaasRoleUserRelation;
import cn.axzo.tyr.server.service.SaasRoleUserService;
import cn.hutool.core.collection.CollectionUtil;
import com.alibaba.nacos.common.utils.CollectionUtils;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@ -49,9 +50,10 @@ public class RoleUserService implements SaasRoleUserService {
}
List<SaasRoleUserRelation> existsRoleUser = roleUserRelationDao.query(req.getIdentityId(), req.getIdentityType().getCode(), req.getWorkspaceId(), req.getOuId());
if (CollectionUtils.isNotEmpty(existsRoleUser)) {
List<SaasRole> existsRole = saasRoleDao.listByIds(existsRoleUser.stream().mapToLong(SaasRoleUserRelation::getRoleId).boxed().collect(Collectors.toList()));
List<SaasRole> notAdminRole = existsRole.stream().filter(e -> !RoleTypeEnum.getRoleType(e.getRoleType()).isAdminRole()).collect(Collectors.toList());
// 删除现有非管理员的角色
roleUserRelationDao.deleteByUser(BaseWorkspaceModel.builder()
.workspaceId(req.getWorkspaceId())
.ouId(req.getOuId())
@ -64,6 +66,7 @@ public class RoleUserService implements SaasRoleUserService {
.boxed()
.collect(Collectors.toList()));
}
roleUserRelationDao.saveBatch(req.getUpdateRoleIds().stream().map(e -> {
SaasRoleUserRelation saasRoleUserRelation = new SaasRoleUserRelation();