diff --git a/src/main/java/com/supervision/police/service/RecordSplitProcessService.java b/src/main/java/com/supervision/police/service/RecordSplitProcessService.java index e7b8322..b307e89 100644 --- a/src/main/java/com/supervision/police/service/RecordSplitProcessService.java +++ b/src/main/java/com/supervision/police/service/RecordSplitProcessService.java @@ -9,6 +9,9 @@ public interface RecordSplitProcessService { void process(List allTypeList, List splitList); + + void processWithReplacePronoun(List allTypeList, List splitList); + /** * 校验是否已经执行过任务 * diff --git a/src/main/java/com/supervision/police/service/impl/NoteRecordSplitServiceImpl.java b/src/main/java/com/supervision/police/service/impl/NoteRecordSplitServiceImpl.java index f5b2ebc..3b84efd 100644 --- a/src/main/java/com/supervision/police/service/impl/NoteRecordSplitServiceImpl.java +++ b/src/main/java/com/supervision/police/service/impl/NoteRecordSplitServiceImpl.java @@ -109,16 +109,9 @@ public class NoteRecordSplitServiceImpl extends ServiceImpl noteRecordSplits = recordSplitProcessService.replacePronoun(allNoteRecordSplits); - noteRecordSplitService.batchUpdatePronoun(noteRecordSplits); - } catch (InterruptedException e) { - throw new RuntimeException(e); - } // 对笔录进行分类,并对笔录进行提取三元组 List allTypeList = modelRecordTypeService.lambdaQuery().list(); - recordSplitProcessService.process(allTypeList, allNoteRecordSplits); + recordSplitProcessService.processWithReplacePronoun(allTypeList, allNoteRecordSplits); } caseStatusManageService.whenUploadRecord(record.getCaseId()); return record.getId(); diff --git a/src/main/java/com/supervision/police/service/impl/OCRRecordServiceImpl.java b/src/main/java/com/supervision/police/service/impl/OCRRecordServiceImpl.java index efbd929..8c89b4c 100644 --- a/src/main/java/com/supervision/police/service/impl/OCRRecordServiceImpl.java +++ b/src/main/java/com/supervision/police/service/impl/OCRRecordServiceImpl.java @@ -153,7 +153,7 @@ public class OCRRecordServiceImpl implements OCRRecordService { if (taskStatus) { // 对笔录进行分类,并对笔录进行提取三元组 List allTypeList = modelRecordTypeService.lambdaQuery().list(); - recordSplitProcessService.process(allTypeList, allNoteRecordSplits); + recordSplitProcessService.processWithReplacePronoun(allTypeList, allNoteRecordSplits); } return true; } diff --git a/src/main/java/com/supervision/police/service/impl/RecordSplitProcessServiceImpl.java b/src/main/java/com/supervision/police/service/impl/RecordSplitProcessServiceImpl.java index 944488e..008b591 100644 --- a/src/main/java/com/supervision/police/service/impl/RecordSplitProcessServiceImpl.java +++ b/src/main/java/com/supervision/police/service/impl/RecordSplitProcessServiceImpl.java @@ -4,15 +4,15 @@ import cn.hutool.core.util.StrUtil; 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 com.supervision.police.service.*; import com.supervision.thread.ReplacePronounTask; import com.supervision.thread.ReplacePronounTreadPool; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.ai.ollama.OllamaChatClient; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; +import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import java.time.LocalDateTime; @@ -31,6 +31,10 @@ public class RecordSplitProcessServiceImpl implements RecordSplitProcessService private final OllamaChatClient chatClient; + @Autowired + private NoteRecordSplitService noteRecordSplitService; + + @Value("${fu-hsi-config.pronouns}") private List pronouns; @Override @@ -39,6 +43,19 @@ public class RecordSplitProcessServiceImpl implements RecordSplitProcessService recordSplitClassifyService.classify(allTypeList,splitList); } + @Async + @Override + public void processWithReplacePronoun(List allTypeList, List splitList) { + + try { + List noteRecordSplits = this.replacePronoun(splitList); + noteRecordSplitService.batchUpdatePronoun(noteRecordSplits); + } catch (InterruptedException e) { + throw new RuntimeException(e); + } + this.process(allTypeList, splitList); + } + public boolean recordProcessTaskStatusCheck(String caseId, String recordId, Integer splitSize) { // 首先查询是否存在任务,如果不存在,就新建 Optional caseTaskRecordOpt = caseTaskRecordService.lambdaQuery()