diff --git a/backend/src/main/java/com/qqchen/deploy/backend/deploy/dto/DeployAppConfigDTO.java b/backend/src/main/java/com/qqchen/deploy/backend/deploy/dto/DeployAppConfigDTO.java index 398461d6..710c9b01 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/deploy/dto/DeployAppConfigDTO.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/deploy/dto/DeployAppConfigDTO.java @@ -26,6 +26,9 @@ public class DeployAppConfigDTO extends BaseDTO { @NotNull(message = "应用ID不能为空") private Long applicationId; + @Schema(description = "应用") + private ApplicationDTO application; + @Schema(description = "构建类型") @NotNull(message = "构建类型不能为空") private BuildTypeEnum buildType; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/deploy/entity/DeployAppConfig.java b/backend/src/main/java/com/qqchen/deploy/backend/deploy/entity/DeployAppConfig.java index 4cb759d4..77312d8c 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/deploy/entity/DeployAppConfig.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/deploy/entity/DeployAppConfig.java @@ -4,6 +4,7 @@ package com.qqchen.deploy.backend.deploy.entity; import com.fasterxml.jackson.databind.JsonNode; import com.qqchen.deploy.backend.deploy.enums.BuildTypeEnum; import com.qqchen.deploy.backend.deploy.enums.DevelopmentLanguageTypeEnum; +import com.qqchen.deploy.backend.framework.annotation.LogicDelete; import com.qqchen.deploy.backend.framework.domain.Entity; import com.vladmihalcea.hibernate.type.json.JsonType; import jakarta.persistence.Column; @@ -18,6 +19,7 @@ import org.hibernate.annotations.Type; @EqualsAndHashCode(callSuper = true) @jakarta.persistence.Entity @Table(name = "deploy_app_config") +@LogicDelete public class DeployAppConfig extends Entity { 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 fbb658c3..63b2ef3f 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 @@ -1,20 +1,31 @@ package com.qqchen.deploy.backend.deploy.service.impl; +import com.qqchen.deploy.backend.deploy.converter.ApplicationConverter; +import com.qqchen.deploy.backend.deploy.dto.ApplicationDTO; import com.qqchen.deploy.backend.deploy.dto.BuildConfigDefinedDTO; import com.qqchen.deploy.backend.deploy.dto.DeployAppConfigDTO; +import com.qqchen.deploy.backend.deploy.entity.Application; import com.qqchen.deploy.backend.deploy.entity.DeployAppConfig; +import com.qqchen.deploy.backend.deploy.entity.ProjectGroup; import com.qqchen.deploy.backend.deploy.enums.BuildTypeEnum; import com.qqchen.deploy.backend.deploy.enums.DevelopmentLanguageTypeEnum; +import com.qqchen.deploy.backend.deploy.query.ApplicationQuery; import com.qqchen.deploy.backend.deploy.query.DeployAppConfigQuery; +import com.qqchen.deploy.backend.deploy.repository.IApplicationRepository; import com.qqchen.deploy.backend.deploy.service.IDeployAppConfigService; import com.qqchen.deploy.backend.framework.service.impl.BaseServiceImpl; +import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.PageImpl; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; +import java.util.Optional; import static com.qqchen.deploy.backend.workflow.util.GenerateSchemaUtils.generateSchema; +import static java.util.stream.Collectors.toList; /** * 应用配置服务实现类 @@ -23,6 +34,21 @@ import static com.qqchen.deploy.backend.workflow.util.GenerateSchemaUtils.genera @Service public class DeployAppConfigServiceImpl extends BaseServiceImpl implements IDeployAppConfigService { + @Resource + private IApplicationRepository applicationRepository; + + @Resource + private ApplicationConverter applicationConverter; + + @Override + public Page page(DeployAppConfigQuery query) { + Page page = super.page(query); + List result = page.getContent().stream().peek(deployAppConfig -> { + Optional optionalApplication = applicationRepository.findById(deployAppConfig.getApplicationId()); + optionalApplication.ifPresent(application -> deployAppConfig.setApplication(applicationConverter.toDto(application))); + }).collect(toList()); + return new PageImpl<>(result, page.getPageable(), page.getTotalElements()); + } @Override public List defined() {