From 216056340e76d812c2d221c192edc0b7e1f5ef2d Mon Sep 17 00:00:00 2001 From: "1437892690@qq.com" <1437892690@qq.com> Date: Thu, 26 Jun 2025 15:41:48 +0800 Subject: [PATCH 1/2] =?UTF-8?q?[=E4=BF=AE=E5=A4=8D]=20=E8=B6=85=E7=BA=A7?= =?UTF-8?q?=E6=B5=81=E6=B0=B4=E7=BA=BF=E5=88=9B=E5=BB=BA=E6=89=B9=E9=87=8F?= =?UTF-8?q?=E4=BD=9C=E4=B8=9A=E6=97=B6=E6=97=A0=E6=B3=95=E9=80=89=E6=8B=A9?= =?UTF-8?q?=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 关联 #[1452171260821504]超级流水线创建批量作业时无法选择版本 http://192.168.0.96:8090/demo/rdm.html#/bug-detail/939050947543040/939050947543057/1452171260821504 --- ...PipelineAppSystemModuleEnvScenarioApi.java | 78 ++++++++++++------- .../util/DeployPipelineConfigManager.java | 9 ++- 2 files changed, 53 insertions(+), 34 deletions(-) diff --git a/src/main/java/neatlogic/module/deploy/api/pipeline/ListPipelineAppSystemModuleEnvScenarioApi.java b/src/main/java/neatlogic/module/deploy/api/pipeline/ListPipelineAppSystemModuleEnvScenarioApi.java index b5a893cf..f714ed22 100644 --- a/src/main/java/neatlogic/module/deploy/api/pipeline/ListPipelineAppSystemModuleEnvScenarioApi.java +++ b/src/main/java/neatlogic/module/deploy/api/pipeline/ListPipelineAppSystemModuleEnvScenarioApi.java @@ -60,50 +60,68 @@ public class ListPipelineAppSystemModuleEnvScenarioApi extends PrivateApiCompone @Description(desc = "获取超级流水线应用模块环境列表接口") @Override public Object myDoService(JSONObject jsonObj) throws Exception { + List jobTemplateList = new ArrayList<>(); PipelineVo pipelineVo = deployPipelineMapper.getPipelineById(jsonObj.getLong("id")); - JobTemplateList jobTemplateList = new JobTemplateList(); - Map envPipelineMap = new HashMap<>(); + Map envPipelineMap = new HashMap<>(); if (CollectionUtils.isNotEmpty(pipelineVo.getLaneList())) { for (PipelineLaneVo laneVo : pipelineVo.getLaneList()) { if (CollectionUtils.isNotEmpty(laneVo.getGroupList())) { for (PipelineGroupVo groupVo : laneVo.getGroupList()) { if (CollectionUtils.isNotEmpty(groupVo.getJobTemplateList())) { for (PipelineJobTemplateVo jobTemplateVo : groupVo.getJobTemplateList()) { - jobTemplateList.add(jobTemplateVo, envPipelineMap); + // 根据应用和模块合并环境和场景,用于前端展示 + PipelineEnvScenarioVo envScenarioVo = new PipelineEnvScenarioVo(); + envScenarioVo.setEnvId(jobTemplateVo.getEnvId()); + envScenarioVo.setEnvName(jobTemplateVo.getEnvName()); + envScenarioVo.setScenarioId(jobTemplateVo.getScenarioId()); + envScenarioVo.setScenarioName(jobTemplateVo.getScenarioName()); + Optional op = jobTemplateList.stream().filter(d -> d.getAppSystemId().equals(jobTemplateVo.getAppSystemId()) + && d.getAppModuleId().equals(jobTemplateVo.getAppModuleId()) + ).findFirst(); + if (op.isPresent()) { + PipelineJobTemplateVo existsJobVo = op.get(); + existsJobVo.addEnvScenario(envScenarioVo); + existsJobVo.setScenarioId(envScenarioVo.getScenarioId()); + DeployPipelineConfigManager.setIsJobTemplateVoHasBuildDeployType(existsJobVo, envPipelineMap); + } else { + jobTemplateVo.addEnvScenario(envScenarioVo); + DeployPipelineConfigManager.setIsJobTemplateVoHasBuildDeployType(jobTemplateVo, envPipelineMap); + jobTemplateList.add(jobTemplateVo); + } } } } } } } - return jobTemplateList.get(); + return jobTemplateList; } - static class JobTemplateList { - List jobTemplateList = new ArrayList<>(); - - public void add(PipelineJobTemplateVo jobTemplateVo, Map envPipelineMap) { - PipelineJobTemplateVo existsJobVo = null; - Optional op = jobTemplateList.stream().filter(d -> d.getAppSystemId().equals(jobTemplateVo.getAppSystemId()) - && d.getAppModuleId().equals(jobTemplateVo.getAppModuleId()) - ).findFirst(); - existsJobVo = op.orElse(jobTemplateVo); - PipelineEnvScenarioVo envScenarioVo = new PipelineEnvScenarioVo(); - envScenarioVo.setEnvId(jobTemplateVo.getEnvId()); - envScenarioVo.setEnvName(jobTemplateVo.getEnvName()); - envScenarioVo.setScenarioId(jobTemplateVo.getScenarioId()); - envScenarioVo.setScenarioName(jobTemplateVo.getScenarioName()); - existsJobVo.addEnvScenario(envScenarioVo); - existsJobVo.setScenarioId(envScenarioVo.getScenarioId()); - DeployPipelineConfigManager.setIsJobTemplateVoHasBuildDeployType(existsJobVo, envPipelineMap); - if (!op.isPresent()) { - jobTemplateList.add(existsJobVo); - } - } - - public List get() { - return this.jobTemplateList; - } - } +// static class JobTemplateList { +// List jobTemplateList = new ArrayList<>(); +// +// public void add(PipelineJobTemplateVo jobTemplateVo, Map envPipelineMap) { +// PipelineJobTemplateVo existsJobVo = null; +// Optional op = jobTemplateList.stream().filter(d -> d.getAppSystemId().equals(jobTemplateVo.getAppSystemId()) +// && d.getAppModuleId().equals(jobTemplateVo.getAppModuleId()) +// ).findFirst(); +// existsJobVo = op.orElse(jobTemplateVo); +// PipelineEnvScenarioVo envScenarioVo = new PipelineEnvScenarioVo(); +// envScenarioVo.setEnvId(jobTemplateVo.getEnvId()); +// envScenarioVo.setEnvName(jobTemplateVo.getEnvName()); +// envScenarioVo.setScenarioId(jobTemplateVo.getScenarioId()); +// envScenarioVo.setScenarioName(jobTemplateVo.getScenarioName()); +// existsJobVo.addEnvScenario(envScenarioVo); +// existsJobVo.setScenarioId(envScenarioVo.getScenarioId()); +// DeployPipelineConfigManager.setIsJobTemplateVoHasBuildDeployType(existsJobVo, envPipelineMap); +// if (!op.isPresent()) { +// jobTemplateList.add(existsJobVo); +// } +// } +// +// public List get() { +// return this.jobTemplateList; +// } +// } } diff --git a/src/main/java/neatlogic/module/deploy/util/DeployPipelineConfigManager.java b/src/main/java/neatlogic/module/deploy/util/DeployPipelineConfigManager.java index 478ae113..e194cac1 100644 --- a/src/main/java/neatlogic/module/deploy/util/DeployPipelineConfigManager.java +++ b/src/main/java/neatlogic/module/deploy/util/DeployPipelineConfigManager.java @@ -624,7 +624,7 @@ public class DeployPipelineConfigManager { * @param pipeline 超级流水线 */ public static void judgeHasBuildOrDeployTypeToolInPipeline(Long appSystemId, Long appModuleId, PipelineVo pipeline) { - Map envPipelineMap = new HashMap<>(); + Map envPipelineMap = new HashMap<>(); out: if (CollectionUtils.isNotEmpty(pipeline.getLaneList())) { for (int i = 0; i < pipeline.getLaneList().size(); i++) { @@ -663,11 +663,12 @@ public class DeployPipelineConfigManager { * @param jobTemplateVo 流水线 * @param envPipelineMap 出重环境流水线map */ - public static void setIsJobTemplateVoHasBuildDeployType(PipelineJobTemplateVo jobTemplateVo, Map envPipelineMap) { + public static void setIsJobTemplateVoHasBuildDeployType(PipelineJobTemplateVo jobTemplateVo, Map envPipelineMap) { if (jobTemplateVo.getIsHasBuildTypeTool() == 1 && jobTemplateVo.getIsHasDeployTypeTool() == 1) { return; } - DeployPipelineConfigVo pipelineConfigVo = envPipelineMap.get(jobTemplateVo.getEnvId()); + String key = jobTemplateVo.getAppSystemId() + "," + jobTemplateVo.getAppModuleId() + "," + jobTemplateVo.getEnvId(); + DeployPipelineConfigVo pipelineConfigVo = envPipelineMap.get(key); if (pipelineConfigVo == null) { pipelineConfigVo = DeployPipelineConfigManager.init(jobTemplateVo.getAppSystemId()) .withAppModuleId(jobTemplateVo.getAppModuleId()) @@ -677,7 +678,7 @@ public class DeployPipelineConfigManager { .withIsUpdateProfile(false) .getConfig(); if (pipelineConfigVo != null) { - envPipelineMap.put(jobTemplateVo.getEnvId(), pipelineConfigVo); + envPipelineMap.put(key, pipelineConfigVo); } } if (pipelineConfigVo != null) { -- Gitee From 8bba359c8a5c571772277397c3bb8ac6f404f4c2 Mon Sep 17 00:00:00 2001 From: "1437892690@qq.com" <1437892690@qq.com> Date: Thu, 26 Jun 2025 15:45:56 +0800 Subject: [PATCH 2/2] =?UTF-8?q?[=E4=BF=AE=E5=A4=8D]=20=E8=B6=85=E7=BA=A7?= =?UTF-8?q?=E6=B5=81=E6=B0=B4=E7=BA=BF=E5=88=9B=E5=BB=BA=E6=89=B9=E9=87=8F?= =?UTF-8?q?=E4=BD=9C=E4=B8=9A=E6=97=B6=E6=97=A0=E6=B3=95=E9=80=89=E6=8B=A9?= =?UTF-8?q?=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 关联 #[1452171260821504]超级流水线创建批量作业时无法选择版本 http://192.168.0.96:8090/demo/rdm.html#/bug-detail/939050947543040/939050947543057/1452171260821504 --- .../ListPipelineAppSystemModuleEnvScenarioApi.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/main/java/neatlogic/module/deploy/api/pipeline/ListPipelineAppSystemModuleEnvScenarioApi.java b/src/main/java/neatlogic/module/deploy/api/pipeline/ListPipelineAppSystemModuleEnvScenarioApi.java index f714ed22..25f21e20 100644 --- a/src/main/java/neatlogic/module/deploy/api/pipeline/ListPipelineAppSystemModuleEnvScenarioApi.java +++ b/src/main/java/neatlogic/module/deploy/api/pipeline/ListPipelineAppSystemModuleEnvScenarioApi.java @@ -21,6 +21,7 @@ import neatlogic.framework.common.constvalue.ApiParamType; import neatlogic.framework.deploy.auth.DEPLOY_BASE; import neatlogic.framework.deploy.dto.app.DeployPipelineConfigVo; import neatlogic.framework.deploy.dto.pipeline.*; +import neatlogic.framework.deploy.exception.DeployPipelineNotFoundException; import neatlogic.framework.restful.annotation.*; import neatlogic.framework.restful.constvalue.OperationTypeEnum; import neatlogic.framework.restful.core.privateapi.PrivateApiComponentBase; @@ -60,8 +61,12 @@ public class ListPipelineAppSystemModuleEnvScenarioApi extends PrivateApiCompone @Description(desc = "获取超级流水线应用模块环境列表接口") @Override public Object myDoService(JSONObject jsonObj) throws Exception { + Long id = jsonObj.getLong("id"); + PipelineVo pipelineVo = deployPipelineMapper.getPipelineById(id); + if (pipelineVo == null) { + throw new DeployPipelineNotFoundException(id); + } List jobTemplateList = new ArrayList<>(); - PipelineVo pipelineVo = deployPipelineMapper.getPipelineById(jsonObj.getLong("id")); Map envPipelineMap = new HashMap<>(); if (CollectionUtils.isNotEmpty(pipelineVo.getLaneList())) { for (PipelineLaneVo laneVo : pipelineVo.getLaneList()) { -- Gitee