diff --git a/backend/src/main/java/com/qqchen/deploy/backend/deploy/repository/IDeployLogRepository.java b/backend/src/main/java/com/qqchen/deploy/backend/deploy/repository/IDeployLogRepository.java index dd072f86..34b0a4fd 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/deploy/repository/IDeployLogRepository.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/deploy/repository/IDeployLogRepository.java @@ -4,11 +4,13 @@ import com.qqchen.deploy.backend.framework.repository.IBaseRepository; import com.qqchen.deploy.backend.deploy.entity.DeployLog; import org.springframework.stereotype.Repository; +import java.util.Optional; + /** * 部署日志 Repository */ @Repository public interface IDeployLogRepository extends IBaseRepository { - DeployLog findTop1ByApplicationIdOrderByCreateTimeDesc(Long id); + Optional findTop1ByApplicationIdOrderByCreateTimeDesc(Long id); } \ No newline at end of file diff --git a/backend/src/main/java/com/qqchen/deploy/backend/deploy/service/impl/DeployAppConfigServiceImpl.java b/backend/src/main/java/com/qqchen/deploy/backend/deploy/service/impl/DeployAppConfigServiceImpl.java index 7bd7f4c1..138cede7 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/deploy/service/impl/DeployAppConfigServiceImpl.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/deploy/service/impl/DeployAppConfigServiceImpl.java @@ -87,23 +87,26 @@ public class DeployAppConfigServiceImpl extends BaseServiceImpl page(DeployAppConfigQuery query) { Page page = super.page(query); List result = page.getContent().stream().peek(deployAppConfig -> { + Optional optionalWorkflowDefinition = workflowDefinitionRepository.findById(deployAppConfig.getWorkflowDefinitionId()); + optionalWorkflowDefinition.ifPresent(workflowDefinition -> deployAppConfig.setPublishedWorkflowDefinition(workflowDefinitionConverter.toDto(workflowDefinition))); Optional optionalApplication = applicationRepository.findById(deployAppConfig.getApplicationId()); if (optionalApplication.isPresent()) { Application application = optionalApplication.get(); deployAppConfig.setApplication(applicationConverter.toDto(application)); - DeployLog lastDeployLog = deployLogRepository.findTop1ByApplicationIdOrderByCreateTimeDesc(application.getId()); - Optional optionalWorkflowInstance = workflowInstanceRepository.findById(lastDeployLog.getWorkflowInstanceId()); - if (optionalWorkflowInstance.isPresent()) { - WorkflowInstance workflowInstance = optionalWorkflowInstance.get(); - deployAppConfig.setLastBuildStatus(workflowInstance.getStatus()); - deployAppConfig.setLastBuildStartTime(workflowInstance.getStartTime()); - deployAppConfig.setLastBuildEndTime(workflowInstance.getEndTime()); + Optional lastDeployLogOptional = deployLogRepository.findTop1ByApplicationIdOrderByCreateTimeDesc(application.getId()); + if (lastDeployLogOptional.isEmpty()) { + return; } + DeployLog lastDeployLog = lastDeployLogOptional.get(); + Optional optionalWorkflowInstance = workflowInstanceRepository.findById(lastDeployLog.getWorkflowInstanceId()); + if (optionalWorkflowInstance.isEmpty()) { + return; + } + WorkflowInstance workflowInstance = optionalWorkflowInstance.get(); + deployAppConfig.setLastBuildStatus(workflowInstance.getStatus()); + deployAppConfig.setLastBuildStartTime(workflowInstance.getStartTime()); + deployAppConfig.setLastBuildEndTime(workflowInstance.getEndTime()); } - Optional optionalWorkflowDefinition = workflowDefinitionRepository.findById(deployAppConfig.getWorkflowDefinitionId()); - optionalWorkflowDefinition.ifPresent(workflowDefinition -> deployAppConfig.setPublishedWorkflowDefinition(workflowDefinitionConverter.toDto(workflowDefinition))); - - }).collect(toList()); return new PageImpl<>(result, page.getPageable(), page.getTotalElements()); } diff --git a/backend/src/main/java/com/qqchen/deploy/backend/workflow/service/impl/WorkflowNodeDefinitionServiceImpl.java b/backend/src/main/java/com/qqchen/deploy/backend/workflow/service/impl/WorkflowNodeDefinitionServiceImpl.java index b4301fa0..61fdcef6 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/workflow/service/impl/WorkflowNodeDefinitionServiceImpl.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/workflow/service/impl/WorkflowNodeDefinitionServiceImpl.java @@ -107,7 +107,6 @@ public class WorkflowNodeDefinitionServiceImpl extends BaseServiceImpl formVariables = nodeType.getFormVariables(); // if (formVariables != null) { // definedDTO.setFormVariablesSchema(generateSchema(formVariables));