fix(数据集): 数据集列权限空指针异常

This commit is contained in:
taojinlong 2022-07-28 16:35:04 +08:00
parent 9419f6ff67
commit a039241691

View File

@ -123,18 +123,24 @@ public class PermissionService {
dataSetRowPermissionsDTO.setAuthTargetIds(Collections.singletonList(userId)); dataSetRowPermissionsDTO.setAuthTargetIds(Collections.singletonList(userId));
dataSetRowPermissionsDTO.setAuthTargetType("user"); dataSetRowPermissionsDTO.setAuthTargetType("user");
datasetRowPermissions.addAll(rowPermissionService.searchRowPermissions(dataSetRowPermissionsDTO)); datasetRowPermissions.addAll(rowPermissionService.searchRowPermissions(dataSetRowPermissionsDTO));
dataSetRowPermissionsDTO.setAuthTargetIds(roleIds);
dataSetRowPermissionsDTO.setAuthTargetType("role"); if(CollectionUtils.isNotEmpty(roleIds)){
datasetRowPermissions.addAll(rowPermissionService.searchRowPermissions(dataSetRowPermissionsDTO)); dataSetRowPermissionsDTO.setAuthTargetIds(roleIds);
dataSetRowPermissionsDTO.setAuthTargetIds(Collections.singletonList(deptId)); dataSetRowPermissionsDTO.setAuthTargetType("role");
dataSetRowPermissionsDTO.setAuthTargetType("dept"); datasetRowPermissions.addAll(rowPermissionService.searchRowPermissions(dataSetRowPermissionsDTO));
datasetRowPermissions.addAll(rowPermissionService.searchRowPermissions(dataSetRowPermissionsDTO));
}
if(deptId != null){
dataSetRowPermissionsDTO.setAuthTargetIds(Collections.singletonList(deptId));
dataSetRowPermissionsDTO.setAuthTargetType("dept");
datasetRowPermissions.addAll(rowPermissionService.searchRowPermissions(dataSetRowPermissionsDTO));
}
dataSetRowPermissionsDTO.setAuthTargetType("sysParams"); dataSetRowPermissionsDTO.setAuthTargetType("sysParams");
dataSetRowPermissionsDTO.setAuthTargetIds(null); dataSetRowPermissionsDTO.setAuthTargetIds(null);
datasetRowPermissions.addAll(rowPermissionService.searchRowPermissions(dataSetRowPermissionsDTO)); datasetRowPermissions.addAll(rowPermissionService.searchRowPermissions(dataSetRowPermissionsDTO));
values.put("${sysParams.userId}", userEntity.getUsername()); values.put("${sysParams.userId}", userEntity.getUsername());
values.put("${sysParams.userName}", userEntity.getNickName()); values.put("${sysParams.userName}", userEntity.getNickName());
values.put("${sysParams.userEmail}", userEntity.getEmail()); values.put("${sysParams.userEmail}", userEntity.getEmail());
@ -170,28 +176,33 @@ public class PermissionService {
dataSetColumnPermissionsDTO.setAuthTargetType("user"); dataSetColumnPermissionsDTO.setAuthTargetType("user");
datasetColumnPermissions.addAll(columnPermissionService.searchPermissions(dataSetColumnPermissionsDTO)); datasetColumnPermissions.addAll(columnPermissionService.searchPermissions(dataSetColumnPermissionsDTO));
dataSetColumnPermissionsDTO.setAuthTargetIds(roleIds); if(CollectionUtils.isNotEmpty(roleIds)){
dataSetColumnPermissionsDTO.setAuthTargetType("role"); dataSetColumnPermissionsDTO.setAuthTargetIds(roleIds);
List<DataSetColumnPermissionsDTO> roleColumnPermissionsDTOS = new ArrayList<>(); dataSetColumnPermissionsDTO.setAuthTargetType("role");
for (DataSetColumnPermissionsDTO columnPermissionsDTO : columnPermissionService.searchPermissions(dataSetColumnPermissionsDTO)) { List<DataSetColumnPermissionsDTO> roleColumnPermissionsDTOS = new ArrayList<>();
columnPermissionsDTO.getWhiteListUser(); for (DataSetColumnPermissionsDTO columnPermissionsDTO : columnPermissionService.searchPermissions(dataSetColumnPermissionsDTO)) {
List<Long> userIdList = new Gson().fromJson(columnPermissionsDTO.getWhiteListUser(), new TypeToken<List<Long>>() {}.getType()); columnPermissionsDTO.getWhiteListUser();
if(!userIdList.contains(userId)){ List<Long> userIdList = new Gson().fromJson(columnPermissionsDTO.getWhiteListUser(), new TypeToken<List<Long>>() {}.getType());
roleColumnPermissionsDTOS.add(columnPermissionsDTO); if(!userIdList.contains(userId)){
roleColumnPermissionsDTOS.add(columnPermissionsDTO);
}
} }
datasetColumnPermissions.addAll(roleColumnPermissionsDTOS);
} }
datasetColumnPermissions.addAll(roleColumnPermissionsDTOS);
dataSetColumnPermissionsDTO.setAuthTargetIds(Collections.singletonList(deptId)); if(deptId != null){
dataSetColumnPermissionsDTO.setAuthTargetType("dept"); dataSetColumnPermissionsDTO.setAuthTargetIds(Collections.singletonList(deptId));
List<DataSetColumnPermissionsDTO> deptColumnPermissionsDTOS = new ArrayList<>(); dataSetColumnPermissionsDTO.setAuthTargetType("dept");
for (DataSetColumnPermissionsDTO columnPermissionsDTO : columnPermissionService.searchPermissions(dataSetColumnPermissionsDTO)) { List<DataSetColumnPermissionsDTO> deptColumnPermissionsDTOS = new ArrayList<>();
List<Long> userIdList = new Gson().fromJson(columnPermissionsDTO.getWhiteListUser(), new TypeToken<List<Long>>() {}.getType()); for (DataSetColumnPermissionsDTO columnPermissionsDTO : columnPermissionService.searchPermissions(dataSetColumnPermissionsDTO)) {
if(!userIdList.contains(userId)){ List<Long> userIdList = new Gson().fromJson(columnPermissionsDTO.getWhiteListUser(), new TypeToken<List<Long>>() {}.getType());
deptColumnPermissionsDTOS.add(columnPermissionsDTO); if(!userIdList.contains(userId)){
deptColumnPermissionsDTOS.add(columnPermissionsDTO);
}
} }
datasetColumnPermissions.addAll(deptColumnPermissionsDTOS);
} }
datasetColumnPermissions.addAll(deptColumnPermissionsDTOS);
return datasetColumnPermissions; return datasetColumnPermissions;
} }