From 141ccc074ab49ebb2e6affd3deaa6919f955e3b8 Mon Sep 17 00:00:00 2001
From: xueqingkun <xueqingkun@126.com>
Date: Fri, 18 Oct 2024 16:17:28 +0800
Subject: [PATCH] =?UTF-8?q?1.=20=E8=AF=81=E6=8D=AE=E6=94=B9=E9=80=A0?=
 =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=8F=90=E4=BA=A4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../controller/CaseEvidenceController.java    |  3 +--
 .../police/dto/EvidenceVerifyDTO.java         |  2 +-
 .../police/service/CaseEvidenceService.java   |  3 +++
 .../service/impl/CaseEvidenceServiceImpl.java | 25 +++++++++++++++++++
 .../police/vo/VerifyEvidenceReqVO.java        |  3 +++
 .../resources/mapper/EvidenceFileMapper.xml   |  8 ++++--
 6 files changed, 39 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/supervision/police/controller/CaseEvidenceController.java b/src/main/java/com/supervision/police/controller/CaseEvidenceController.java
index 2ef5170..42a57a8 100644
--- a/src/main/java/com/supervision/police/controller/CaseEvidenceController.java
+++ b/src/main/java/com/supervision/police/controller/CaseEvidenceController.java
@@ -151,8 +151,7 @@ public class CaseEvidenceController {
     @PostMapping("/verify")
     public R<List<EvidenceProcessDTO>> verifyEvidence(@RequestBody VerifyEvidenceReqVO verifyEvidenceReqVO) {
 
-        caseEvidenceService.verifyEvidence(verifyEvidenceReqVO.getEvidenceVerifyList(),
-                verifyEvidenceReqVO.getCaseId(),verifyEvidenceReqVO.getBatchNo());
+        caseEvidenceService.verifyEvidence(verifyEvidenceReqVO);
         return R.ok();
     }
 
diff --git a/src/main/java/com/supervision/police/dto/EvidenceVerifyDTO.java b/src/main/java/com/supervision/police/dto/EvidenceVerifyDTO.java
index 22d2f87..d94c91f 100644
--- a/src/main/java/com/supervision/police/dto/EvidenceVerifyDTO.java
+++ b/src/main/java/com/supervision/police/dto/EvidenceVerifyDTO.java
@@ -16,5 +16,5 @@ public class EvidenceVerifyDTO {
 
     private String ocrText;
 
-    private Map<String,Object> properties;
+    private Map<String,String> properties;
 }
diff --git a/src/main/java/com/supervision/police/service/CaseEvidenceService.java b/src/main/java/com/supervision/police/service/CaseEvidenceService.java
index 51c8b24..75ac1d5 100644
--- a/src/main/java/com/supervision/police/service/CaseEvidenceService.java
+++ b/src/main/java/com/supervision/police/service/CaseEvidenceService.java
@@ -6,6 +6,7 @@ import com.supervision.police.domain.CaseEvidence;
 import com.supervision.police.domain.EvidenceDirectory;
 import com.supervision.police.dto.*;
 import com.supervision.police.vo.EvidenceDirectoryReqVO;
+import com.supervision.police.vo.VerifyEvidenceReqVO;
 
 import java.util.List;
 
@@ -130,6 +131,8 @@ public interface CaseEvidenceService  extends IService<CaseEvidence> {
 
     void verifyEvidence(List<EvidenceVerifyDTO> evidenceVerifyDTOS,String caseId,String batchNo);
 
+    void verifyEvidence(VerifyEvidenceReqVO verifyEvidenceReqVO);
+
     List<EvidenceDirectoryDTO> evidenceDetails(String caseId, String batchNo);
 
     String generateDirectoryName(String caseId, String categoryId, String provider);
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 8837f75..65306e2 100644
--- a/src/main/java/com/supervision/police/service/impl/CaseEvidenceServiceImpl.java
+++ b/src/main/java/com/supervision/police/service/impl/CaseEvidenceServiceImpl.java
@@ -19,6 +19,7 @@ import com.supervision.common.constant.EvidenceConstants;
 import com.supervision.police.domain.*;
 import com.supervision.police.mapper.CaseEvidenceMapper;
 import com.supervision.police.vo.EvidenceDirectoryReqVO;
+import com.supervision.police.vo.VerifyEvidenceReqVO;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.aop.framework.AopContext;
@@ -548,6 +549,30 @@ public class CaseEvidenceServiceImpl extends ServiceImpl<CaseEvidenceMapper, Cas
         }
     }
 
+    @Override
+    public void verifyEvidence(VerifyEvidenceReqVO verifyEvidenceReqVO) {
+        List<EvidenceDirectoryDTO> evidenceDirectoryList = verifyEvidenceReqVO.getEvidenceDirectoryList();
+        if (CollUtil.isEmpty(evidenceDirectoryList)) {
+            return;
+        }
+
+        List<EvidenceVerifyDTO> collect = evidenceDirectoryList.stream()
+                .filter(evidenceDirectoryDTO -> CollUtil.isEmpty(evidenceDirectoryDTO.getFileIdList()))
+                .flatMap(evidenceDirectoryDTO -> evidenceDirectoryDTO.getFileInfoList().stream().map(i -> {
+                    EvidenceVerifyDTO evidenceVerifyDTO = new EvidenceVerifyDTO();
+                    evidenceVerifyDTO.setEvidenceId(i.getEvidenceId());
+                    evidenceVerifyDTO.setFileId(i.getFileId());
+                    evidenceVerifyDTO.setOcrText(i.getOcrText());
+                    if (null != i.getEvidenceInfo()) {
+                        evidenceVerifyDTO.setProperties(i.getEvidenceInfo().getProperty());
+                    }
+                    return evidenceVerifyDTO;
+                })).toList();
+
+        this.verifyEvidence(collect, verifyEvidenceReqVO.getCaseId(), verifyEvidenceReqVO.getBatchNo());
+
+    }
+
     @Override
     public List<EvidenceDirectoryDTO> evidenceDetails(String caseId, String batchNo) {
         List<EvidenceDirectoryDTO> evidenceDirectoryDTOS = listFileTree(caseId,batchNo);
diff --git a/src/main/java/com/supervision/police/vo/VerifyEvidenceReqVO.java b/src/main/java/com/supervision/police/vo/VerifyEvidenceReqVO.java
index 220ac62..400efcb 100644
--- a/src/main/java/com/supervision/police/vo/VerifyEvidenceReqVO.java
+++ b/src/main/java/com/supervision/police/vo/VerifyEvidenceReqVO.java
@@ -1,5 +1,6 @@
 package com.supervision.police.vo;
 
+import com.supervision.police.dto.EvidenceDirectoryDTO;
 import com.supervision.police.dto.EvidenceVerifyDTO;
 import lombok.Data;
 
@@ -22,4 +23,6 @@ public class VerifyEvidenceReqVO {
      * 待审核证据信息
      */
     private List<EvidenceVerifyDTO> evidenceVerifyList;
+
+    private List<EvidenceDirectoryDTO> evidenceDirectoryList;
 }
diff --git a/src/main/resources/mapper/EvidenceFileMapper.xml b/src/main/resources/mapper/EvidenceFileMapper.xml
index 758c5ad..ef1b585 100644
--- a/src/main/resources/mapper/EvidenceFileMapper.xml
+++ b/src/main/resources/mapper/EvidenceFileMapper.xml
@@ -29,9 +29,11 @@
             ef.file_id as fileId,
             ef.evidence_id as evidenceId,
             mf.filename as filename,
-            mf.file_type as fileType
+            mf.file_type as fileType,
+            op.ocr_text as ocrText
         from evidence_file ef
         left join minio_file mf on ef.file_id = mf.id
+        left join file_ocr_process op on ef.file_id = op.file_id
         <where>
             <if test="evidenceIds != null and evidenceIds.size > 0">
                 ef.evidence_id in
@@ -48,9 +50,11 @@
         ef.evidence_id as evidenceId,
         ef.directory_id as directoryId,
         mf.filename as filename,
-        mf.file_type as fileType
+        mf.file_type as fileType,
+        op.ocr_text as ocrText
         from evidence_file ef
         left join minio_file mf on ef.file_id = mf.id
+        left join file_ocr_process op on ef.file_id = op.file_id
         <where>
             <if test="caseId != null and caseId != ''">
                 ef.evidence_id in