package com.supervision.police.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; 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; public interface CaseEvidenceService extends IService { /** * 保存案件证据信息 * @param caseEvidenceDTO 证据信息 * @return 证据id */ String saveEvidence(CaseEvidenceDTO caseEvidenceDTO); /** * 更新案件证据信息 * @param caseEvidenceDTO 证据信息 * @return 证据id */ String updateEvidence(CaseEvidenceDTO caseEvidenceDTO); /** * 删除案件证据信息 * @param evidenceId 证据id * @return 是否删除成功 true/false */ boolean deleteEvidence(String evidenceId,String fileId); boolean batchDeleteEvidence(List evidenceIdWrappers); /** * 查询案件证据信息列表 * @param caseId 案件id * @return 证据信息列表 */ List queryEvidenceList(String caseId); List queryEvidenceList(String caseId,String batchNo); /** * 分页查询案件证据信息列表 * @param caseId 案件id * @param directoryId 目录id * @param pageNum 每页大小 * @param pageSize 当前页码 * @return */ IPage pageListEvidence(String caseId,String directoryId,String evidenceName, Integer pageNum, Integer pageSize); CaseEvidenceDetailDTO queryEvidenceDetail(String evidenceId); List listCategoryTree(String caseType); /** * 证据属性分析 * @param evidenceId 证据id */ void evidenceAnalysis(String evidenceId); void callEvidenceAnalysis(String evidenceId); /** * 查询案件证据目录树 * @param caseId 案件id * @return */ List listFileTree(String caseId); List listFileTree(String caseId,String batchNo); List listFileTree(String caseId,String batchNo,String evidenceId,String directoryId); List listDirectoryTree(String caseId); /** * 初始化案件证据目录 * @param caseId 案件id * @param caseType 案件类型 */ void initCaseEvidenceDirectory(String caseId,String caseType); /** * 更新案件证据目录 * @param evidenceDirectory 目录信息 * @return true / false */ Boolean updateDirectory(EvidenceDirectory evidenceDirectory); /** * 移动文件到指定目录 * @param evidenceFileDTO 文件信息 * @return true / false */ Boolean moveFile(DirectoryFileDTO evidenceFileDTO); /** * 删除文件 * @param evidenceFileDTO 文件信息 * @return true / false */ Boolean removeFile(DirectoryFileDTO evidenceFileDTO); /** * 删除目录 * @param directoryIdList 目录id集合 * @return */ Boolean removeDirectory(List directoryIdList); /** * 证据识别并提取 * @param evidenceFileDTOS 文件信息 */ String ocrAndExtract(String caseId, List evidenceFileDTOS); String updateCaseEvidence4NewTransaction(List caseEvidenceDetailDTOList); /** * 证据识别并提取列表 * @param caseId 案件id * @param batchNo 批次号 * @return */ List listOcrAndExtract(String caseId,String batchNo); void verifyEvidence(List evidenceVerifyDTOS,String caseId,String batchNo); void verifyEvidence(VerifyEvidenceReqVO verifyEvidenceReqVO); List evidenceDetails(String caseId, String batchNo,String evidenceId); String generateDirectoryName(String caseId, String categoryId, String provider); EvidenceDirectory createDirectory(EvidenceDirectoryReqVO evidenceDirectory); void syncEvidenceAnalysis(List evidenceList); }