1. 笔录图片识别功能开发
parent
73f29f93fa
commit
7649a2bb59
@ -1,23 +1,104 @@
|
||||
package com.supervision.police.service.impl;
|
||||
|
||||
import com.supervision.police.domain.CaseTaskRecord;
|
||||
import com.supervision.police.domain.ModelRecordType;
|
||||
import com.supervision.police.domain.NoteRecordSplit;
|
||||
import com.supervision.police.service.CaseTaskRecordService;
|
||||
import com.supervision.police.service.RecordSplitProcessService;
|
||||
import com.supervision.police.service.RecordSplitClassifyService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
@Slf4j
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class RecordSplitProcessServiceImpl implements RecordSplitProcessService {
|
||||
|
||||
private final RecordSplitClassifyService recordSplitClassifyService;
|
||||
|
||||
private final CaseTaskRecordService caseTaskRecordService;
|
||||
|
||||
@Override
|
||||
public void process(List<ModelRecordType> allTypeList, List<NoteRecordSplit> splitList) {
|
||||
// 通过异步的形式提交分类
|
||||
recordSplitClassifyService.classify(allTypeList,splitList);
|
||||
}
|
||||
|
||||
public boolean recordProcessTaskStatusCheck(String caseId, String recordId, Integer splitSize) {
|
||||
// 首先查询是否存在任务,如果不存在,就新建
|
||||
Optional<CaseTaskRecord> caseTaskRecordOpt = caseTaskRecordService.lambdaQuery()
|
||||
.eq(CaseTaskRecord::getCaseId, caseId).eq(CaseTaskRecord::getRecordId, recordId).oneOpt();
|
||||
|
||||
|
||||
if (caseTaskRecordOpt.isEmpty()) {
|
||||
log.info("recordProcessTaskStatusCheck:recordId:{}未查询到任务记录, 新建任务记录...",recordId);
|
||||
CaseTaskRecord newCaseTaskRecord = new CaseTaskRecord();
|
||||
newCaseTaskRecord.setCaseId(caseId);
|
||||
newCaseTaskRecord.setRecordId(recordId);
|
||||
|
||||
newCaseTaskRecord.setStatus(splitSize > 0 ? 1 : 2);
|
||||
newCaseTaskRecord.setSubmitTime(LocalDateTime.now());
|
||||
caseTaskRecordService.save(newCaseTaskRecord);
|
||||
|
||||
return newCaseTaskRecord.getStatus().equals(1);
|
||||
|
||||
}
|
||||
|
||||
if (0 == splitSize) {
|
||||
// 如果笔录对为0,就直接不需要拆分,直接认为任务成功
|
||||
CaseTaskRecord caseTaskRecord = caseTaskRecordOpt.get();
|
||||
caseTaskRecord.setStatus(2);
|
||||
caseTaskRecord.setSubmitTime(LocalDateTime.now());
|
||||
caseTaskRecordService.saveOrUpdate(caseTaskRecord);
|
||||
return false;
|
||||
}
|
||||
|
||||
if (caseTaskRecordOpt.get().getStatus() == 2) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// 如果存在,则校验时间是否已经超过1天,如果超过了1天还没有执行完毕,就重新提交这个任务
|
||||
CaseTaskRecord caseTaskRecord = caseTaskRecordOpt.get();
|
||||
// 如果未执行,则提交执行
|
||||
if (caseTaskRecordOpt.get().getStatus() == 0) {
|
||||
caseTaskRecord.setStatus(1);
|
||||
caseTaskRecord.setSubmitTime(LocalDateTime.now());
|
||||
caseTaskRecord.setTaskCount(0);
|
||||
caseTaskRecord.setFinishCount(0);
|
||||
caseTaskRecordService.updateById(caseTaskRecord);
|
||||
return true;
|
||||
}
|
||||
|
||||
if (caseTaskRecordOpt.get().getStatus() == 1 && LocalDateTime.now().isAfter(caseTaskRecord.getSubmitTime().plusDays(1))) {
|
||||
// 如果已经超过1天,则重新提交任务
|
||||
caseTaskRecord.setStatus(1);
|
||||
caseTaskRecord.setTaskCount(0);
|
||||
caseTaskRecord.setFinishCount(0);
|
||||
caseTaskRecord.setSubmitTime(LocalDateTime.now());
|
||||
caseTaskRecordService.updateById(caseTaskRecord);
|
||||
return true;
|
||||
}
|
||||
if (caseTaskRecordOpt.get().getStatus() == 3) {
|
||||
// 如果执行失败,就重新执行
|
||||
caseTaskRecord.setStatus(1);
|
||||
caseTaskRecord.setTaskCount(0);
|
||||
caseTaskRecord.setFinishCount(0);
|
||||
caseTaskRecord.setSubmitTime(LocalDateTime.now());
|
||||
caseTaskRecordService.updateById(caseTaskRecord);
|
||||
return true;
|
||||
}
|
||||
// 如果都不是就在跑一次
|
||||
caseTaskRecord.setStatus(1);
|
||||
caseTaskRecord.setTaskCount(0);
|
||||
caseTaskRecord.setFinishCount(0);
|
||||
caseTaskRecord.setSubmitTime(LocalDateTime.now());
|
||||
caseTaskRecordService.updateById(caseTaskRecord);
|
||||
return true;
|
||||
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue