From 0732ed41f1d0a056bef9e8fed20bff5ad97b21aa Mon Sep 17 00:00:00 2001 From: sunchenliang <2532527871@qq.com> Date: Wed, 20 Mar 2024 12:27:31 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=80=E9=94=AE=E6=9F=A5=E9=87=8D=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/OcrPictureServiceImpl.java | 57 ++++++++++--------- 1 file changed, 29 insertions(+), 28 deletions(-) diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/impl/OcrPictureServiceImpl.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/impl/OcrPictureServiceImpl.java index e3058f05..4792cc81 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/impl/OcrPictureServiceImpl.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/impl/OcrPictureServiceImpl.java @@ -241,9 +241,9 @@ public class OcrPictureServiceImpl extends BaseServiceImpl 0) { @@ -265,10 +264,7 @@ public class OcrPictureServiceImpl extends BaseServiceImpl newList = new ArrayList<>(); + Map resultMap = new HashMap<>(); for (OcrPicture ocrPicture : ocrPictureList) { //如果当前图片已经生成任务包,直接跳过 if (ocrPicture.getTaskstatus().equals("1")) { @@ -315,6 +312,15 @@ public class OcrPictureServiceImpl extends BaseServiceImpl picturecompareList = new ArrayList<>(); boolean havePoint = false; + logService.addLog(103, "AI获取图片相似度接口", sysUser, "sendParams"); + if (StringUtils.isBlank(ocrPicture.getImgHash())) { + Map map = this.getOcrPictureClassifyAndHash(ocrPicture.getLocalpictrueurl()); + if (map != null) { + ocrPicture.setImgHash(map.get("hash")); + ocrPicture.setClassificationid(map.get("classId")); + } +// this.updateById(ocrPicture); + } //二次遍历进行比对 for (OcrPicture ocrPictureNext : ocrPictureList) { //分类不一致的也不需要进行比对 @@ -323,28 +329,25 @@ public class OcrPictureServiceImpl extends BaseServiceImpl map = this.getOcrPictureClassifyAndHash(ocrPicture.getLocalpictrueurl()); - if (map != null) { - ocrPicture.setImgHash(map.get("hash")); - ocrPicture.setClassificationid(map.get("classId")); - } - this.updateById(ocrPicture); - } if (StringUtils.isBlank(ocrPictureNext.getImgHash())) { Map map = this.getOcrPictureClassifyAndHash(ocrPictureNext.getLocalpictrueurl()); if (map != null) { ocrPictureNext.setImgHash(map.get("hash")); ocrPictureNext.setClassificationid(map.get("classId")); } - this.updateById(ocrPictureNext); +// this.updateById(ocrPictureNext); + } + String resultValue = ""; + String strId = ocrPicture.getId() + ":" + ocrPictureNext.getId(); + String strNextId = ocrPictureNext.getId() + ":" + ocrPicture.getId(); + if (resultMap.containsKey(strId) || resultMap.containsKey(strNextId)) { + resultValue = resultMap.get(strId) == null ? resultMap.get(strNextId) : resultMap.get(strId); + } else { + String img = StringUtils.isBlank(ocrPicture.getImgHash()) ? StringUtils.isBlank(ocrPicture.getLocalpictrueurl()) ? ocrPicture.getImgurl() : ocrPicture.getLocalpictrueurl() : ocrPicture.getImgHash(); + String imgNext = StringUtils.isBlank(ocrPictureNext.getImgHash()) ? StringUtils.isBlank(ocrPictureNext.getLocalpictrueurl()) ? ocrPictureNext.getImgurl() : ocrPictureNext.getLocalpictrueurl() : ocrPictureNext.getImgHash(); + resultValue = HashCompareUtil.cmpHash(img, imgNext); + resultMap.put(strId, resultValue); } - - String img = StringUtils.isBlank(ocrPicture.getImgHash()) ? StringUtils.isBlank(ocrPicture.getLocalpictrueurl()) ? ocrPicture.getImgurl() : ocrPicture.getLocalpictrueurl() : ocrPicture.getImgHash(); - String imgNext = StringUtils.isBlank(ocrPictureNext.getImgHash()) ? StringUtils.isBlank(ocrPictureNext.getLocalpictrueurl()) ? ocrPictureNext.getImgurl() : ocrPictureNext.getLocalpictrueurl() : ocrPictureNext.getImgHash(); - - String resultValue = HashCompareUtil.cmpHash(img, imgNext); ocrPictureNext.setResult(resultValue); BigDecimal b1 = new BigDecimal(resultValue); BigDecimal b2 = new BigDecimal("100"); @@ -358,6 +361,7 @@ public class OcrPictureServiceImpl extends BaseServiceImpl