diff --git a/tyr-api/src/main/java/cn/axzo/tyr/client/model/vo/SaveOrUpdateRoleVO.java b/tyr-api/src/main/java/cn/axzo/tyr/client/model/vo/SaveOrUpdateRoleVO.java index 64374909..573f9f31 100644 --- a/tyr-api/src/main/java/cn/axzo/tyr/client/model/vo/SaveOrUpdateRoleVO.java +++ b/tyr-api/src/main/java/cn/axzo/tyr/client/model/vo/SaveOrUpdateRoleVO.java @@ -71,12 +71,6 @@ public class SaveOrUpdateRoleVO { @Deprecated private List selectedPPIds; - /** - * 新的oms权限 - */ - @Deprecated - private Set permissionIds; - /** * 角色对应的权限 * selectedPPIds、permissionIds、permissions只能选一个 diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/RoleServiceImpl.java b/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/RoleServiceImpl.java index 930f16c4..a31acd65 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/RoleServiceImpl.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/RoleServiceImpl.java @@ -466,7 +466,7 @@ public class RoleServiceImpl extends ServiceImpl // TODO 旧的权限,待权限切完后就下掉 List saasFeatures = validFeature(saveOrUpdateRole.getSelectedPPIds()); // 新的权限 - List saasFeatureResources = validPermission(saveOrUpdateRole.getPermissionIds()); + List saasFeatureResources = validPermission(saveOrUpdateRole.getPermissions()); saasRoleDao.saveOrUpdate(saasRole); // 新增或者保存分组和角色映射关系 @@ -552,8 +552,8 @@ public class RoleServiceImpl extends ServiceImpl private void saveOperateLog4RoleBindFeature(SaveOrUpdateRoleVO saveOrUpdateRole) { SaasRole saasRole = saasRoleDao.getById(saveOrUpdateRole.getId()); List 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 return resp; } - private List validPermission(Set permissionIds) { - if (CollectionUtils.isEmpty(permissionIds)) { + private List validPermission(Set permissions) { + if (CollectionUtils.isEmpty(permissions)) { return Collections.emptyList(); } + + List permissionIds = permissions.stream() + .map(SaveOrUpdateRoleVO.Permission::getPermissionId) + .collect(Collectors.toList()); + List 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 private void saveOperateLog4RoleBindFeatureResource(SaveOrUpdateRoleVO saveOrUpdateRole) { SaasRole saasRole = saasRoleDao.getById(saveOrUpdateRole.getId()); List 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()