diff --git a/src/main/java/com/supervision/police/service/NoteRecordService.java b/src/main/java/com/supervision/police/service/NoteRecordService.java
index 9f5d272..08ea553 100644
--- a/src/main/java/com/supervision/police/service/NoteRecordService.java
+++ b/src/main/java/com/supervision/police/service/NoteRecordService.java
@@ -11,4 +11,7 @@ public interface NoteRecordService  extends IService<NoteRecord> {
     List<NoteRecordDTO> selectNoteRecordDTOList(NoteRecord noteRecord);
 
     void uploadFileToLangChainChat(String caseId);
+
+
+    String saveOrUpdRecord(NoteRecord noteRecord);
 }
diff --git a/src/main/java/com/supervision/police/service/NoteRecordSplitService.java b/src/main/java/com/supervision/police/service/NoteRecordSplitService.java
index 5596c4e..0b60226 100644
--- a/src/main/java/com/supervision/police/service/NoteRecordSplitService.java
+++ b/src/main/java/com/supervision/police/service/NoteRecordSplitService.java
@@ -1,6 +1,7 @@
 package com.supervision.police.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.supervision.demo.dto.QARecordNodeDTO;
 import com.supervision.police.domain.NoteRecord;
 import com.supervision.police.domain.NoteRecordSplit;
 import com.supervision.police.vo.NoteRecordReqVO;
@@ -16,4 +17,6 @@ public interface NoteRecordSplitService extends IService<NoteRecordSplit> {
 
     void delRecords(String id);
 
+    NoteRecordSplit saveRecordSplit(NoteRecord record, String fileName, String question, String answer);
+
 }
diff --git a/src/main/java/com/supervision/police/service/impl/NoteRecordServiceImpl.java b/src/main/java/com/supervision/police/service/impl/NoteRecordServiceImpl.java
index 15242c6..8ad4441 100644
--- a/src/main/java/com/supervision/police/service/impl/NoteRecordServiceImpl.java
+++ b/src/main/java/com/supervision/police/service/impl/NoteRecordServiceImpl.java
@@ -102,4 +102,9 @@ public class NoteRecordServiceImpl extends ServiceImpl<NoteRecordMapper, NoteRec
         }
 
     }
+
+    @Override
+    public String saveOrUpdRecord(NoteRecord noteRecord) {
+        return null;
+    }
 }
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 f51c474..25f0de1 100644
--- a/src/main/java/com/supervision/police/service/impl/NoteRecordSplitServiceImpl.java
+++ b/src/main/java/com/supervision/police/service/impl/NoteRecordSplitServiceImpl.java
@@ -2,6 +2,7 @@ package com.supervision.police.service.impl;
 
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.io.FileUtil;
+import cn.hutool.core.lang.Assert;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -83,64 +84,52 @@ public class NoteRecordSplitServiceImpl extends ServiceImpl<NoteRecordSplitMappe
     @Override
     @Transactional(transactionManager = "dataSourceTransactionManager", rollbackFor = Exception.class)
     public String uploadRecords(NoteRecordReqVO records) throws IOException {
-        int i;
+
         ModelCase modelCase = modelCaseService.getById(records.getCaseId());
-        if (StringUtils.isEmpty(modelCase.getCaseNo())) {
-            throw new BusinessException("案件编号不能为空");
-        }
+        Assert.notEmpty(modelCase.getCaseNo(), "案件编号不能为空");
+
         NoteRecord record = records.toNoteRecord();
-        if (StringUtils.isEmpty(records.getId())) {
-            i = noteRecordService.getBaseMapper().insert(record);
-        } else {
-            i = noteRecordService.getBaseMapper().updateById(record);
+        String recordId = noteRecordService.saveOrUpdRecord(record);
+
+        if (CollUtil.isEmpty(records.getFileIdList())){
+            log.info("uploadRecords:文件内容为空...不进行笔录分析操作...");
+            return recordId;
         }
         //所有对话类型
+        extracted(records.getFileIdList(), record);
+        caseStatusManageService.whenUploadRecord(record.getCaseId());
+        return record.getId();
+    }
+
+    private void extracted(List<String> recordIds, NoteRecord record) {
+        // 拆分笔录
         List<ModelRecordType> allTypeList = modelRecordTypeService.lambdaQuery().list();
-        if (i > 0 && CollUtil.isNotEmpty(records.getFileIdList())) {
-            // 拆分笔录
-            for (String fileId : records.getFileIdList()) {
-                MinioFile minioFile = minioService.getMinioFile(fileId);
-                InputStream inputStream = null;
-                try {
-                    inputStream = minioService.getObjectInputStream(minioFile);
-                } catch (Exception e) {
-                    e.printStackTrace();
-                    log.error("从minio中获取文件失败:{}", e.getMessage());
-                    continue;
-                }
-                String context = WordReadUtil.readWord(inputStream);
-                List<QARecordNodeDTO> qaList = RecordRegexUtil.recordRegex(context, record.getName());
-                log.info("拆分问答对:{}", qaList.size());
-                List<NoteRecordSplit> splitList = new ArrayList<>();
-                for (QARecordNodeDTO qa : qaList) {
-                    try {
-                        NoteRecordSplit noteRecord = new NoteRecordSplit();
-                        noteRecord.setCaseId(record.getCaseId());
-                        noteRecord.setNoteRecordId(record.getId());
-                        noteRecord.setNoteName(minioFile.getFilename());
-                        noteRecord.setPersonName(record.getName());
-                        noteRecord.setQuestion(qa.getQuestion());
-                        noteRecord.setAnswer(qa.getAnswer());
-                        noteRecord.setCreateTime(LocalDateTime.now());
-                        this.save(noteRecord);
-                        splitList.add(noteRecord);
-
-                    } catch (Exception e) {
-                        log.error(e.getMessage(), e);
-                    }
-                }
-                // 创建任务之后,再开始
-                boolean taskStatus = saveRecordProcessTask(record.getCaseId(), record.getId(), qaList.size());
-                // 如果校验结果为true,则说明需要进行分类以及三元组操作
-                if (taskStatus) {
-                    // 对笔录进行分类,并对笔录进行提取三元组
-                    recordSplitProcessService.process(allTypeList, splitList);
-                }
+        for (String fileId : recordIds) {
+
+            String context = WordReadUtil.readWordInMinio(minioService, fileId);
+            if (StrUtil.isEmpty(context)){
+                log.info("文件id:{}内容为空,不进行解析...", fileId);
+                continue;
+            }
+
+            MinioFile minioFile = minioService.getMinioFile(fileId);
+            List<QARecordNodeDTO> qaList = RecordRegexUtil.recordRegex(context, minioFile.getFilename());
+            log.info("拆分问答对:{}", qaList.size());
+
+            List<NoteRecordSplit> splitList = new ArrayList<>();
+            for (QARecordNodeDTO qa : qaList) {
+                splitList.add(
+                        saveRecordSplit(record, record.getName(), qa.getQuestion(), qa.getAnswer())
+                );
+            }
+
+            // 创建任务之后,再开始
+            boolean taskStatus = saveRecordProcessTask(record.getCaseId(), record.getId(), qaList.size());
+            // 如果校验结果为true,则说明需要进行分类以及三元组操作
+            if (taskStatus) {
+                // 对笔录进行分类,并对笔录进行提取三元组
+                recordSplitProcessService.process(allTypeList, splitList);
             }
-            caseStatusManageService.whenUploadRecord(record.getCaseId());
-            return "保存成功";
-        } else {
-            return "保存笔录失败";
         }
     }
 
@@ -333,4 +322,19 @@ public class NoteRecordSplitServiceImpl extends ServiceImpl<NoteRecordSplitMappe
         modelAtomicResultService.lambdaUpdate().eq(ModelAtomicResult::getRecordId, id).remove();
     }
 
+    @Override
+    public NoteRecordSplit saveRecordSplit(NoteRecord record, String fileName, String question, String answer) {
+        NoteRecordSplit noteRecord = new NoteRecordSplit();
+        noteRecord.setCaseId(record.getCaseId());
+        noteRecord.setNoteRecordId(record.getId());
+        noteRecord.setNoteName(fileName);
+        noteRecord.setPersonName(record.getName());
+        noteRecord.setQuestion(question);
+        noteRecord.setAnswer(answer);
+        noteRecord.setCreateTime(LocalDateTime.now());
+
+        this.save(noteRecord);
+        return noteRecord;
+    }
+
 }
diff --git a/src/main/java/com/supervision/utils/WordReadUtil.java b/src/main/java/com/supervision/utils/WordReadUtil.java
index 04f446c..ede7468 100644
--- a/src/main/java/com/supervision/utils/WordReadUtil.java
+++ b/src/main/java/com/supervision/utils/WordReadUtil.java
@@ -1,5 +1,7 @@
 package com.supervision.utils;
 
+import com.supervision.minio.domain.MinioFile;
+import com.supervision.minio.service.MinioService;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.poi.xwpf.usermodel.XWPFDocument;
 import org.apache.poi.xwpf.usermodel.XWPFParagraph;
@@ -71,4 +73,14 @@ public class WordReadUtil {
         return stringBuilder.toString();
     }
 
+    public static String readWordInMinio(MinioService minioService, String fileId) {
+
+        try (InputStream inputStream = minioService.getObjectInputStream(fileId)){
+            return readWord(inputStream);
+        } catch (Exception e) {
+            log.error("从minio中获取文件失败", e);
+            return null;
+        }
+    }
+
 }