diff --git a/src/main/java/neatlogic/module/deploy/api/appconfig/system/TreeDeployAppConfigAppSystemAppModuleEnvApi.java b/src/main/java/neatlogic/module/deploy/api/appconfig/system/TreeDeployAppConfigAppSystemAppModuleEnvApi.java index de8d5517bba31bc26306a23c7ec9989824e5aacd..3780121637f0ad6ae71bcd923c08ad1b72fbf45b 100644 --- a/src/main/java/neatlogic/module/deploy/api/appconfig/system/TreeDeployAppConfigAppSystemAppModuleEnvApi.java +++ b/src/main/java/neatlogic/module/deploy/api/appconfig/system/TreeDeployAppConfigAppSystemAppModuleEnvApi.java @@ -14,9 +14,7 @@ import org.apache.commons.collections4.CollectionUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; -import java.util.ArrayList; -import java.util.List; -import java.util.Objects; +import java.util.*; @Service @AuthAction(action = DEPLOY_BASE.class) @@ -57,27 +55,26 @@ public class TreeDeployAppConfigAppSystemAppModuleEnvApi extends PrivateApiCompo } List deployAppModuleList = deployAppConfigMapper.getAppModuleListBySystemId(appSystemId); deployAppSystemVo.setAppModuleList(deployAppModuleList); - List appModuleIdList = new ArrayList<>(); - List envIdList = new ArrayList<>(); for (DeployAppModuleVo deployAppModuleVo : deployAppModuleList) { -// JSONObject resultObj = parsePipeline(appSystemId, deployAppModuleVo.getId()); -// deployAppModuleVo.setIsActive(resultObj.getInteger("isActive")); -// deployAppModuleVo.setOverride(resultObj.getInteger("override")); //查找发布的环境 List deployEnvList = deployAppConfigMapper.getDeployAppEnvListByAppSystemIdAndModuleId(appSystemId, deployAppModuleVo.getId()); //查找cmdb的环境 List cmdbEnvList = deployAppConfigMapper.getCmdbEnvListByAppSystemIdAndModuleId(appSystemId, deployAppModuleVo.getId()); + Set envIdSet = new HashSet<>(); List envList = new ArrayList<>(); - envList.addAll(deployEnvList); - envList.addAll(cmdbEnvList); - deployAppModuleVo.setEnvList(envList); - appModuleIdList.add(deployAppModuleVo.getId()); - for (DeployAppEnvironmentVo env : envList) { - envIdList.add(env.getId()); -// resultObj = parsePipeline(appSystemId, deployAppModuleVo.getId(), env.getId()); -// env.setIsActive(resultObj.getInteger("isActive")); -// env.setOverride(resultObj.getInteger("override")); + for (DeployAppEnvironmentVo env : deployEnvList) { + if (!envIdSet.contains(env.getId())) { + envList.add(env); + envIdSet.add(env.getId()); + } } + for (DeployAppEnvironmentVo env : cmdbEnvList) { + if (!envIdSet.contains(env.getId())) { + envList.add(env); + envIdSet.add(env.getId()); + } + } + deployAppModuleVo.setEnvList(envList); } List deployAppConfigList = deployAppConfigMapper.getAppConfigListByAppSystemId(appSystemId); for (DeployAppModuleVo deployAppModuleVo : deployAppModuleList) { diff --git a/src/main/java/neatlogic/module/deploy/util/DeployPipelineConfigManager.java b/src/main/java/neatlogic/module/deploy/util/DeployPipelineConfigManager.java index 794f48d335cca3492c1f3b5fdc75608de2cd3723..03836a84d0024fde053313f7afbee0317002dc64 100644 --- a/src/main/java/neatlogic/module/deploy/util/DeployPipelineConfigManager.java +++ b/src/main/java/neatlogic/module/deploy/util/DeployPipelineConfigManager.java @@ -119,7 +119,8 @@ public class DeployPipelineConfigManager { public Builder withEnvIdList(List envIdList) { if (CollectionUtils.isNotEmpty(envIdList)) { - this.envIdList.addAll(envIdList); + Set envIdSet = new HashSet<>(envIdList); + this.envIdList.addAll(envIdSet); } return this; } @@ -265,14 +266,14 @@ public class DeployPipelineConfigManager { continue; } for (Long envId : envIdList) { -// boolean flag = false; -// for (DeployAppConfigVo deployAppConfigVo : deployAppConfigList) { -// if (Objects.equals(deployAppConfigVo.getAppModuleId(), appModuleId) && Objects.equals(deployAppConfigVo.getEnvId(), envId)) { -// flag = true; -// break; -// } -// } -// if (flag) { + boolean flag = false; + for (DeployAppConfigVo deployAppConfigVo : deployAppConfigList) { + if (Objects.equals(deployAppConfigVo.getAppModuleId(), appModuleId) && Objects.equals(deployAppConfigVo.getEnvId(), envId)) { + flag = true; + break; + } + } + if (flag) { DeployPipelineConfigVo deployPipelineConfigVo = getMergeDeployPipelineConfig(deployAppConfigList, appSystemId, appModuleId, envId); DeployAppConfigVo deployAppConfigVo = new DeployAppConfigVo(); deployAppConfigVo.setAppSystemId(appSystemId); @@ -280,7 +281,7 @@ public class DeployPipelineConfigManager { deployAppConfigVo.setEnvId(envId); deployAppConfigVo.setConfig(deployPipelineConfigVo); resultList.add(deployAppConfigVo); -// } + } } }