diff --git a/pom.xml b/pom.xml index 2ec73148..cbd815f8 100644 --- a/pom.xml +++ b/pom.xml @@ -42,7 +42,6 @@ 5.8.16 3.0.3 1.18.20 - 3.0.3 2.0.3.RELEASE 4.1.2 2.3.31 diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/controller/config/AskQuestionLibraryManageController.java b/virtual-patient-manage/src/main/java/com/supervision/manage/controller/config/AskQuestionLibraryManageController.java index 375e9180..9c20d488 100644 --- a/virtual-patient-manage/src/main/java/com/supervision/manage/controller/config/AskQuestionLibraryManageController.java +++ b/virtual-patient-manage/src/main/java/com/supervision/manage/controller/config/AskQuestionLibraryManageController.java @@ -48,7 +48,7 @@ public class AskQuestionLibraryManageController { @PostMapping("/saveQuestionLibrary") public String saveQuestionLibrary(@RequestBody AskTemplateQuestionLibrary askTemplateQuestionLibrary) { - return askQuestionLibraryManageService.saveQuestionLibrary(askTemplateQuestionLibrary); + return askQuestionLibraryManageService.saveQuestionLibrary(askTemplateQuestionLibrary,true); } diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/service/AskQuestionLibraryManageService.java b/virtual-patient-manage/src/main/java/com/supervision/manage/service/AskQuestionLibraryManageService.java index e4bb8848..7d7b8de4 100644 --- a/virtual-patient-manage/src/main/java/com/supervision/manage/service/AskQuestionLibraryManageService.java +++ b/virtual-patient-manage/src/main/java/com/supervision/manage/service/AskQuestionLibraryManageService.java @@ -20,6 +20,8 @@ public interface AskQuestionLibraryManageService { String saveQuestionLibrary(AskTemplateQuestionLibrary askTemplateQuestionLibrary); + String saveQuestionLibrary(AskTemplateQuestionLibrary askTemplateQuestionLibrary,boolean refreshQaKnowledge); + boolean updateQuestionLibrary(AskTemplateQuestionLibrary askTemplateQuestionLibrary); boolean deleteQuestionLibrary(String id); diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/AskQuestionLibraryManageServiceImpl.java b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/AskQuestionLibraryManageServiceImpl.java index bce13f7d..5a6a9d8b 100644 --- a/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/AskQuestionLibraryManageServiceImpl.java +++ b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/AskQuestionLibraryManageServiceImpl.java @@ -86,6 +86,7 @@ public class AskQuestionLibraryManageServiceImpl implements AskQuestionLibraryMa } @Override + @Transactional(rollbackFor = Exception.class) public String saveQuestionLibrary(AskTemplateQuestionLibrary askTemplateQuestionLibrary) { assertSave(askTemplateQuestionLibrary); @@ -107,8 +108,7 @@ public class AskQuestionLibraryManageServiceImpl implements AskQuestionLibraryMa } one.setQuestion(question); askTemplateQuestionLibraryService.updateById(one); - // 对问题库进行更新操作 - qaKnowledgeManageService.refreshQaKnowledge(); + return one.getId(); }else { // 新增数据 @@ -139,10 +139,21 @@ public class AskQuestionLibraryManageServiceImpl implements AskQuestionLibraryMa askTemplateQuestionLibrary.setDefaultAnswerCode(nextDefaultCode); askTemplateQuestionLibraryService.save(askTemplateQuestionLibrary); + return askTemplateQuestionLibrary.getId(); + } + } + + @Override + @Transactional(rollbackFor = Exception.class) + public String saveQuestionLibrary(AskTemplateQuestionLibrary askTemplateQuestionLibrary, boolean refreshQaKnowledge) { + + String questionLibraryId = this.saveQuestionLibrary(askTemplateQuestionLibrary); + if (refreshQaKnowledge) { // 对问题库进行更新操作 qaKnowledgeManageService.refreshQaKnowledge(); - return askTemplateQuestionLibrary.getId(); } + return questionLibraryId; + } @Override @@ -155,9 +166,8 @@ public class AskQuestionLibraryManageServiceImpl implements AskQuestionLibraryMa Assert.notNull(library, "知识库不存在"); Assert.isTrue(askTemplateQuestionLibrary.getDictId().equals(library.getDictId()), "不允许修改类目"); - this.saveQuestionLibrary(askTemplateQuestionLibrary); + this.saveQuestionLibrary(askTemplateQuestionLibrary,true); // 对问题库进行更新操作 - qaKnowledgeManageService.refreshQaKnowledge(); return true; } @@ -197,7 +207,7 @@ public class AskQuestionLibraryManageServiceImpl implements AskQuestionLibraryMa } questionLibrary.setDescription(currentDTO.getQuestion()); questionLibrary.setDefaultAnswer(currentDTO.getAnswer()); - this.saveQuestionLibrary(questionLibrary); + this.saveQuestionLibrary(questionLibrary,false); } // 对问题库进行更新操作 qaKnowledgeManageService.refreshQaKnowledge(); diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/OfflineAnswerVideoResource.java b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/OfflineAnswerVideoResource.java index 234d58aa..56422a34 100644 --- a/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/OfflineAnswerVideoResource.java +++ b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/OfflineAnswerVideoResource.java @@ -15,6 +15,7 @@ import com.supervision.manage.pojo.vo.MedicalRecQaVO; import com.supervision.manage.service.AnswerVideoResourceService; import com.supervision.manage.service.AskQuestionLibraryManageService; import com.supervision.manage.service.FileManageService; +import com.supervision.manage.service.QaKnowledgeManageService; import com.supervision.model.*; import com.supervision.service.*; import lombok.RequiredArgsConstructor; @@ -49,6 +50,9 @@ public class OfflineAnswerVideoResource implements AnswerVideoResourceService { private final FileManageService fileManageService; private final CommonDicService commonDicService; + + private final QaKnowledgeManageService qaKnowledgeManageService; + private final String MEDICAL_ANSWER_TEMPLATE_ERROR_EXCEL_PATH = "classpath:template/medical_answer_template_error.xlsx"; @@ -69,11 +73,17 @@ public class OfflineAnswerVideoResource implements AnswerVideoResourceService { medicalRecAnswerExcelDoAction(medicalId, medicalRecAnswerExcelDTOS); // 扩充知识库 + timer.restart(); medicalRecAnswerExcelDTOS.stream().filter(dto -> CollUtil.isEmpty(dto.getErrorCodeEnums())) .forEach(dto -> { - String questionLibraryId = askQuestionLibraryManageService.saveQuestionLibrary(dto.toAskTemplateQuestionLibrary()); + String questionLibraryId = askQuestionLibraryManageService.saveQuestionLibrary(dto.toAskTemplateQuestionLibrary(),false); dto.setLibraryQuestionId(questionLibraryId); }); + log.info("generationMedicalAnswerVideo : 扩充知识库耗时:{} s" , timer.intervalSecond()); + + timer.restart(); + qaKnowledgeManageService.refreshQaKnowledge(); + log.info("generationMedicalAnswerVideo : 刷新知识库耗时:{} s" , timer.intervalSecond()); timer.restart(); // 生成错误信息excel diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/QaKnowledgeManageServiceImpl.java b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/QaKnowledgeManageServiceImpl.java index 599225ab..4eaf6e17 100644 --- a/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/QaKnowledgeManageServiceImpl.java +++ b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/QaKnowledgeManageServiceImpl.java @@ -1,5 +1,7 @@ package com.supervision.manage.service.impl; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.date.TimeInterval; import com.supervision.dto.QaKnowledgeDTO; import com.supervision.manage.feign.QaKnowledgeManageClient; import com.supervision.manage.service.QaKnowledgeManageService; @@ -20,7 +22,9 @@ public class QaKnowledgeManageServiceImpl implements QaKnowledgeManageService { private final QaKnowledgeManageClient qaKnowledgeManageClient; public void refreshQaKnowledge() { + TimeInterval timer = DateUtil.timer(); List queryQaKnowledge = askTemplateQuestionLibraryService.queryQaKnowledge(); qaKnowledgeManageClient.refreshQuestionList(queryQaKnowledge); + log.info("QaKnowledgeManageServiceImpl : refreshQaKnowledge耗时:{} s" , timer.intervalSecond()); } } diff --git a/virtual-patient-web/src/test/java/com/supervision/VideoUpdateTest.java b/virtual-patient-web/src/test/java/com/supervision/VideoUpdateTest.java index bece1323..8f0fbcb1 100644 --- a/virtual-patient-web/src/test/java/com/supervision/VideoUpdateTest.java +++ b/virtual-patient-web/src/test/java/com/supervision/VideoUpdateTest.java @@ -1,7 +1,7 @@ package com.supervision; import cn.hutool.core.io.FileUtil; -import cn.hutool.core.io.file.PathUtil; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.supervision.model.AskPatientAnswer; import com.supervision.model.AskTemplateQuestionLibrary; import com.supervision.model.FileResource; @@ -12,6 +12,8 @@ import com.supervision.service.AskService; import com.supervision.service.AskTemplateQuestionLibraryService; import com.supervision.service.FileResourceService; import com.supervision.util.MinioUtil; +import com.supervision.vo.manage.AskQuestionLibraryReqVo; +import com.supervision.vo.manage.AskQuestionLibraryResVo; import lombok.extern.slf4j.Slf4j; import org.junit.Test; import org.junit.runner.RunWith; @@ -109,5 +111,17 @@ public class VideoUpdateTest { System.out.println(talkResultResVO.getAnswerMessage()); + } + + @Test + public void talkTest1() throws Exception { + + AskQuestionLibraryReqVo askQuestionLibraryReqVo = new AskQuestionLibraryReqVo(); + askQuestionLibraryReqVo.setCode("2"); + Page askQuestionLibraryResVoPage = askTemplateQuestionLibraryService.queryPageList(1, 10,askQuestionLibraryReqVo ); + + System.out.println(askQuestionLibraryResVoPage); + + } }