From a932f4fe3e00561a22a55103f1f01d90c9295072 Mon Sep 17 00:00:00 2001 From: linbangquan <1437892690@qq.com> Date: Wed, 22 Nov 2023 12:23:40 +0800 Subject: [PATCH] =?UTF-8?q?[=E5=8A=9F=E8=83=BD]=20=E5=90=8E=E7=AB=AF-?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BF=9D=E5=AD=98cmdb=E8=8A=82=E7=82=B9?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 关联 #[1030280003944448]后端-修改保存cmdb节点逻辑 http://192.168.0.96:8090/demo/rdm.html#/task-detail/939050947543040/939050947543050/1030280003944448 --- .../dto/CiEntitySyncBatchDataSourceVo.java | 9 ++++ .../CmdbSyncProcessUtilHandler.java | 46 ++++++++++++++++++- 2 files changed, 54 insertions(+), 1 deletion(-) diff --git a/src/main/java/neatlogic/module/cmdb/process/dto/CiEntitySyncBatchDataSourceVo.java b/src/main/java/neatlogic/module/cmdb/process/dto/CiEntitySyncBatchDataSourceVo.java index 933002cb..455f6fdb 100644 --- a/src/main/java/neatlogic/module/cmdb/process/dto/CiEntitySyncBatchDataSourceVo.java +++ b/src/main/java/neatlogic/module/cmdb/process/dto/CiEntitySyncBatchDataSourceVo.java @@ -4,6 +4,7 @@ import java.util.List; public class CiEntitySyncBatchDataSourceVo { private String attributeUuid; + private String type; private List filterList; public String getAttributeUuid() { @@ -14,6 +15,14 @@ public class CiEntitySyncBatchDataSourceVo { this.attributeUuid = attributeUuid; } + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + public List getFilterList() { return filterList; } diff --git a/src/main/java/neatlogic/module/cmdb/process/stephandler/CmdbSyncProcessUtilHandler.java b/src/main/java/neatlogic/module/cmdb/process/stephandler/CmdbSyncProcessUtilHandler.java index 3e0621c1..46b42b90 100644 --- a/src/main/java/neatlogic/module/cmdb/process/stephandler/CmdbSyncProcessUtilHandler.java +++ b/src/main/java/neatlogic/module/cmdb/process/stephandler/CmdbSyncProcessUtilHandler.java @@ -386,6 +386,14 @@ public class CmdbSyncProcessUtilHandler extends ProcessStepInternalHandlerBase { logger.warn("ciEntityConfig.configList[x].batchDataSource.attributeUuid is null"); throw new CiEntityConfigIllegalException("ciEntityConfig.configList[x].batchDataSource.attributeUuid is null"); } + String type = batchDataSource.getType(); + if (StringUtils.isBlank(type)) { + logger.warn("createPolicy = batch, ciEntityConfig.configList[x].batchDataSource.type is null"); + throw new CiEntityConfigIllegalException("createPolicy = batch, ciEntityConfig.configList[x].batchDataSource.type is null"); + } else if (!Objects.equals(type, "formSubassemblyComponent") && !Objects.equals(type, "formTableComponent")) { + logger.warn("createPolicy = batch, ciEntityConfig.configList[x].batchDataSource.type = " + type + " is not valid"); + throw new CiEntityConfigIllegalException("createPolicy = batch, ciEntityConfig.configList[x].batchDataSource.type = " + type + " is not valid"); + } List filterList = batchDataSource.getFilterList(); if (CollectionUtils.isNotEmpty(filterList)) { Iterator filterIterator = filterList.iterator(); @@ -438,7 +446,43 @@ public class CmdbSyncProcessUtilHandler extends ProcessStepInternalHandlerBase { JSONArray valueList = mappingVo.getValueList(); String column = mappingVo.getColumn(); List filterList = mappingVo.getFilterList(); - if (Objects.equals(mappingMode, "formTableComponent")) { + if (Objects.equals(mappingMode, "formSubassemblyComponent")) { + if (CollectionUtils.isEmpty(valueList)) { + logger.warn("ciEntityConfig.configList[x].mappingList[y].valueList is null"); + throw new CiEntityConfigIllegalException("ciEntityConfig.configList[x].mappingList[y].valueList is null"); + } + if (valueList.get(0) == null) { + logger.warn("ciEntityConfig.configList[x].mappingList[y].valueList[0] is null"); + throw new CiEntityConfigIllegalException("ciEntityConfig.configList[x].mappingList[y].valueList[0] is null"); + } + if (StringUtils.isBlank(column)) { + logger.warn("ciEntityConfig.configList[x].mappingList[y].column is null"); + throw new CiEntityConfigIllegalException("ciEntityConfig.configList[x].mappingList[y].column is null"); + } + if (CollectionUtils.isNotEmpty(filterList)) { + Iterator filterIterator = filterList.iterator(); + while (filterIterator.hasNext()) { + CiEntitySyncFilterVo filterVo = filterIterator.next(); + if (filterVo == null) { + logger.warn("ciEntityConfig.configList[x].mappingList[y].filterList[z] is null"); + filterIterator.remove(); + continue; + } + if (StringUtils.isBlank(filterVo.getColumn())) { + logger.warn("ciEntityConfig.configList[x].mappingList[y].filterList[z].column is null"); + throw new CiEntityConfigIllegalException("ciEntityConfig.configList[x].mappingList[y].filterList[z].column is null"); + } + if (StringUtils.isBlank(filterVo.getExpression())) { + logger.warn("ciEntityConfig.configList[x].mappingList[y].filterList[z].expression is null"); + throw new CiEntityConfigIllegalException("ciEntityConfig.configList[x].mappingList[y].filterList[z].expression is null"); + } + if (StringUtils.isBlank(filterVo.getValue())) { + logger.warn("ciEntityConfig.configList[x].mappingList[y].filterList[z].value is null"); + throw new CiEntityConfigIllegalException("ciEntityConfig.configList[x].mappingList[y].filterList[z].value is null"); + } + } + } + } else if (Objects.equals(mappingMode, "formTableComponent")) { if (CollectionUtils.isEmpty(valueList)) { logger.warn("ciEntityConfig.configList[x].mappingList[y].valueList is null"); throw new CiEntityConfigIllegalException("ciEntityConfig.configList[x].mappingList[y].valueList is null"); -- Gitee