diff --git a/backend/src/main/java/com/qqchen/deploy/backend/deploy/dto/ApplicationDTO.java b/backend/src/main/java/com/qqchen/deploy/backend/deploy/dto/ApplicationDTO.java index 4430c032..5f697f3e 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/deploy/dto/ApplicationDTO.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/deploy/dto/ApplicationDTO.java @@ -31,9 +31,13 @@ public class ApplicationDTO extends BaseDTO { @NotNull(message = "代码仓库组ID不能为空") private Long repoGroupId; + private RepositoryGroupDTO repositoryGroup; + @NotNull(message = "代码仓库项目ID不能为空") private Long repoProjectId; + private RepositoryProjectDTO repositoryProject; + @NotNull(message = "所属项目组ID不能为空") private Long projectGroupId; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/deploy/service/impl/ApplicationServiceImpl.java b/backend/src/main/java/com/qqchen/deploy/backend/deploy/service/impl/ApplicationServiceImpl.java index 21ca1db0..ae967128 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/deploy/service/impl/ApplicationServiceImpl.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/deploy/service/impl/ApplicationServiceImpl.java @@ -2,13 +2,19 @@ package com.qqchen.deploy.backend.deploy.service.impl; import com.qqchen.deploy.backend.deploy.converter.ApplicationConverter; import com.qqchen.deploy.backend.deploy.converter.ProjectGroupConverter; +import com.qqchen.deploy.backend.deploy.converter.RepositoryGroupConverter; +import com.qqchen.deploy.backend.deploy.converter.RepositoryProjectConverter; import com.qqchen.deploy.backend.deploy.dto.ApplicationDTO; import com.qqchen.deploy.backend.deploy.dto.DevelopmentLanguageTypeDTO; import com.qqchen.deploy.backend.deploy.entity.Application; import com.qqchen.deploy.backend.deploy.entity.ProjectGroup; +import com.qqchen.deploy.backend.deploy.entity.RepositoryGroup; +import com.qqchen.deploy.backend.deploy.entity.RepositoryProject; import com.qqchen.deploy.backend.deploy.enums.DevelopmentLanguageTypeEnum; import com.qqchen.deploy.backend.deploy.query.ApplicationQuery; import com.qqchen.deploy.backend.deploy.repository.IProjectGroupRepository; +import com.qqchen.deploy.backend.deploy.repository.IRepositoryGroupRepository; +import com.qqchen.deploy.backend.deploy.repository.IRepositoryProjectRepository; import com.qqchen.deploy.backend.deploy.service.IApplicationService; import com.qqchen.deploy.backend.framework.service.impl.BaseServiceImpl; import jakarta.annotation.Resource; @@ -26,18 +32,38 @@ import static java.util.stream.Collectors.toList; @Service public class ApplicationServiceImpl extends BaseServiceImpl implements IApplicationService { - @Resource private IProjectGroupRepository projectGroupRepository; @Resource private ProjectGroupConverter projectGroupConverter; + @Resource + private IRepositoryGroupRepository repositoryGroupRepository; + + @Resource + private IRepositoryProjectRepository repositoryProjectRepository; + + @Resource + private RepositoryGroupConverter repositoryGroupConverter; + + @Resource + private RepositoryProjectConverter repositoryProjectConverter; + public Page page(ApplicationQuery query) { Page page = super.page(query); List result = page.getContent().stream().peek(application -> { + // 查询并设置项目组信息 Optional projectGroupOptional = projectGroupRepository.findById(application.getProjectGroupId()); projectGroupOptional.ifPresent(projectGroup -> application.setProjectGroup(projectGroupConverter.toDto(projectGroup))); + + // 查询并设置代码仓库组信息 + Optional repositoryGroupOptional = repositoryGroupRepository.findById(application.getRepoGroupId()); + repositoryGroupOptional.ifPresent(repositoryGroup -> application.setRepositoryGroup(repositoryGroupConverter.toDto(repositoryGroup))); + + // 查询并设置代码仓库项目信息 + Optional repositoryProjectOptional = repositoryProjectRepository.findById(application.getRepoProjectId()); + repositoryProjectOptional.ifPresent(repositoryProject -> application.setRepositoryProject(repositoryProjectConverter.toDto(repositoryProject))); }).collect(toList()); return new PageImpl<>(result, page.getPageable(), page.getTotalElements()); }