1. 修复证据改造bug

topo_dev
xueqingkun 8 months ago
parent 011d0362c6
commit f2a342cd7c

@ -145,8 +145,9 @@ public interface CaseEvidenceService extends IService<CaseEvidence> {
/** /**
* ocr note: word pfd * ocr note: word pfd
*
* @param evidenceFileList * @param evidenceFileList
*/ */
void preSyncSubmitOCR(List<EvidenceFileDTO> evidenceFileList); void preAsyncSubmitOCR(List<EvidenceFileDTO> evidenceFileList);
} }

@ -18,10 +18,13 @@ import com.supervision.police.mapper.CaseEvidenceMapper;
import com.supervision.police.service.*; import com.supervision.police.service.*;
import com.supervision.police.vo.EvidenceDirectoryReqVO; import com.supervision.police.vo.EvidenceDirectoryReqVO;
import com.supervision.police.vo.VerifyEvidenceReqVO; import com.supervision.police.vo.VerifyEvidenceReqVO;
import jakarta.annotation.Resource;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.aop.framework.AopContext; import org.springframework.aop.framework.AopContext;
import org.springframework.beans.factory.annotation.Autowired; 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.stereotype.Service;
import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@ -48,6 +51,7 @@ public class CaseEvidenceServiceImpl extends ServiceImpl<CaseEvidenceMapper, Cas
private final ModelCaseService modelCaseService; private final ModelCaseService modelCaseService;
@Lazy
@Autowired @Autowired
private OCREvidenceService ocrEvidenceService; private OCREvidenceService ocrEvidenceService;
@Autowired @Autowired
@ -242,7 +246,7 @@ public class CaseEvidenceServiceImpl extends ServiceImpl<CaseEvidenceMapper, Cas
} }
List<EvidenceFile> evidenceFiles = evidenceFileService.lambdaQuery().eq(EvidenceFile::getEvidenceId, evidenceId).list(); List<EvidenceFile> evidenceFiles = evidenceFileService.lambdaQuery().eq(EvidenceFile::getEvidenceId, evidenceId).list();
if (evidenceFiles.isEmpty()) { if (evidenceFiles.isEmpty()) {
log.error("证据文件不存在"); log.error("证据id:【{}】不存在证据文件", evidenceId);
return; return;
} }
try { try {
@ -294,7 +298,7 @@ public class CaseEvidenceServiceImpl extends ServiceImpl<CaseEvidenceMapper, Cas
caseEvidence.setProcessStatus(EvidenceConstants.PROCESS_STATUS_SUCCESS); caseEvidence.setProcessStatus(EvidenceConstants.PROCESS_STATUS_SUCCESS);
updateById(caseEvidence); updateById(caseEvidence);
} catch (Exception e) { } catch (Exception e) {
log.error("证据解析失败。更新证据处理状态为【处理失败】。", e); log.error("证据:【{}】解析失败。更新证据处理状态为【处理失败】。",evidenceId, e);
caseEvidence.setProcessStatus(EvidenceConstants.PROCESS_STATUS_FAILED); caseEvidence.setProcessStatus(EvidenceConstants.PROCESS_STATUS_FAILED);
updateById(caseEvidence); updateById(caseEvidence);
} finally { } finally {
@ -437,9 +441,11 @@ public class CaseEvidenceServiceImpl extends ServiceImpl<CaseEvidenceMapper, Cas
String batchId = ((CaseEvidenceService) AopContext.currentProxy()).updateCaseEvidence4NewTransaction(operationalEvidenceList); String batchId = ((CaseEvidenceService) AopContext.currentProxy()).updateCaseEvidence4NewTransaction(operationalEvidenceList);
List<EvidenceFileDTO> evidenceFileDTOList = operationalEvidenceList.stream() List<EvidenceFileDTO> 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(); .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) { for (CaseEvidenceDetailDTO caseEvidenceDetailDTO : operationalEvidenceList) {
if (StrUtil.equalsAny(caseEvidenceDetailDTO.getUpdateStatus(), "-1", "1")) { if (StrUtil.equalsAny(caseEvidenceDetailDTO.getUpdateStatus(), "-1", "1")) {
@ -745,8 +751,9 @@ public class CaseEvidenceServiceImpl extends ServiceImpl<CaseEvidenceMapper, Cas
} }
@Override @Override
@Async
@Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRES_NEW, transactionManager = "dataSourceTransactionManager") @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRES_NEW, transactionManager = "dataSourceTransactionManager")
public void preSyncSubmitOCR(List<EvidenceFileDTO> evidenceFileList) { public void preAsyncSubmitOCR(List<EvidenceFileDTO> evidenceFileList) {
for (EvidenceFileDTO evidenceFileDTO : evidenceFileList) { for (EvidenceFileDTO evidenceFileDTO : evidenceFileList) {
if (StrUtil.equalsAny(evidenceFileDTO.getFileType(), "doc", "docx")) { if (StrUtil.equalsAny(evidenceFileDTO.getFileType(), "doc", "docx")) {

@ -19,6 +19,7 @@ import com.supervision.police.service.*;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.aop.framework.AopContext; import org.springframework.aop.framework.AopContext;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async; import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;

Loading…
Cancel
Save