diff --git a/src/main/java/com/supervision/police/controller/OCREvidenceController.java b/src/main/java/com/supervision/police/controller/OCREvidenceController.java index 2267f63..bb46e7b 100644 --- a/src/main/java/com/supervision/police/controller/OCREvidenceController.java +++ b/src/main/java/com/supervision/police/controller/OCREvidenceController.java @@ -28,9 +28,15 @@ public class OCREvidenceController { } - @PostMapping("/preview") - public R> preview(@RequestBody List fileIdList) { - List evidenceFileOCRDTOList = ocrEvidenceService.previewEvidence(fileIdList); + @PostMapping("/fileList") + public R> queryFileList(@RequestBody List fileIdList) { + List evidenceFileOCRDTOList = ocrEvidenceService.queryFileList(fileIdList); return R.ok(evidenceFileOCRDTOList); } + + @PostMapping("/saveEvidence") + public R saveEvidence(@RequestBody EvidenceFileOCRDTO evidenceFileOCRDTO) { + String evidenceId = ocrEvidenceService.saveEvidence(evidenceFileOCRDTO); + return R.ok(evidenceId); + } } diff --git a/src/main/java/com/supervision/police/dto/EvidenceFileOCRDTO.java b/src/main/java/com/supervision/police/dto/EvidenceFileOCRDTO.java index 40b6b52..11c9733 100644 --- a/src/main/java/com/supervision/police/dto/EvidenceFileOCRDTO.java +++ b/src/main/java/com/supervision/police/dto/EvidenceFileOCRDTO.java @@ -34,6 +34,9 @@ public class EvidenceFileOCRDTO { @Schema(description = "文件属性") private Map property= new HashMap<>(); + @Schema(description = "文件识别状态 -1:未识别 0:正在识别 1:识别成功 2:识别失败") + private Integer ocrStatus; + public EvidenceFileOCRDTO() { } @@ -45,6 +48,7 @@ public class EvidenceFileOCRDTO { this.evidenceId = first.getEvidenceId(); this.fileId = first.getFileId(); this.drawImgId = first.getDrawImgId(); + this.ocrStatus = null == first.getOcrStatus() ? -1 : first.getOcrStatus(); properties.forEach(propertyDTO -> this.property.put(propertyDTO.getPropertyName(),propertyDTO.getPropertyValue())); } diff --git a/src/main/java/com/supervision/police/dto/OCREvidencePropertyDTO.java b/src/main/java/com/supervision/police/dto/OCREvidencePropertyDTO.java index 0157caa..d9c49fa 100644 --- a/src/main/java/com/supervision/police/dto/OCREvidencePropertyDTO.java +++ b/src/main/java/com/supervision/police/dto/OCREvidencePropertyDTO.java @@ -21,4 +21,6 @@ public class OCREvidencePropertyDTO { @Schema(description = "预览图id") private String drawImgId; + private Integer ocrStatus; + } diff --git a/src/main/java/com/supervision/police/service/FileOcrProcessService.java b/src/main/java/com/supervision/police/service/FileOcrProcessService.java index 900450a..b8fcb99 100644 --- a/src/main/java/com/supervision/police/service/FileOcrProcessService.java +++ b/src/main/java/com/supervision/police/service/FileOcrProcessService.java @@ -1,6 +1,5 @@ package com.supervision.police.service; -import com.supervision.listener.OCRTaskListener; import com.supervision.police.domain.FileOcrProcess; import com.baomidou.mybatisplus.extension.service.IService; import com.supervision.police.dto.OCRResDTO; diff --git a/src/main/java/com/supervision/police/service/OCREvidenceService.java b/src/main/java/com/supervision/police/service/OCREvidenceService.java index ce62804..3312d5a 100644 --- a/src/main/java/com/supervision/police/service/OCREvidenceService.java +++ b/src/main/java/com/supervision/police/service/OCREvidenceService.java @@ -23,7 +23,7 @@ public interface OCREvidenceService { */ List saveEvidenceProperty(String evidenceId, String fileId, Map propertyMap); - List previewEvidence(List fileIdList); + List queryFileList(List fileIdList); String saveEvidence(EvidenceFileOCRDTO evidenceFileOCRDTO); } 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 9695be5..1322f2e 100644 --- a/src/main/java/com/supervision/police/service/impl/OCREvidenceServiceImpl.java +++ b/src/main/java/com/supervision/police/service/impl/OCREvidenceServiceImpl.java @@ -102,7 +102,7 @@ public class OCREvidenceServiceImpl implements OCREvidenceService { } @Override - public List previewEvidence(List fileIdList) { + public List queryFileList(List fileIdList) { if (CollUtil.isEmpty(fileIdList)){ return new ArrayList<>(1); @@ -145,13 +145,18 @@ public class OCREvidenceServiceImpl implements OCREvidenceService { private List sortByIdOrder(List fileIdList, List evidenceFileOCRDTOS){ - if (CollUtil.size(fileIdList) < 2 || CollUtil.size(evidenceFileOCRDTOS) < 2) { - return evidenceFileOCRDTOS; - } - Map fileOCRDTOMap = evidenceFileOCRDTOS.stream() .collect(Collectors.toMap(EvidenceFileOCRDTO::getFileId, recordFileDTO -> recordFileDTO, (k1, k2) -> k1)); - return fileIdList.stream().map(fileOCRDTOMap::get).filter(Objects::nonNull).collect(Collectors.toList()); + return fileIdList.stream().map(fileId -> { + EvidenceFileOCRDTO evidenceFileOCRDTO = fileOCRDTOMap.get(fileId); + if (Objects.isNull(evidenceFileOCRDTO)) { + evidenceFileOCRDTO = new EvidenceFileOCRDTO(); + evidenceFileOCRDTO.setFileId(fileId); + evidenceFileOCRDTO.setOcrStatus(-1); + } + return evidenceFileOCRDTO; + } + ).collect(Collectors.toList()); } private List toFileEvidence(String evidenceId,String fileId ,Map propertyMap){ diff --git a/src/main/resources/mapper/FileEvidencePropertyMapper.xml b/src/main/resources/mapper/FileEvidencePropertyMapper.xml index 94f0a28..09b9481 100644 --- a/src/main/resources/mapper/FileEvidencePropertyMapper.xml +++ b/src/main/resources/mapper/FileEvidencePropertyMapper.xml @@ -26,10 +26,11 @@ ep.evidence_id as evidenceId, op.file_id as fileId, op.draw_img_id as drawImgId, + op.status as ocrStatus, ep.property_name as propertyName, ep.property_value as propertyValue - from file_evidence_property ep - left join file_ocr_process op on ep.file_id = op.file_id + from file_ocr_process op + left join file_evidence_property ep on ep.file_id = op.file_id where ep.file_id in #{fileId}