Sfoglia il codice sorgente

枚举信息点定义有误时,校验空指针

yucheng 3 anni fa
parent
commit
502b0f402e

+ 7 - 4
dmp-business/dmp-rwd/src/main/java/com/persagy/dmp/rwd/digital/service/impl/ObjectDigitalServiceImpl.java

@@ -10,13 +10,11 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.node.ArrayNode;
 import com.fasterxml.jackson.databind.node.ObjectNode;
 import com.persagy.dmp.basic.constant.DigitalMessageConstant;
 import com.persagy.dmp.basic.dto.RequestData;
 import com.persagy.dmp.basic.model.CodeTableTypeEnum;
-import com.persagy.dmp.basic.model.QueryCriteria;
 import com.persagy.dmp.codetable.client.CodeTableDataFacade;
 import com.persagy.dmp.codetable.entity.CodeTableData;
 import com.persagy.dmp.common.constant.CommonConstant;
@@ -42,7 +40,6 @@ import com.persagy.dmp.rwd.digital.service.IObjectDigitalService;
 import com.persagy.dmp.rwd.parser.service.InfoDataFactory;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.lang.StringUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -725,7 +722,13 @@ public class ObjectDigitalServiceImpl extends ServiceImpl<ObjectDigitalMapper, O
                     continue;
                 }
                 // 校验信息点值
-                InfoDataFactory.parse(infoMap.get(infoCode), infos.get(infoCode));
+                try {
+                    InfoDataFactory.parse(infoMap.get(infoCode), infos.get(infoCode));
+                } catch (BusinessException e) {
+                    // 校验不通过的移除
+                    infoKeys.remove();;
+                    continue;
+                }
             }
         }
         // 只保留能找到对象类型的