From f2a342cd7cc5581c9b04668ed2e748c74df6d50f Mon Sep 17 00:00:00 2001 From: xueqingkun Date: Thu, 24 Oct 2024 13:34:57 +0800 Subject: [PATCH] =?UTF-8?q?1.=20=E4=BF=AE=E5=A4=8D=E8=AF=81=E6=8D=AE?= =?UTF-8?q?=E6=94=B9=E9=80=A0bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../police/service/CaseEvidenceService.java | 3 ++- .../service/impl/CaseEvidenceServiceImpl.java | 17 ++++++++++++----- .../service/impl/OCREvidenceServiceImpl.java | 1 + 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/supervision/police/service/CaseEvidenceService.java b/src/main/java/com/supervision/police/service/CaseEvidenceService.java index 55bf025..2b0eae6 100644 --- a/src/main/java/com/supervision/police/service/CaseEvidenceService.java +++ b/src/main/java/com/supervision/police/service/CaseEvidenceService.java @@ -145,8 +145,9 @@ public interface CaseEvidenceService extends IService { /** * 预处理ocr任务 note:这个方法用来提前处理 word 、 pfd 类型的数据。是一个新的事务不会与前面的事务保持原子性 + * 异步调用 * @param evidenceFileList 文件信息列表 */ - void preSyncSubmitOCR(List evidenceFileList); + void preAsyncSubmitOCR(List evidenceFileList); } diff --git a/src/main/java/com/supervision/police/service/impl/CaseEvidenceServiceImpl.java b/src/main/java/com/supervision/police/service/impl/CaseEvidenceServiceImpl.java index 82c2e89..676c80a 100644 --- a/src/main/java/com/supervision/police/service/impl/CaseEvidenceServiceImpl.java +++ b/src/main/java/com/supervision/police/service/impl/CaseEvidenceServiceImpl.java @@ -18,10 +18,13 @@ import com.supervision.police.mapper.CaseEvidenceMapper; import com.supervision.police.service.*; import com.supervision.police.vo.EvidenceDirectoryReqVO; import com.supervision.police.vo.VerifyEvidenceReqVO; +import jakarta.annotation.Resource; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.aop.framework.AopContext; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; +import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; @@ -48,6 +51,7 @@ public class CaseEvidenceServiceImpl extends ServiceImpl evidenceFiles = evidenceFileService.lambdaQuery().eq(EvidenceFile::getEvidenceId, evidenceId).list(); if (evidenceFiles.isEmpty()) { - log.error("证据文件不存在"); + log.error("证据id:【{}】不存在证据文件", evidenceId); return; } try { @@ -294,7 +298,7 @@ public class CaseEvidenceServiceImpl extends ServiceImpl evidenceFileDTOList = operationalEvidenceList.stream() + List evidenceFileDTOList = operationalEvidenceList.stream().filter( + evidenceDetail-> !evidenceDetail.getFileList().stream().allMatch(file -> StrUtil.equals(file.getUpdateStatus(), "1")) + ) .flatMap(evidenceDetailDTO -> evidenceDetailDTO.getFileList().stream().filter(file -> StrUtil.equals(file.getUpdateStatus(), "1"))).toList(); - ((CaseEvidenceService) AopContext.currentProxy()).preSyncSubmitOCR(evidenceFileDTOList); + ((CaseEvidenceService) AopContext.currentProxy()).preAsyncSubmitOCR(evidenceFileDTOList); for (CaseEvidenceDetailDTO caseEvidenceDetailDTO : operationalEvidenceList) { if (StrUtil.equalsAny(caseEvidenceDetailDTO.getUpdateStatus(), "-1", "1")) { @@ -745,8 +751,9 @@ public class CaseEvidenceServiceImpl extends ServiceImpl evidenceFileList) { + public void preAsyncSubmitOCR(List evidenceFileList) { for (EvidenceFileDTO evidenceFileDTO : evidenceFileList) { if (StrUtil.equalsAny(evidenceFileDTO.getFileType(), "doc", "docx")) { diff --git a/src/main/java/com/supervision/police/service/impl/OCREvidenceServiceImpl.java b/src/main/java/com/supervision/police/service/impl/OCREvidenceServiceImpl.java index 4d3dc6d..7074fe8 100644 --- a/src/main/java/com/supervision/police/service/impl/OCREvidenceServiceImpl.java +++ b/src/main/java/com/supervision/police/service/impl/OCREvidenceServiceImpl.java @@ -19,6 +19,7 @@ import com.supervision.police.service.*; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.aop.framework.AopContext; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional;