From 96231d154c7014ac56e815eae2c5696ad2a590d1 Mon Sep 17 00:00:00 2001 From: linbangquan <1437892690@qq.com> Date: Mon, 4 Dec 2023 11:34:06 +0800 Subject: [PATCH] =?UTF-8?q?[=E5=8A=9F=E8=83=BD]=20=E5=BA=94=E7=94=A8?= =?UTF-8?q?=E9=85=8D=E7=BD=AE-=E6=B7=BB=E5=8A=A0=E5=BA=94=E7=94=A8?= =?UTF-8?q?=E6=A8=A1=E5=9D=97=E5=A4=B1=E8=B4=A5=EF=BC=8C=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E6=8A=9B=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 关联 #[1038938892894208]应用配置-添加应用模块失败,接口抛异常 http://192.168.0.96:8090/demo/rdm.html#/bug-detail/939050947543040/939050947543057/1038938892894208 --- .../handler/SelectValueHandler.java | 18 ++++++++++++++++-- .../handler/TableValueHandler.java | 18 ++++++++++++++++-- 2 files changed, 32 insertions(+), 4 deletions(-) diff --git a/src/main/java/neatlogic/module/cmdb/attrvaluehandler/handler/SelectValueHandler.java b/src/main/java/neatlogic/module/cmdb/attrvaluehandler/handler/SelectValueHandler.java index f453c4c6..19672ad4 100644 --- a/src/main/java/neatlogic/module/cmdb/attrvaluehandler/handler/SelectValueHandler.java +++ b/src/main/java/neatlogic/module/cmdb/attrvaluehandler/handler/SelectValueHandler.java @@ -175,11 +175,25 @@ public class SelectValueHandler implements IAttrValueHandler { @Override public boolean valid(AttrVo attrVo, JSONArray valueList) { if (CollectionUtils.isNotEmpty(valueList)) { + CiVo ciVo = ciMapper.getCiById(attrVo.getTargetCiId()); for (int i = 0; i < valueList.size(); i++) { String value = valueList.getString(i); try { - Long attrId = Long.valueOf(value); - CiEntityVo ciEntity = ciEntityMapper.getCiEntityBaseInfoById(attrId); + Long id = Long.valueOf(value); + CiEntityVo ciEntity = null; + if (ciVo.getIsVirtual().equals(0)) { + ciEntity = ciEntityMapper.getCiEntityBaseInfoById(id); + } else { + CiEntityVo ciEntityVo = new CiEntityVo(); + ciEntityVo.setCiId(ciVo.getId()); + List idList = new ArrayList<>(); + idList.add(id); + ciEntityVo.setIdList(idList); + List ciEntityList = ciEntityMapper.getVirtualCiEntityBaseInfoByIdList(ciEntityVo); + if (CollectionUtils.isNotEmpty(ciEntityList)) { + ciEntity = ciEntityList.get(0); + } + } if (ciEntity == null) { throw new AttrValueIrregularException(attrVo, value); } diff --git a/src/main/java/neatlogic/module/cmdb/attrvaluehandler/handler/TableValueHandler.java b/src/main/java/neatlogic/module/cmdb/attrvaluehandler/handler/TableValueHandler.java index c5cfdb00..26bd5fba 100644 --- a/src/main/java/neatlogic/module/cmdb/attrvaluehandler/handler/TableValueHandler.java +++ b/src/main/java/neatlogic/module/cmdb/attrvaluehandler/handler/TableValueHandler.java @@ -166,11 +166,25 @@ public class TableValueHandler implements IAttrValueHandler { @Override public boolean valid(AttrVo attrVo, JSONArray valueList) { if (CollectionUtils.isNotEmpty(valueList)) { + CiVo ciVo = ciMapper.getCiById(attrVo.getTargetCiId()); for (int i = 0; i < valueList.size(); i++) { String value = valueList.getString(i); try { - Long attrId = Long.valueOf(value); - CiEntityVo ciEntity = ciEntityMapper.getCiEntityBaseInfoById(attrId); + Long id = Long.valueOf(value); + CiEntityVo ciEntity = null; + if (ciVo.getIsVirtual().equals(0)) { + ciEntity = ciEntityMapper.getCiEntityBaseInfoById(id); + } else { + CiEntityVo ciEntityVo = new CiEntityVo(); + ciEntityVo.setCiId(ciVo.getId()); + List idList = new ArrayList<>(); + idList.add(id); + ciEntityVo.setIdList(idList); + List ciEntityList = ciEntityMapper.getVirtualCiEntityBaseInfoByIdList(ciEntityVo); + if (CollectionUtils.isNotEmpty(ciEntityList)) { + ciEntity = ciEntityList.get(0); + } + } if (ciEntity == null) { throw new AttrValueIrregularException(attrVo, value); } -- Gitee