From fd13f6d22125db6c6ac926e981f51fcee346a2a8 Mon Sep 17 00:00:00 2001 From: zhouwentao <1577701412@qq.com> Date: Mon, 17 Jul 2023 21:22:39 +0800 Subject: [PATCH] updates --- .../impl/OcrMetadataConfigServiceImpl.java | 35 +++++++++++++++---- 1 file changed, 29 insertions(+), 6 deletions(-) diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/service/impl/OcrMetadataConfigServiceImpl.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/service/impl/OcrMetadataConfigServiceImpl.java index 6a913a6..0acc5ad 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/service/impl/OcrMetadataConfigServiceImpl.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ocr/service/impl/OcrMetadataConfigServiceImpl.java @@ -20,6 +20,7 @@ import java.util.ArrayList; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; +import java.util.function.Function; import java.util.stream.Collectors; /** @@ -47,9 +48,19 @@ public class OcrMetadataConfigServiceImpl extends ServiceImpl ocrMetadataConfigDetailList = ocrMetadataConfigSaveModel.getOcrMetadataConfigDetailList(); + if(ocrMetadataConfigDetailList!=null&&ocrMetadataConfigDetailList.size()>0){ + //判断重复字段名 + Map countMap = ocrMetadataConfigDetailList.stream().map(o->o.getFieldName()).collect(Collectors.groupingBy(Function.identity(), Collectors.counting())); + if (countMap.keySet().size()>0) { + //有重复的字段名 + String fieldsName = countMap.keySet().stream().filter(key -> countMap.get(key) > 1).distinct().collect(Collectors.joining(",")); + AssertUtils.isEmpty(fieldsName,String.format("字段名[%s]-重复了",fieldsName)); + } + for (OcrMetadataConfigDetail detail : ocrMetadataConfigSaveModel.getOcrMetadataConfigDetailList()) { + detail.setMetadataConfigId(ocrMetadataConfig.getId()); + ocrMetadataConfigDetailService.saveOrUpdate(detail); + } } return ocrMetadataConfig; } @@ -60,10 +71,22 @@ public class OcrMetadataConfigServiceImpl extends ServiceImpl ocrMetadataConfigDetailList = ocrMetadataConfigSaveModel.getOcrMetadataConfigDetailList(); + + if(ocrMetadataConfigDetailList!=null&&ocrMetadataConfigDetailList.size()>0){ + //判断重复字段名 + Map countMap = ocrMetadataConfigDetailList.stream().map(o->o.getFieldName()).collect(Collectors.groupingBy(Function.identity(), Collectors.counting())); + if (countMap.keySet().size()>0) { + //有重复的字段名 + String fieldsName = countMap.keySet().stream().filter(key -> countMap.get(key) > 1).distinct().collect(Collectors.joining(",")); + AssertUtils.isEmpty(fieldsName,String.format("字段名[%s]-重复了",fieldsName)); + } + for (OcrMetadataConfigDetail detail : ocrMetadataConfigSaveModel.getOcrMetadataConfigDetailList()) { + detail.setMetadataConfigId(ocrMetadataConfig.getId()); + ocrMetadataConfigDetailService.saveOrUpdate(detail); + } } + //删除旧明细 List notRemoveIdList = new ArrayList<>(); if (ocrMetadataConfigSaveModel.getOcrMetadataConfigDetailList().size()>0) {