feat: (feature/REQ-2595) 修改角色修改权限

This commit is contained in:
lilong 2024-10-30 21:00:01 +08:00
parent 05b0590605
commit eab3cb770c
2 changed files with 19 additions and 14 deletions

View File

@ -71,12 +71,6 @@ public class SaveOrUpdateRoleVO {
@Deprecated
private List<Long> selectedPPIds;
/**
* 新的oms权限
*/
@Deprecated
private Set<Long> permissionIds;
/**
* 角色对应的权限
* selectedPPIdspermissionIdspermissions只能选一个

View File

@ -466,7 +466,7 @@ public class RoleServiceImpl extends ServiceImpl<SaasRoleMapper, SaasRole>
// TODO 旧的权限,待权限切完后就下掉
List<SaasFeature> saasFeatures = validFeature(saveOrUpdateRole.getSelectedPPIds());
// 新的权限
List<ResourcePermission> saasFeatureResources = validPermission(saveOrUpdateRole.getPermissionIds());
List<ResourcePermission> saasFeatureResources = validPermission(saveOrUpdateRole.getPermissions());
saasRoleDao.saveOrUpdate(saasRole);
// 新增或者保存分组和角色映射关系
@ -552,8 +552,8 @@ public class RoleServiceImpl extends ServiceImpl<SaasRoleMapper, SaasRole>
private void saveOperateLog4RoleBindFeature(SaveOrUpdateRoleVO saveOrUpdateRole) {
SaasRole saasRole = saasRoleDao.getById(saveOrUpdateRole.getId());
List<String> uniCodes = null;
if (CollectionUtils.isNotEmpty(saveOrUpdateRole.getPermissionIds())) {
uniCodes = saasFeatureResourceDao.lambdaQuery().in(BaseEntity::getId, saveOrUpdateRole.getPermissionIds()).list().stream().map(SaasFeatureResource::getUniCode).collect(Collectors.toList());
if (CollectionUtils.isNotEmpty(saveOrUpdateRole.getSelectedPPIds())) {
uniCodes = saasFeatureResourceDao.lambdaQuery().in(BaseEntity::getId, saveOrUpdateRole.getSelectedPPIds()).list().stream().map(SaasFeatureResource::getUniCode).collect(Collectors.toList());
}
RelationOperateLogRoleBindResourceDO operateAfter = RelationOperateLogRoleBindResourceDO.builder()
@ -1708,12 +1708,17 @@ public class RoleServiceImpl extends ServiceImpl<SaasRoleMapper, SaasRole>
return resp;
}
private List<ResourcePermission> validPermission(Set<Long> permissionIds) {
if (CollectionUtils.isEmpty(permissionIds)) {
private List<ResourcePermission> validPermission(Set<SaveOrUpdateRoleVO.Permission> permissions) {
if (CollectionUtils.isEmpty(permissions)) {
return Collections.emptyList();
}
List<Long> permissionIds = permissions.stream()
.map(SaveOrUpdateRoleVO.Permission::getPermissionId)
.collect(Collectors.toList());
List<ResourcePermission> resourcePermissions = saasFeatureResourceService.permissionQuery(ResourcePermissionQueryDTO.builder()
.ids(Lists.newArrayList(permissionIds))
.ids(permissionIds)
.build());
if (permissionIds.size() != resourcePermissions.size()) {
permissionIds.removeAll(resourcePermissions.stream().map(ResourcePermission::getId).collect(Collectors.toSet()));
@ -1914,8 +1919,14 @@ public class RoleServiceImpl extends ServiceImpl<SaasRoleMapper, SaasRole>
private void saveOperateLog4RoleBindFeatureResource(SaveOrUpdateRoleVO saveOrUpdateRole) {
SaasRole saasRole = saasRoleDao.getById(saveOrUpdateRole.getId());
List<String> uniCodes = null;
if (CollectionUtils.isNotEmpty(saveOrUpdateRole.getPermissionIds())) {
uniCodes = saasFeatureResourceDao.lambdaQuery().in(BaseEntity::getId, saveOrUpdateRole.getPermissionIds()).list().stream().map(SaasFeatureResource::getUniCode).collect(Collectors.toList());
if (CollectionUtils.isNotEmpty(saveOrUpdateRole.getPermissions())) {
uniCodes = saasFeatureResourceDao.lambdaQuery().in(BaseEntity::getId, saveOrUpdateRole.getPermissions().stream()
.map(SaveOrUpdateRoleVO.Permission::getPermissionId)
.collect(Collectors.toList()))
.list()
.stream()
.map(SaasFeatureResource::getUniCode)
.collect(Collectors.toList());
}
RelationOperateLogRoleBindResourceDO operateAfter = RelationOperateLogRoleBindResourceDO.builder()