From e62774775c9524d89d1b6616df0b24b5c189c958 Mon Sep 17 00:00:00 2001 From: xueqingkun Date: Mon, 28 Oct 2024 14:40:59 +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/domain/CaseEvidence.java | 5 ++++ .../police/dto/CaseEvidenceDetailDTO.java | 7 ++++- .../police/dto/EvidenceProcessDTO.java | 6 ++++- .../police/service/CaseEvidenceService.java | 3 +++ .../service/impl/CaseEvidenceServiceImpl.java | 26 +++++++++++++++---- .../impl/FileOcrProcessServiceImpl.java | 1 + .../resources/mapper/CaseEvidenceMapper.xml | 7 +++-- 7 files changed, 46 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/supervision/police/domain/CaseEvidence.java b/src/main/java/com/supervision/police/domain/CaseEvidence.java index 6c89030..ef1142f 100644 --- a/src/main/java/com/supervision/police/domain/CaseEvidence.java +++ b/src/main/java/com/supervision/police/domain/CaseEvidence.java @@ -52,6 +52,11 @@ public class CaseEvidence implements Serializable { */ private String processStatus; + /** + * 追加文件处理进度 0: 无处理任务 1:有处理任务 + */ + private String appendProcessing; + private String title; /** diff --git a/src/main/java/com/supervision/police/dto/CaseEvidenceDetailDTO.java b/src/main/java/com/supervision/police/dto/CaseEvidenceDetailDTO.java index c8960a1..fe1ef10 100644 --- a/src/main/java/com/supervision/police/dto/CaseEvidenceDetailDTO.java +++ b/src/main/java/com/supervision/police/dto/CaseEvidenceDetailDTO.java @@ -79,6 +79,11 @@ public class CaseEvidenceDetailDTO { */ private String processStatus; + /** + * 追加处理状态 + */ + private String appendProcessing; + private String fileId; public CaseEvidenceDetailDTO() { @@ -167,7 +172,7 @@ public class CaseEvidenceDetailDTO { } } - if (3 == directory.getLevel() && CollUtil.isNotEmpty(this.fileList)){ + if (3 == directory.getLevel()){ this.evidenceFormat = "文件夹"; } } diff --git a/src/main/java/com/supervision/police/dto/EvidenceProcessDTO.java b/src/main/java/com/supervision/police/dto/EvidenceProcessDTO.java index a9e7d17..74d750c 100644 --- a/src/main/java/com/supervision/police/dto/EvidenceProcessDTO.java +++ b/src/main/java/com/supervision/police/dto/EvidenceProcessDTO.java @@ -86,7 +86,11 @@ public class EvidenceProcessDTO { } this.evidenceType = caseEvidence.getEvidenceType(); if (StrUtil.isNotEmpty(caseEvidence.getProcessStatus())) { - this.status = EvidenceConstants.PROCESS_STATUS_MAPPING.get(caseEvidence.getProcessStatus()); + if (StrUtil.isEmpty(caseEvidence.getAppendProcessing()) || StrUtil.equals(caseEvidence.getAppendProcessing(),"0")){ + this.status = "2";// 处理完成 + }else if (StrUtil.equals(caseEvidence.getAppendProcessing(),"1")){ + this.status = "1";// 处理中 + } }else { this.status = EvidenceConstants.PROCESS_STATUS_UNPROCESSED; } diff --git a/src/main/java/com/supervision/police/service/CaseEvidenceService.java b/src/main/java/com/supervision/police/service/CaseEvidenceService.java index f712c0b..c801d95 100644 --- a/src/main/java/com/supervision/police/service/CaseEvidenceService.java +++ b/src/main/java/com/supervision/police/service/CaseEvidenceService.java @@ -146,4 +146,7 @@ public interface CaseEvidenceService extends IService { EvidenceDirectory createDirectory(EvidenceDirectoryReqVO evidenceDirectory); void syncEvidenceAnalysis(List evidenceList); + + + void updateEvidenceAppendProcessingNewTransaction(String evidenceId, String appendProcessing); } 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 5bd9898..6e8114f 100644 --- a/src/main/java/com/supervision/police/service/impl/CaseEvidenceServiceImpl.java +++ b/src/main/java/com/supervision/police/service/impl/CaseEvidenceServiceImpl.java @@ -21,12 +21,15 @@ import com.supervision.police.vo.VerifyEvidenceReqVO; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.aop.framework.AopContext; +import org.springframework.aop.support.AopUtils; 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; +import java.time.LocalDateTime; import java.util.*; import java.util.function.Function; import java.util.stream.Collectors; @@ -498,15 +501,20 @@ public class CaseEvidenceServiceImpl extends ServiceImpl> evidenceMap = ocrFileDTOList.stream().collect(Collectors.groupingBy(EvidenceFileDTO::getEvidenceId)); + + for (Map.Entry> entry : evidenceMap.entrySet()) { + String evidenceId = entry.getKey(); + // 首先统一更新为正在处理 + updateEvidenceAppendProcessingNewTransaction(evidenceId,"1"); + } for (Map.Entry> entry : evidenceMap.entrySet()) { String evidenceId = entry.getKey(); List value = entry.getValue(); - List fileOcrProcesses = fileOcrProcessService.multipleTypeOcrProcess(value.stream().map(EvidenceFileDTO::getFileId).toList(), evidenceId); - boolean match = fileOcrProcesses.stream().anyMatch(fileOcrProcess -> Integer.valueOf(2).equals(fileOcrProcess.getStatus())); - this.lambdaUpdate().eq(CaseEvidence::getId, evidenceId) - .set(CaseEvidence::getProcessStatus, - match ? EvidenceConstants.PROCESS_STATUS_FAILED : EvidenceConstants.PROCESS_STATUS_SUCCESS).update(); + for (EvidenceFileDTO evidenceFileDTO : value) { + fileOcrProcessService.multipleTypeOcrProcess(List.of(evidenceFileDTO.getFileId()),evidenceFileDTO.getFileType()); + } + updateEvidenceAppendProcessingNewTransaction(evidenceId,"0"); } } @@ -524,6 +532,14 @@ public class CaseEvidenceServiceImpl extends ServiceImpl + @@ -23,8 +24,8 @@ id,case_id,directoryId,evidence_name, - evidence_type,process_status,property, - provider,party_a,party_b, + evidence_type,process_status,append_processing, + property,provider,party_a,party_b, create_user_id,create_time,update_user_id, update_time @@ -46,6 +47,7 @@ + @@ -60,6 +62,7 @@ ce.directory_id, ce.title, ce.process_status, + ce.append_processing, ef.file_id, ef.batch_no, mf.filename,