From 58491de2f0279770b5a7717ee8e5edebcdab3f8f Mon Sep 17 00:00:00 2001 From: dengqichen Date: Wed, 29 Oct 2025 16:42:27 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8D=95=E7=8B=AC=E5=90=8C=E6=AD=A5GIT?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/RepositoryBranchApiController.java | 13 +++++------ .../api/RepositoryGroupApiController.java | 8 +++---- .../api/RepositoryProjectApiController.java | 11 ++++----- .../service/IRepositoryBranchService.java | 15 +++++------- .../service/IRepositoryGroupService.java | 5 ++-- .../service/IRepositoryProjectService.java | 10 ++++---- .../impl/RepositoryBranchServiceImpl.java | 23 +++++++++++-------- .../impl/RepositoryGroupServiceImpl.java | 7 +++--- .../impl/RepositoryProjectServiceImpl.java | 18 ++++++++------- backend/src/main/resources/application.yml | 19 ++++++--------- 10 files changed, 61 insertions(+), 68 deletions(-) diff --git a/backend/src/main/java/com/qqchen/deploy/backend/deploy/api/RepositoryBranchApiController.java b/backend/src/main/java/com/qqchen/deploy/backend/deploy/api/RepositoryBranchApiController.java index 10dd9081..1ec9d4cf 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/deploy/api/RepositoryBranchApiController.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/deploy/api/RepositoryBranchApiController.java @@ -28,25 +28,24 @@ public class RepositoryBranchApiController extends BaseController sync( + public Response sync( @Parameter(description = "外部系统ID", required = true) @RequestParam Long externalSystemId, @Parameter(description = "仓库组ID(可选)", required = false) @RequestParam(required = false) Long repoGroupId, @Parameter(description = "仓库项目ID(可选,传此参数时repoGroupId必传)", required = false) @RequestParam(required = false) Long repoProjectId ) { - Integer count; if (repoProjectId != null) { // 同步单个项目 - count = repositoryBranchService.syncBranches(externalSystemId, repoGroupId, repoProjectId); + repositoryBranchService.syncBranches(externalSystemId, repoGroupId, repoProjectId); } else if (repoGroupId != null) { // 同步仓库组 - count = repositoryBranchService.syncBranches(externalSystemId, repoGroupId); + repositoryBranchService.syncBranches(externalSystemId, repoGroupId); } else { // 全量同步 - count = repositoryBranchService.syncBranches(externalSystemId); + repositoryBranchService.syncBranches(externalSystemId); } - return Response.success(count); + return Response.success(); } @Override diff --git a/backend/src/main/java/com/qqchen/deploy/backend/deploy/api/RepositoryGroupApiController.java b/backend/src/main/java/com/qqchen/deploy/backend/deploy/api/RepositoryGroupApiController.java index b883c468..805d55ca 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/deploy/api/RepositoryGroupApiController.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/deploy/api/RepositoryGroupApiController.java @@ -28,13 +28,13 @@ public class RepositoryGroupApiController extends BaseController sync( + public Response sync( @Parameter(description = "外部系统ID", required = true) @RequestParam Long externalSystemId ) { - Integer count = repositoryGroupService.syncGroups(externalSystemId); - return Response.success(count); + repositoryGroupService.syncGroups(externalSystemId); + return Response.success(); } @Override diff --git a/backend/src/main/java/com/qqchen/deploy/backend/deploy/api/RepositoryProjectApiController.java b/backend/src/main/java/com/qqchen/deploy/backend/deploy/api/RepositoryProjectApiController.java index e223ce0b..6ff7037b 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/deploy/api/RepositoryProjectApiController.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/deploy/api/RepositoryProjectApiController.java @@ -28,21 +28,20 @@ public class RepositoryProjectApiController extends BaseController sync( + public Response sync( @Parameter(description = "外部系统ID", required = true) @RequestParam Long externalSystemId, @Parameter(description = "仓库组ID(可选)", required = false) @RequestParam(required = false) Long repoGroupId ) { - Integer count; if (repoGroupId != null) { // 同步单个仓库组 - count = repositoryProjectService.syncProjects(externalSystemId, repoGroupId); + repositoryProjectService.syncProjects(externalSystemId, repoGroupId); } else { // 全量同步 - count = repositoryProjectService.syncProjects(externalSystemId); + repositoryProjectService.syncProjects(externalSystemId); } - return Response.success(count); + return Response.success(); } @Override diff --git a/backend/src/main/java/com/qqchen/deploy/backend/deploy/service/IRepositoryBranchService.java b/backend/src/main/java/com/qqchen/deploy/backend/deploy/service/IRepositoryBranchService.java index 02ad885d..677b0272 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/deploy/service/IRepositoryBranchService.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/deploy/service/IRepositoryBranchService.java @@ -11,31 +11,28 @@ import com.qqchen.deploy.backend.framework.service.IBaseService; public interface IRepositoryBranchService extends IBaseService { /** - * 同步指定外部系统下的所有分支(全量同步) + * 同步指定外部系统下的所有分支(异步执行,全量同步) * * @param externalSystemId 外部系统ID - * @return 同步的分支数量 */ - Integer syncBranches(Long externalSystemId); + void syncBranches(Long externalSystemId); /** - * 同步指定仓库组下所有项目的分支 + * 同步指定仓库组下所有项目的分支(异步执行) * * @param externalSystemId 外部系统ID * @param repoGroupId 仓库组ID - * @return 同步的分支数量 */ - Integer syncBranches(Long externalSystemId, Long repoGroupId); + void syncBranches(Long externalSystemId, Long repoGroupId); /** - * 同步指定项目的分支 + * 同步指定项目的分支(异步执行) * * @param externalSystemId 外部系统ID * @param repoGroupId 仓库组ID * @param repoProjectId 仓库项目ID - * @return 同步的分支数量 */ - Integer syncBranches(Long externalSystemId, Long repoGroupId, Long repoProjectId); + void syncBranches(Long externalSystemId, Long repoGroupId, Long repoProjectId); /** * 统计指定外部系统下的分支数量 diff --git a/backend/src/main/java/com/qqchen/deploy/backend/deploy/service/IRepositoryGroupService.java b/backend/src/main/java/com/qqchen/deploy/backend/deploy/service/IRepositoryGroupService.java index 88131a94..dd1d5d06 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/deploy/service/IRepositoryGroupService.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/deploy/service/IRepositoryGroupService.java @@ -13,12 +13,11 @@ import java.util.List; public interface IRepositoryGroupService extends IBaseService { /** - * 同步指定外部系统的所有仓库组(包含同步历史记录) + * 同步指定外部系统的所有仓库组(异步执行,包含同步历史记录) * * @param externalSystemId 外部系统ID - * @return 同步的仓库组数量 */ - Integer syncGroups(Long externalSystemId); + void syncGroups(Long externalSystemId); /** * 统计外部系统的仓库组数量 diff --git a/backend/src/main/java/com/qqchen/deploy/backend/deploy/service/IRepositoryProjectService.java b/backend/src/main/java/com/qqchen/deploy/backend/deploy/service/IRepositoryProjectService.java index 80d28f90..e3b7a9f1 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/deploy/service/IRepositoryProjectService.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/deploy/service/IRepositoryProjectService.java @@ -13,21 +13,19 @@ import java.util.List; public interface IRepositoryProjectService extends IBaseService { /** - * 同步指定外部系统下的所有项目(全量同步) + * 同步指定外部系统下的所有项目(异步执行,全量同步) * * @param externalSystemId 外部系统ID - * @return 同步的项目数量 */ - Integer syncProjects(Long externalSystemId); + void syncProjects(Long externalSystemId); /** - * 同步指定仓库组下的所有项目 + * 同步指定仓库组下的所有项目(异步执行) * * @param externalSystemId 外部系统ID * @param repoGroupId 仓库组ID - * @return 同步的项目数量 */ - Integer syncProjects(Long externalSystemId, Long repoGroupId); + void syncProjects(Long externalSystemId, Long repoGroupId); /** * 统计指定外部系统下的项目数量 diff --git a/backend/src/main/java/com/qqchen/deploy/backend/deploy/service/impl/RepositoryBranchServiceImpl.java b/backend/src/main/java/com/qqchen/deploy/backend/deploy/service/impl/RepositoryBranchServiceImpl.java index c32b7153..20e0a42e 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/deploy/service/impl/RepositoryBranchServiceImpl.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/deploy/service/impl/RepositoryBranchServiceImpl.java @@ -21,6 +21,7 @@ import com.qqchen.deploy.backend.deploy.service.IRepositorySyncHistoryService; import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; import org.springframework.orm.ObjectOptimisticLockingFailureException; +import org.springframework.scheduling.annotation.Async; import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -189,21 +190,24 @@ public class RepositoryBranchServiceImpl extends BaseServiceImpl