diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/service/SaasPermissionGroupScopeService.java b/tyr-server/src/main/java/cn/axzo/tyr/server/service/SaasPermissionGroupScopeService.java index 068d87ea..f5de1fbd 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/service/SaasPermissionGroupScopeService.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/service/SaasPermissionGroupScopeService.java @@ -5,5 +5,5 @@ import cn.axzo.tyr.server.repository.entity.SaasPermissionGroupScope; import java.util.List; public interface SaasPermissionGroupScopeService { - void saveOrUpdate(List scopes); + void saveOrUpdate(List pgroupIds, List scopes); } diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/PermissionGroupImpl.java b/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/PermissionGroupImpl.java index cebdaaab..6d1423af 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/PermissionGroupImpl.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/PermissionGroupImpl.java @@ -227,7 +227,7 @@ public class PermissionGroupImpl implements PermissionGroupService { return scope; }).collect(Collectors.toList())); } - saasPermissionGroupScopeService.saveOrUpdate(scopes); + saasPermissionGroupScopeService.saveOrUpdate(Lists.newArrayList(saasPermissionGroup.getId()), scopes); return saasPermissionGroup.getId(); } @@ -341,7 +341,8 @@ public class PermissionGroupImpl implements PermissionGroupService { List selectedOu = permissionGroup.getSelectedOu(); Set scopeTypes = new HashSet<>(); if (CollectionUtils.isEmpty(selectedWorkspace) && CollectionUtils.isEmpty(selectedOu)) { - throw new ServiceException("例外不能为空"); + //throw new ServiceException("例外不能为空"); + return; } if (CollectionUtils.isNotEmpty(selectedWorkspace)) { Map> selectedWorkspaceMap = selectedWorkspace.stream() diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/SaasPermissionGroupScopeServiceImpl.java b/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/SaasPermissionGroupScopeServiceImpl.java index 9f5be4bb..0081be38 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/SaasPermissionGroupScopeServiceImpl.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/SaasPermissionGroupScopeServiceImpl.java @@ -1,8 +1,8 @@ package cn.axzo.tyr.server.service.impl; import cn.axzo.basics.common.constant.enums.TableIsDeleteEnum; -import cn.axzo.tyr.server.repository.entity.SaasPermissionGroupScope; import cn.axzo.tyr.server.repository.dao.SaasPermissionGroupScopeDao; +import cn.axzo.tyr.server.repository.entity.SaasPermissionGroupScope; import cn.axzo.tyr.server.service.SaasPermissionGroupScopeService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -10,8 +10,10 @@ import org.apache.commons.collections.CollectionUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.ArrayList; import java.util.Collection; import java.util.List; +import java.util.Objects; import java.util.stream.Collectors; @Slf4j @@ -21,12 +23,17 @@ public class SaasPermissionGroupScopeServiceImpl implements SaasPermissionGroupS private final SaasPermissionGroupScopeDao saasPermissionGroupScopeDao; @Override @Transactional(rollbackFor = Exception.class) - public void saveOrUpdate(List scopes) { - if (CollectionUtils.isEmpty(scopes)) { + public void saveOrUpdate(List pgroupIds, List scopes) { + if (CollectionUtils.isEmpty(pgroupIds) && CollectionUtils.isEmpty(scopes)) { return; } + if (CollectionUtils.isEmpty(pgroupIds)) { + pgroupIds = scopes.stream().map(SaasPermissionGroupScope::getPgroupId).distinct().sorted().collect(Collectors.toList()); + } else if (Objects.isNull(scopes)) { + scopes = new ArrayList<>(); + } List exists = saasPermissionGroupScopeDao.lambdaQuery() - .in(SaasPermissionGroupScope::getPgroupId, scopes.stream().map(SaasPermissionGroupScope::getPgroupId).distinct().sorted().collect(Collectors.toList())) + .in(SaasPermissionGroupScope::getPgroupId, pgroupIds) .eq(SaasPermissionGroupScope::getIsDelete, TableIsDeleteEnum.NORMAL.value).list(); Collection insertList = CollectionUtils.subtract(scopes, exists); Collection deleteList = CollectionUtils.subtract(exists, scopes); diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/SaasPgroupPermissionRelationServiceImpl.java b/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/SaasPgroupPermissionRelationServiceImpl.java index a52c86a6..65106522 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/SaasPgroupPermissionRelationServiceImpl.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/SaasPgroupPermissionRelationServiceImpl.java @@ -10,8 +10,10 @@ import org.apache.commons.collections.CollectionUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.ArrayList; import java.util.Collection; import java.util.List; +import java.util.Objects; import java.util.stream.Collectors; @Slf4j @@ -29,6 +31,8 @@ public class SaasPgroupPermissionRelationServiceImpl implements SaasPgroupPermis // 移除权限点 if (CollectionUtils.isEmpty(groupIds)) { groupIds = relations.stream().map(SaasPgroupPermissionRelation::getGroupId).distinct().sorted().collect(Collectors.toList()); + } else if (Objects.isNull(relations)){ + relations = new ArrayList<>(); } List exists = saasPgroupPermissionRelationDao.lambdaQuery() .in(SaasPgroupPermissionRelation::getGroupId, groupIds)