Browse Source

对象校验后结果放到object对象的mark中,供数据迁移使用 验证方法回退

lvxianyun 3 years ago
parent
commit
814301153d

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

@@ -92,15 +92,10 @@ public class ObjectDigitalServiceImpl extends ServiceImpl<ObjectDigitalMapper, O
 
     @Override
     public List<ObjectDigital> insert(List<ObjectDigital> voList) {
-        //验证失败的数据
-        List<ObjectDigital> errorList = validateOnSave(voList, false);
-
-        if(CollUtil.isEmpty(voList) && CollUtil.isEmpty(errorList)) {
+        validateOnSave(voList, false);
+        if(CollUtil.isEmpty(voList)) {
             return null;
         }
-        if(CollUtil.isEmpty(voList) && !CollUtil.isEmpty(errorList)) {
-            return errorList;
-        }
         //获取对象类型
         Map<String, String> typeMap = typeService.queryObjTypeMap();
         voList.forEach(vo -> {
@@ -120,8 +115,6 @@ public class ObjectDigitalServiceImpl extends ServiceImpl<ObjectDigitalMapper, O
             // 新增后消息
             messageSender.sendMessage(DigitalMessageConstant.OPERATE_AFTER_INSERT, null, vo, false);
         });
-        //返回总体数据
-        voList.addAll(errorList);
         return voList;
     }
 
@@ -686,20 +679,18 @@ public class ObjectDigitalServiceImpl extends ServiceImpl<ObjectDigitalMapper, O
      * @param voList
      * @param isUpdate
      */
-    private List<ObjectDigital> validateOnSave(List<ObjectDigital> voList, boolean isUpdate) {
-        return validateInfoCode(voList);
+    private void validateOnSave(List<ObjectDigital> voList, boolean isUpdate) {
+        validateInfoCode(voList);
     }
 
     /**
      * 信息点值校验
      * @param voList
-     * @return 对象类型不存在的需要返回
      */
-    private List<ObjectDigital> validateInfoCode(List<ObjectDigital> voList) {
+    private void validateInfoCode(List<ObjectDigital> voList) {
         if(CollUtil.isEmpty(voList)) {
-            return Collections.emptyList();
+            return ;
         }
-        List<ObjectDigital> errorList = new ArrayList<>();
         // 保存时,项目ID一定有,而且都是操作这个项目的数据。这是前提,若后续放开全集团保存,则应按项目分组后查询信息点
         String projectId = AppContext.getContext().getProjectId();
         //获取该信息点当前classCode
@@ -713,8 +704,6 @@ public class ObjectDigitalServiceImpl extends ServiceImpl<ObjectDigitalMapper, O
             Map<String, ObjectInfoDefine> infoMap = typeInfoMap == null ? null : typeInfoMap.get(vo.getClassCode());
             if(MapUtil.isEmpty(infoMap)) {
                 log.error(StrUtil.format("没有对象类型【{}】的信息点定义信息!", vo.getClassCode()));
-                vo.setMark(StrUtil.format("没有对象类型【{}】的信息点定义信息!", vo.getClassCode()));
-                errorList.add(vo);
                 continue;
             }
             // 只保留有对象类型的
@@ -739,7 +728,6 @@ public class ObjectDigitalServiceImpl extends ServiceImpl<ObjectDigitalMapper, O
                 } catch (BusinessException e) {
                     // 校验不通过的移除
                     infoKeys.remove();
-
                     continue;
                 }
             }
@@ -749,7 +737,6 @@ public class ObjectDigitalServiceImpl extends ServiceImpl<ObjectDigitalMapper, O
         if(CollUtil.isNotEmpty(restList)) {
             voList.addAll(restList);
         }
-        return errorList;
     }
 
     /**