优化笔录拆分逻辑

topo_dev
liu 9 months ago
parent 0e8acc7aa8
commit 1413173fea

@ -12,6 +12,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.supervision.chat.UploadParamEnum;
import com.supervision.chat.client.LangChainChatService; import com.supervision.chat.client.LangChainChatService;
import com.supervision.chat.client.dto.CreateBaseDTO; import com.supervision.chat.client.dto.CreateBaseDTO;
import com.supervision.chat.client.dto.LangChainChatRes; import com.supervision.chat.client.dto.LangChainChatRes;
@ -246,6 +247,7 @@ public class ModelCaseServiceImpl extends ServiceImpl<ModelCaseMapper, ModelCase
if (update){ if (update){
caseStatusManageService.whenSaveCasePeople(person.getCaseId(), person); caseStatusManageService.whenSaveCasePeople(person.getCaseId(), person);
} }
return update; return update;
} }

@ -1,6 +1,7 @@
package com.supervision.police.service.impl; package com.supervision.police.service.impl;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@ -31,6 +32,9 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.io.BufferedInputStream;
import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.time.LocalDateTime; import java.time.LocalDateTime;
@ -107,6 +111,7 @@ public class NoteRecordSplitServiceImpl extends ServiceImpl<NoteRecordSplitMappe
} }
String context = WordReadUtil.readWord(inputStream); String context = WordReadUtil.readWord(inputStream);
List<QARecordNodeDTO> qaList = RecordRegexUtil.recordRegex(context, record.getName()); List<QARecordNodeDTO> qaList = RecordRegexUtil.recordRegex(context, record.getName());
log.info("拆分问答对:{}",qaList.size());
List<NoteRecordSplit> splitList = new ArrayList<>(); List<NoteRecordSplit> splitList = new ArrayList<>();
for (QARecordNodeDTO qa : qaList) { for (QARecordNodeDTO qa : qaList) {
try { try {

@ -15,7 +15,10 @@ import java.util.regex.Pattern;
public class RecordRegexUtil { public class RecordRegexUtil {
// 创建正则表达式Pattern对象允许问题和答案之间有任意数量的换行符 // 创建正则表达式Pattern对象允许问题和答案之间有任意数量的换行符
private static final Pattern pattern = Pattern.compile("(问:)(.*?)(答:)(.*?)(?=问:|\n$)", Pattern.DOTALL); // private static final Pattern pattern = Pattern.compile("(问:| 问:)(.*?)(答:|答:)(.*?)(?=问:|问:| \n$)", Pattern.DOTALL);
private static final Pattern pattern = Pattern.compile("(问[:](.*?))\\s*答[:](.*?)(?=(问[:]|$))", Pattern.DOTALL);
public static List<QARecordNodeDTO> recordRegex(String content, String answerName) { public static List<QARecordNodeDTO> recordRegex(String content, String answerName) {

@ -63,7 +63,7 @@ public class WordReadUtil {
List<XWPFParagraph> paragraphs = document.getParagraphs(); List<XWPFParagraph> paragraphs = document.getParagraphs();
// 遍历所有段落并打印文本 // 遍历所有段落并打印文本
for (XWPFParagraph paragraph : paragraphs) { for (XWPFParagraph paragraph : paragraphs) {
stringBuilder.append(paragraph.getText()); stringBuilder.append(paragraph.getText()).append("\n");
} }
} catch (Exception e) { } catch (Exception e) {
log.error("获取笔录内容失败",e); log.error("获取笔录内容失败",e);

Loading…
Cancel
Save