From 4f28a9d3e51aafa868216573f7457f523ea83e91 Mon Sep 17 00:00:00 2001 From: dengqichen Date: Tue, 11 Nov 2025 15:34:16 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BA=94=E7=94=A8=E8=BF=81=E7=A7=BB=E5=88=B0?= =?UTF-8?q?=E5=9B=A2=E9=98=9F=E5=BA=94=E7=94=A8=E9=87=8C=E9=85=8D=E7=BD=AE?= =?UTF-8?q?GIT?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../backend/deploy/dto/ApplicationDTO.java | 11 ---- .../deploy/dto/TeamApplicationDTO.java | 12 ++++ .../backend/deploy/entity/Application.java | 12 ---- .../deploy/entity/TeamApplication.java | 12 ++++ .../service/impl/ApplicationServiceImpl.java | 32 ----------- .../impl/TeamApplicationServiceImpl.java | 57 +++++++++++++++++-- .../db/changelog/changes/v1.0.0-schema.sql | 7 ++- 7 files changed, 80 insertions(+), 63 deletions(-) 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 d9aad4af..a362e947 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 @@ -2,7 +2,6 @@ package com.qqchen.deploy.backend.deploy.dto; import com.qqchen.deploy.backend.deploy.enums.DevelopmentLanguageTypeEnum; import com.qqchen.deploy.backend.framework.dto.BaseDTO; -import com.qqchen.deploy.backend.system.model.ExternalSystemDTO; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotNull; @@ -24,27 +23,17 @@ public class ApplicationDTO extends BaseDTO { @NotNull(message = "开发语言") private DevelopmentLanguageTypeEnum language; - @Schema(description = "代码仓库项目ID") - private Long repoProjectId; - @Schema(description = "应用分类ID") private Long applicationCategoryId; - @Schema(description = "三方系统ID") - private Long externalSystemId; - @Schema(description = "是否启用") private Boolean enabled; @NotNull(message = "排序号不能为空") private Integer sort; - private RepositoryProjectDTO repositoryProject; - private ApplicationCategoryDTO applicationCategory; - private ExternalSystemDTO externalSystem; - @Schema(description = "关联的团队数量") private Long teamCount; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/deploy/dto/TeamApplicationDTO.java b/backend/src/main/java/com/qqchen/deploy/backend/deploy/dto/TeamApplicationDTO.java index 8d2fa5e0..03db6d01 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/deploy/dto/TeamApplicationDTO.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/deploy/dto/TeamApplicationDTO.java @@ -26,6 +26,18 @@ public class TeamApplicationDTO extends BaseDTO { @Schema(description = "分支名称", example = "develop") private String branch; + @Schema(description = "代码源系统ID(Git系统)") + private Long codeSourceSystemId; + + @Schema(description = "代码源系统名称") + private String codeSourceSystemName; + + @Schema(description = "代码源项目ID(Git项目ID)") + private Long codeSourceProjectId; + + @Schema(description = "代码源项目名称") + private String codeSourceProjectName; + @Schema(description = "部署系统ID(Jenkins系统)") private Long deploySystemId; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/deploy/entity/Application.java b/backend/src/main/java/com/qqchen/deploy/backend/deploy/entity/Application.java index 80e5bc5c..fcf186fa 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/deploy/entity/Application.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/deploy/entity/Application.java @@ -42,24 +42,12 @@ public class Application extends Entity { @Column(name = "language") private DevelopmentLanguageTypeEnum language; - /** - * 代码仓库项目ID - */ - @Column(name = "repo_project_id") - private Long repoProjectId; - /** * 应用分类ID */ @Column(name = "application_category_id") private Long applicationCategoryId; - /** - * 三方系统ID(关联外部系统) - */ - @Column(name = "external_system_id") - private Long externalSystemId; - /** * 排序号 */ diff --git a/backend/src/main/java/com/qqchen/deploy/backend/deploy/entity/TeamApplication.java b/backend/src/main/java/com/qqchen/deploy/backend/deploy/entity/TeamApplication.java index c8445886..3cce498c 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/deploy/entity/TeamApplication.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/deploy/entity/TeamApplication.java @@ -44,6 +44,18 @@ public class TeamApplication extends Entity { @Column(name = "branch", length = 100) private String branch; + /** + * 代码源系统ID(关联sys_external_system,type=GIT) + */ + @Column(name = "code_source_system_id") + private Long codeSourceSystemId; + + /** + * 代码源项目ID(Git项目ID) + */ + @Column(name = "code_source_project_id") + private Long codeSourceProjectId; + /** * 部署系统ID(关联sys_external_system,type=JENKINS) */ 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 8d02a0c6..46c9bc92 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 @@ -86,32 +86,6 @@ public class ApplicationServiceImpl extends BaseServiceImpl repoProjectIds = content.stream() - .map(ApplicationDTO::getRepoProjectId) - .filter(java.util.Objects::nonNull) - .distinct() - .collect(toList()); - java.util.Map repoProjectMap = new java.util.HashMap<>(); - if (!repoProjectIds.isEmpty()) { - repositoryProjectRepository.findByRepoProjectIdIn(repoProjectIds).forEach(repoProject -> - repoProjectMap.put(repoProject.getRepoProjectId(), repositoryProjectConverter.toDto(repoProject)) - ); - } - - // 批量查询三方系统 - List externalSystemIds = content.stream() - .map(ApplicationDTO::getExternalSystemId) - .filter(java.util.Objects::nonNull) - .distinct() - .collect(toList()); - java.util.Map externalSystemMap = new java.util.HashMap<>(); - if (!externalSystemIds.isEmpty()) { - externalSystemRepository.findAllById(externalSystemIds).forEach(externalSystem -> - externalSystemMap.put(externalSystem.getId(), externalSystemConverter.toDto(externalSystem)) - ); - } - // 批量统计团队数量 List applicationIds = content.stream() .map(ApplicationDTO::getId) @@ -131,12 +105,6 @@ public class ApplicationServiceImpl extends BaseServiceImpl codeSourceSystemIds = teamApps.stream() + .map(TeamApplicationDTO::getCodeSourceSystemId) + .filter(Objects::nonNull) + .collect(Collectors.toSet()); + + Set codeSourceProjectIds = teamApps.stream() + .map(TeamApplicationDTO::getCodeSourceProjectId) + .filter(Objects::nonNull) + .collect(Collectors.toSet()); + // 2. 批量查询团队信息 Map teamMap = new HashMap<>(); if (!teamIds.isEmpty()) { @@ -152,15 +167,31 @@ public class TeamApplicationServiceImpl extends BaseServiceImpl externalSystemMap = new HashMap<>(); + // 6. 批量查询部署系统信息(Jenkins) + Map deploySystemMap = new HashMap<>(); if (!deploySystemIds.isEmpty()) { externalSystemRepository.findAllById(deploySystemIds).forEach(system -> - externalSystemMap.put(system.getId(), system) + deploySystemMap.put(system.getId(), system) ); } - // 7. 填充扩展字段 + // 7. 批量查询代码源系统信息(Git) + Map codeSourceSystemMap = new HashMap<>(); + if (!codeSourceSystemIds.isEmpty()) { + externalSystemRepository.findAllById(codeSourceSystemIds).forEach(system -> + codeSourceSystemMap.put(system.getId(), system) + ); + } + + // 8. 批量查询代码源项目信息 + Map codeSourceProjectMap = new HashMap<>(); + if (!codeSourceProjectIds.isEmpty()) { + repositoryProjectRepository.findAllById(codeSourceProjectIds).forEach(project -> + codeSourceProjectMap.put(project.getId(), project) + ); + } + + // 9. 填充扩展字段 teamApps.forEach(teamApp -> { // 填充团队名称 if (teamApp.getTeamId() != null) { @@ -197,11 +228,27 @@ public class TeamApplicationServiceImpl extends BaseServiceImpl