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 e3058f0..4792cc8 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