1. 修复bug

topo_dev
xueqingkun 6 months ago
parent 1d9dc1a417
commit c494ecc203

@ -86,6 +86,8 @@ public class CaseEvidenceDetailDTO {
private String fileId; private String fileId;
private int directoryLevel;
public CaseEvidenceDetailDTO() { public CaseEvidenceDetailDTO() {
} }

@ -154,5 +154,5 @@ public interface CaseEvidenceService extends IService<CaseEvidence> {
void syncEvidenceAnalysis(List<CaseEvidenceDetailDTO> evidenceList); void syncEvidenceAnalysis(List<CaseEvidenceDetailDTO> evidenceList);
void updateEvidenceAppendProcessingNewTransaction(String evidenceId, String appendProcessing); void updateEvidenceAppendProcessingNewTransaction(String evidenceId, String status,String appendProcessing);
} }

@ -586,6 +586,7 @@ public class CaseEvidenceServiceImpl extends ServiceImpl<CaseEvidenceMapper, Cas
List<EvidenceFileDTO> ocrFileDTOList = evidenceList.stream().filter( List<EvidenceFileDTO> ocrFileDTOList = evidenceList.stream().filter(
// 当前目录下不是所有文件都是新增 // 当前目录下不是所有文件都是新增
evidenceDetail-> !evidenceDetail.getFileList().stream().allMatch(file -> StrUtil.equalsAny(file.getUpdateStatus(), "1", "-1")) evidenceDetail-> !evidenceDetail.getFileList().stream().allMatch(file -> StrUtil.equalsAny(file.getUpdateStatus(), "1", "-1"))
|| evidenceDetail.getDirectoryLevel() < 3
) )
.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();
if (CollUtil.isNotEmpty(ocrFileDTOList)){ if (CollUtil.isNotEmpty(ocrFileDTOList)){
@ -596,7 +597,9 @@ public class CaseEvidenceServiceImpl extends ServiceImpl<CaseEvidenceMapper, Cas
for (Map.Entry<String, List<EvidenceFileDTO>> entry : evidenceMap.entrySet()) { for (Map.Entry<String, List<EvidenceFileDTO>> entry : evidenceMap.entrySet()) {
String evidenceId = entry.getKey(); String evidenceId = entry.getKey();
// 首先统一更新为正在处理 // 首先统一更新为正在处理
updateEvidenceAppendProcessingNewTransaction(evidenceId,"1"); CaseEvidence one = this.lambdaQuery().eq(CaseEvidence::getId, evidenceId).one();
updateEvidenceAppendProcessingNewTransaction(evidenceId,one.getProcessStatus(),"1");
} }
for (Map.Entry<String, List<EvidenceFileDTO>> entry : evidenceMap.entrySet()) { for (Map.Entry<String, List<EvidenceFileDTO>> entry : evidenceMap.entrySet()) {
@ -605,13 +608,15 @@ public class CaseEvidenceServiceImpl extends ServiceImpl<CaseEvidenceMapper, Cas
for (EvidenceFileDTO evidenceFileDTO : value) { for (EvidenceFileDTO evidenceFileDTO : value) {
fileOcrProcessService.multipleTypeOcrProcess(List.of(evidenceFileDTO.getFileId()),evidenceFileDTO.getFileType()); fileOcrProcessService.multipleTypeOcrProcess(List.of(evidenceFileDTO.getFileId()),evidenceFileDTO.getFileType());
} }
updateEvidenceAppendProcessingNewTransaction(evidenceId,"0"); log.info("ocrAndExtract:证据:{} 文件内容识别完成", evidenceId);
updateEvidenceAppendProcessingNewTransaction(evidenceId,EvidenceConstants.PROCESS_STATUS_SUCCESS,"0");
} }
} }
Set<String> evidenceIds = evidenceList.stream().filter( Set<String> evidenceIds = evidenceList.stream().filter(
// 当前目录下不是所有文件都是新增 // 当前目录下不是所有文件都是新增
evidenceDetail -> evidenceDetail.getFileList().stream().allMatch(file -> StrUtil.equalsAny(file.getUpdateStatus(), "1", "-1")) evidenceDetail -> evidenceDetail.getFileList().stream().allMatch(file -> StrUtil.equalsAny(file.getUpdateStatus(), "1", "-1"))
&& evidenceDetail.getDirectoryLevel() == 3
) )
.flatMap(evidenceDetailDTO -> evidenceDetailDTO.getFileList().stream().filter(file -> StrUtil.equals(file.getUpdateStatus(), "1")) .flatMap(evidenceDetailDTO -> evidenceDetailDTO.getFileList().stream().filter(file -> StrUtil.equals(file.getUpdateStatus(), "1"))
.map(EvidenceFileDTO::getEvidenceId)).collect(Collectors.toSet()); .map(EvidenceFileDTO::getEvidenceId)).collect(Collectors.toSet());
@ -625,8 +630,9 @@ public class CaseEvidenceServiceImpl extends ServiceImpl<CaseEvidenceMapper, Cas
@Override @Override
@Transactional(transactionManager = "dataSourceTransactionManager", rollbackFor = Exception.class,propagation = Propagation.REQUIRES_NEW) @Transactional(transactionManager = "dataSourceTransactionManager", rollbackFor = Exception.class,propagation = Propagation.REQUIRES_NEW)
public void updateEvidenceAppendProcessingNewTransaction(String evidenceId, String appendProcessing) { public void updateEvidenceAppendProcessingNewTransaction(String evidenceId, String status,String appendProcessing) {
this.lambdaUpdate().eq(CaseEvidence::getId, evidenceId) this.lambdaUpdate().eq(CaseEvidence::getId, evidenceId)
.set(StrUtil.isNotEmpty(status),CaseEvidence::getProcessStatus, status)
.set(CaseEvidence::getAppendProcessing, appendProcessing) .set(CaseEvidence::getAppendProcessing, appendProcessing)
.set(CaseEvidence::getUpdateTime, LocalDateTime.now()).update(); .set(CaseEvidence::getUpdateTime, LocalDateTime.now()).update();
} }
@ -946,6 +952,7 @@ public class CaseEvidenceServiceImpl extends ServiceImpl<CaseEvidenceMapper, Cas
caseEvidenceDetailDTO.setId(DefaultIdentifierGenerator.getInstance().nextId(null).toString()); caseEvidenceDetailDTO.setId(DefaultIdentifierGenerator.getInstance().nextId(null).toString());
caseEvidenceDetailDTO.setEvidenceType(directory.getCategoryId()); caseEvidenceDetailDTO.setEvidenceType(directory.getCategoryId());
caseEvidenceDetailDTO.setDirectoryId(directoryId); caseEvidenceDetailDTO.setDirectoryId(directoryId);
caseEvidenceDetailDTO.setDirectoryLevel(directory.getLevel());
EvidenceFileDTO evidenceFileDTO = new EvidenceFileDTO(); EvidenceFileDTO evidenceFileDTO = new EvidenceFileDTO();
evidenceFileDTO.setFileId(fileId); evidenceFileDTO.setFileId(fileId);
evidenceFileDTO.setProcessStatus(EvidenceConstants.PROCESS_STATUS_UNPROCESSED); evidenceFileDTO.setProcessStatus(EvidenceConstants.PROCESS_STATUS_UNPROCESSED);
@ -974,6 +981,7 @@ public class CaseEvidenceServiceImpl extends ServiceImpl<CaseEvidenceMapper, Cas
caseEvidenceDetailDTO.setEvidenceName(evidenceFile.getDirectoryName()); caseEvidenceDetailDTO.setEvidenceName(evidenceFile.getDirectoryName());
caseEvidenceDetailDTO.setEvidenceType(directory.getCategoryId()); caseEvidenceDetailDTO.setEvidenceType(directory.getCategoryId());
caseEvidenceDetailDTO.setDirectoryId(directoryId); caseEvidenceDetailDTO.setDirectoryId(directoryId);
caseEvidenceDetailDTO.setDirectoryLevel(directory.getLevel());
List<EvidenceFileDTO> evidenceFileDTOS = new ArrayList<>(); List<EvidenceFileDTO> evidenceFileDTOS = new ArrayList<>();
for (String fileId : evidenceFile.getFileIdList()) { for (String fileId : evidenceFile.getFileIdList()) {
EvidenceFileDTO evidenceFileDTO = new EvidenceFileDTO(); EvidenceFileDTO evidenceFileDTO = new EvidenceFileDTO();
@ -1101,7 +1109,8 @@ public class CaseEvidenceServiceImpl extends ServiceImpl<CaseEvidenceMapper, Cas
for (CaseEvidenceDetailDTO newEvidence : newEvidenceList) { for (CaseEvidenceDetailDTO newEvidence : newEvidenceList) {
if (StrUtil.isEmpty(newEvidence.getId())) { if (StrUtil.isEmpty(newEvidence.getId()) ||
oldEvidenceList.stream().noneMatch(i -> StrUtil.equals(i.getId(), newEvidence.getId()))) {
newEvidence.setUpdateStatus("1"); newEvidence.setUpdateStatus("1");
List<String> newFileIds = newEvidence.getFileList().stream().map(EvidenceFileDTO::getFileId).toList(); List<String> newFileIds = newEvidence.getFileList().stream().map(EvidenceFileDTO::getFileId).toList();
for (EvidenceFileDTO evidenceFileDTO : newEvidence.getFileList()) { for (EvidenceFileDTO evidenceFileDTO : newEvidence.getFileList()) {

@ -208,7 +208,7 @@ public class ModelIndexServiceImpl extends ServiceImpl<ModelIndexMapper, ModelIn
.eq(ModelAtomicIndex::getDataStatus, DataStatus.AVAILABLE.getCode()).last("limit 1").one(); .eq(ModelAtomicIndex::getDataStatus, DataStatus.AVAILABLE.getCode()).last("limit 1").one();
if (ObjectUtil.isNotEmpty(existIndex) && !StringUtils.equals(modelAtomicIndex.getId(), existIndex.getId())) { if (ObjectUtil.isNotEmpty(existIndex) && !StringUtils.equals(modelAtomicIndex.getId(), existIndex.getId())) {
throw new RuntimeException("已存在相同名称的原子指标"); throw new IllegalArgumentException("已存在相同名称的原子指标");
} }
boolean success = modelAtomicIndexService.saveOrUpdate(modelAtomicIndex); boolean success = modelAtomicIndexService.saveOrUpdate(modelAtomicIndex);

Loading…
Cancel
Save