Merge remote-tracking branch 'origin/feature/REQ-1102' into feature/REQ-1102

This commit is contained in:
zhansihu 2023-09-18 13:43:40 +08:00
commit 4a6ff5e037
4 changed files with 19 additions and 7 deletions

View File

@ -5,5 +5,5 @@ import cn.axzo.tyr.server.repository.entity.SaasPermissionGroupScope;
import java.util.List; import java.util.List;
public interface SaasPermissionGroupScopeService { public interface SaasPermissionGroupScopeService {
void saveOrUpdate(List<SaasPermissionGroupScope> scopes); void saveOrUpdate(List<Long> pgroupIds, List<SaasPermissionGroupScope> scopes);
} }

View File

@ -227,7 +227,7 @@ public class PermissionGroupImpl implements PermissionGroupService {
return scope; return scope;
}).collect(Collectors.toList())); }).collect(Collectors.toList()));
} }
saasPermissionGroupScopeService.saveOrUpdate(scopes); saasPermissionGroupScopeService.saveOrUpdate(Lists.newArrayList(saasPermissionGroup.getId()), scopes);
return saasPermissionGroup.getId(); return saasPermissionGroup.getId();
} }
@ -341,7 +341,8 @@ public class PermissionGroupImpl implements PermissionGroupService {
List<SaveOrUpdatePermissionGroupVO.PermissionGroupScopeVO> selectedOu = permissionGroup.getSelectedOu(); List<SaveOrUpdatePermissionGroupVO.PermissionGroupScopeVO> selectedOu = permissionGroup.getSelectedOu();
Set<Integer> scopeTypes = new HashSet<>(); Set<Integer> scopeTypes = new HashSet<>();
if (CollectionUtils.isEmpty(selectedWorkspace) && CollectionUtils.isEmpty(selectedOu)) { if (CollectionUtils.isEmpty(selectedWorkspace) && CollectionUtils.isEmpty(selectedOu)) {
throw new ServiceException("例外不能为空"); //throw new ServiceException("例外不能为空");
return;
} }
if (CollectionUtils.isNotEmpty(selectedWorkspace)) { if (CollectionUtils.isNotEmpty(selectedWorkspace)) {
Map<Integer, List<SaveOrUpdatePermissionGroupVO.PermissionGroupScopeVO>> selectedWorkspaceMap = selectedWorkspace.stream() Map<Integer, List<SaveOrUpdatePermissionGroupVO.PermissionGroupScopeVO>> selectedWorkspaceMap = selectedWorkspace.stream()

View File

@ -1,8 +1,8 @@
package cn.axzo.tyr.server.service.impl; package cn.axzo.tyr.server.service.impl;
import cn.axzo.basics.common.constant.enums.TableIsDeleteEnum; 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.dao.SaasPermissionGroupScopeDao;
import cn.axzo.tyr.server.repository.entity.SaasPermissionGroupScope;
import cn.axzo.tyr.server.service.SaasPermissionGroupScopeService; import cn.axzo.tyr.server.service.SaasPermissionGroupScopeService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -10,8 +10,10 @@ import org.apache.commons.collections.CollectionUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
import java.util.List; import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@Slf4j @Slf4j
@ -21,12 +23,17 @@ public class SaasPermissionGroupScopeServiceImpl implements SaasPermissionGroupS
private final SaasPermissionGroupScopeDao saasPermissionGroupScopeDao; private final SaasPermissionGroupScopeDao saasPermissionGroupScopeDao;
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void saveOrUpdate(List<SaasPermissionGroupScope> scopes) { public void saveOrUpdate(List<Long> pgroupIds, List<SaasPermissionGroupScope> scopes) {
if (CollectionUtils.isEmpty(scopes)) { if (CollectionUtils.isEmpty(pgroupIds) && CollectionUtils.isEmpty(scopes)) {
return; 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<SaasPermissionGroupScope> exists = saasPermissionGroupScopeDao.lambdaQuery() List<SaasPermissionGroupScope> 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(); .eq(SaasPermissionGroupScope::getIsDelete, TableIsDeleteEnum.NORMAL.value).list();
Collection<SaasPermissionGroupScope> insertList = CollectionUtils.subtract(scopes, exists); Collection<SaasPermissionGroupScope> insertList = CollectionUtils.subtract(scopes, exists);
Collection<SaasPermissionGroupScope> deleteList = CollectionUtils.subtract(exists, scopes); Collection<SaasPermissionGroupScope> deleteList = CollectionUtils.subtract(exists, scopes);

View File

@ -10,8 +10,10 @@ import org.apache.commons.collections.CollectionUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
import java.util.List; import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@Slf4j @Slf4j
@ -29,6 +31,8 @@ public class SaasPgroupPermissionRelationServiceImpl implements SaasPgroupPermis
// 移除权限点 // 移除权限点
if (CollectionUtils.isEmpty(groupIds)) { if (CollectionUtils.isEmpty(groupIds)) {
groupIds = relations.stream().map(SaasPgroupPermissionRelation::getGroupId).distinct().sorted().collect(Collectors.toList()); groupIds = relations.stream().map(SaasPgroupPermissionRelation::getGroupId).distinct().sorted().collect(Collectors.toList());
} else if (Objects.isNull(relations)){
relations = new ArrayList<>();
} }
List<SaasPgroupPermissionRelation> exists = saasPgroupPermissionRelationDao.lambdaQuery() List<SaasPgroupPermissionRelation> exists = saasPgroupPermissionRelationDao.lambdaQuery()
.in(SaasPgroupPermissionRelation::getGroupId, groupIds) .in(SaasPgroupPermissionRelation::getGroupId, groupIds)