From d76ba019c246d1135cac27e7adf263b117cff66d Mon Sep 17 00:00:00 2001 From: shuliYao <1397940314@qq.com> Date: Tue, 9 Apr 2024 10:55:56 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=A7=A3=E5=86=B3=E6=9F=A5=E9=87=8D?= =?UTF-8?q?=E5=85=A5=E5=BA=93=E6=95=B0=E6=8D=AE=E9=87=8F=E8=BF=87=E5=A4=A7?= =?UTF-8?q?=EF=BC=8C=E5=AF=BC=E8=87=B4=E4=BA=8B=E5=8A=A1=E5=B4=A9=E6=BA=83?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dataobject/OcrCheckDuplicateResult.java | 3 +- .../impl/OcrCheckDuplicateServiceImpl.java | 68 +++++++++++++------ 2 files changed, 48 insertions(+), 23 deletions(-) diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dataobject/OcrCheckDuplicateResult.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dataobject/OcrCheckDuplicateResult.java index e67df8d6..0dba40bc 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dataobject/OcrCheckDuplicateResult.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dataobject/OcrCheckDuplicateResult.java @@ -41,7 +41,8 @@ public class OcrCheckDuplicateResult implements Serializable { @ApiModelProperty(value = "图片id") private Long pictureId; - @ApiModelProperty(value = "当前图片与任务包其他图片比对结果") + @ApiModelProperty(value = "当前图片与任务包其他图片比对结果 (废弃,入库导致数据量过大)") + @TableField(exist = false) private String compareResultJson; @ApiModelProperty(value = "查重任务id") diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/impl/OcrCheckDuplicateServiceImpl.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/impl/OcrCheckDuplicateServiceImpl.java index 435774a8..dfa6beef 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/impl/OcrCheckDuplicateServiceImpl.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/impl/OcrCheckDuplicateServiceImpl.java @@ -178,8 +178,8 @@ public class OcrCheckDuplicateServiceImpl extends ServiceImpl ocrPictureList, UserToken sysUser, Long checkDuplicateId) throws Exception { +// @Transactional(rollbackFor = Exception.class) + public void comparePictureResultSave(List ocrPictureList, UserToken sysUser, Long checkDuplicateId){ List saveList = new ArrayList<>(); //需要创建任务的图片集合 @@ -291,34 +291,58 @@ public class OcrCheckDuplicateServiceImpl extends ServiceImpl pictures = new ArrayList<>(); + pictures.add(ocrPicture); + try { + this.saveCheckDuplicateData(checkDuplicateId,saveList,pictures,ocrPictureList.get(0).getTenantId().toString(),sysUser); + } catch (Exception e) { + logger.error("比对结果入库异常! error:{}",e.getMessage()); + } - logger.info("查重任务:{},结束批量入库任务",checkDuplicateId); - //开始更新图片最高阈值 - logger.info("查重任务:{},更新最高阈值",checkDuplicateId); - this.updatePictureSimilarityScore(saveList); - logger.info("查重任务:{},结束更新最高阈值",checkDuplicateId); - //开始更新 图片历史比对数据结果 - logger.info("查重任务:{},更新图片历史比对结果",checkDuplicateId); - this.updateCompareToPictureDuplicateHis(saveList); - logger.info("查重任务:{},结束图片历史比对结果",checkDuplicateId); saveList = new ArrayList<>(); } - //结果执行 - logger.info("查重任务:{},开启创建任务",checkDuplicateId); - if (CollectionUtils.isNotEmpty(ocrPictureList)) { - ocrTaskchildPictureService.createTask(ocrPictureList, ocrPictureList.get(0).getTenantId().toString(), sysUser); - } } } + /** + * 保存查重数据 + * @return + */ + @Transactional(rollbackFor = Exception.class) + public boolean saveCheckDuplicateData(Long checkDuplicateId,List saveList,List ocrPictureList, String tenantId,UserToken sysUser) throws Exception { + //1.批量入库 + logger.debug("查重任务:{},开启批量入库任务",checkDuplicateId); + boolean b = checkDuplicateResultService.saveOrUpdateBatch(saveList); + if (!b) { + logger.error("入库比对结果失败,{}",checkDuplicateId); + throw new Exception("批量入库比对结果失败!"); + } + //2.开始更新图片最高阈值 + logger.debug("查重任务:{},更新最高阈值",checkDuplicateId); + b = this.updatePictureSimilarityScore(saveList); + if (!b) { + logger.error("更新最高阈值,{}",checkDuplicateId); + throw new Exception("更新最高阈值失败!"); + } + //3.开始更新 图片历史比对数据结果 + logger.info("查重任务:{},更新图片历史比对结果",checkDuplicateId); + b = this.updateCompareToPictureDuplicateHis(saveList); + if (!b) { + logger.error("更新图片历史比对结果失败,{}",checkDuplicateId); + throw new Exception("更新图片历史比对结果失败!"); + } + //4.开始更新 图片历史比对数据结果 + logger.info("查重任务:{},开启创建任务",checkDuplicateId); + if (CollectionUtils.isNotEmpty(ocrPictureList)) { + ocrTaskchildPictureService.createTask(ocrPictureList, ocrPictureList.get(0).getTenantId().toString(), sysUser); + } + return true; + } + + @Override public Boolean removeCheckDuplicate(String checkDuplicateNo, String tenantId) { QueryWrapper queryWrapper = new QueryWrapper();