From 8663175bb41599c6a3d639214cd9a67b5a885b7c Mon Sep 17 00:00:00 2001 From: liu Date: Tue, 26 Dec 2023 13:47:59 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/supervision/service/impl/AskServiceImpl.java | 8 ++++---- .../src/main/java/com/supervision/util/RasaUtil.java | 5 +++-- .../src/main/resources/application-dev.yml | 4 ++-- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/virtual-patient-web/src/main/java/com/supervision/service/impl/AskServiceImpl.java b/virtual-patient-web/src/main/java/com/supervision/service/impl/AskServiceImpl.java index 309021e4..8d220b95 100644 --- a/virtual-patient-web/src/main/java/com/supervision/service/impl/AskServiceImpl.java +++ b/virtual-patient-web/src/main/java/com/supervision/service/impl/AskServiceImpl.java @@ -73,7 +73,7 @@ public class AskServiceImpl implements AskService { // 根据processId找到对应的病人 Process process = Optional.ofNullable(processService.getById(talkReqVO.getProcessId())).orElseThrow(() -> new BusinessException("未找到诊疗进程")); // 调用rasa获取文字内容 - String rasaResult = RasaUtil.talkRasa(talkReqVO.getText(), UserUtil.getUser().getId(), process.getPatientId()); + String rasaResult = RasaUtil.talkRasa(talkReqVO.getText(), UserUtil.getUser().getId()); // 如果rasa没有识别出来,则返回默认值 if (StrUtil.isBlank(rasaResult)) { // 这里调用京东数字人接口首先根据token获取房间号 @@ -103,7 +103,7 @@ public class AskServiceImpl implements AskService { HumanUtil.textDriven("您好,我没有听懂您说什么", roomId); saveQaRecord(talkReqVO.getProcessId(), "default", null, talkReqVO.getText(), null, "您好,我没有听懂您说什么"); } else { - AskPatientAnswer askPatientAnswer = askPatientAnswerService.lambdaQuery().eq(AskPatientAnswer::getPatientId, process.getPatientId()) + AskPatientAnswer askPatientAnswer = askPatientAnswerService.lambdaQuery().eq(AskPatientAnswer::getMedicalId, process.getMedicalRecId()) .eq(AskPatientAnswer::getLibraryQuestionId, library.getId()).last("limit 1").one(); // 如果没有找到回答,去默认回答里面看看有没有 if (ObjectUtil.isEmpty(askPatientAnswer)) { @@ -200,7 +200,7 @@ public class AskServiceImpl implements AskService { // 根据processId找到对应的病人 Process process = Optional.ofNullable(processService.getById(talkReqVO.getProcessId())).orElseThrow(() -> new BusinessException("未找到诊疗进程")); // 调用rasa获取文字内容 - String rasaResult = RasaUtil.talkRasa(talkReqVO.getText(), UserUtil.getUser().getId(), process.getPatientId()); + String rasaResult = RasaUtil.talkRasa(talkReqVO.getText(), UserUtil.getUser().getId()); log.info("rasa的回复是:{}", rasaResult); TalkResultResVO talkResultResVO = new TalkResultResVO(); // 如果rasa没有识别出来,则返回默认值 @@ -229,7 +229,7 @@ public class AskServiceImpl implements AskService { talkResultResVO.setVideoUrl(videoUrl + defaultNoMatchId); saveQaRecord(talkReqVO.getProcessId(), "default", null, talkReqVO.getText(), null, "您好,我没有听懂您说什么"); } else { - AskPatientAnswer askPatientAnswer = askPatientAnswerService.lambdaQuery().eq(AskPatientAnswer::getPatientId, process.getPatientId()) + AskPatientAnswer askPatientAnswer = askPatientAnswerService.lambdaQuery().eq(AskPatientAnswer::getMedicalId, process.getMedicalRecId()) .eq(AskPatientAnswer::getLibraryQuestionId, library.getId()).last("limit 1").one(); // 如果没有找到回答,去默认回答里面看看有没有 if (ObjectUtil.isEmpty(askPatientAnswer)) { diff --git a/virtual-patient-web/src/main/java/com/supervision/util/RasaUtil.java b/virtual-patient-web/src/main/java/com/supervision/util/RasaUtil.java index 420be126..644545b7 100644 --- a/virtual-patient-web/src/main/java/com/supervision/util/RasaUtil.java +++ b/virtual-patient-web/src/main/java/com/supervision/util/RasaUtil.java @@ -24,11 +24,12 @@ public class RasaUtil { private static final Environment environment = SpringBeanUtil.getBean(Environment.class); private static final String RASA_TALK_URL = environment.getProperty("rasa.base-url") + environment.getProperty("rasa.talk"); - public static String talkRasa(String question, String sessionId, String patientId) { + public static String talkRasa(String question, String sessionId) { RasaTalkVo rasaTalkVo = new RasaTalkVo(); rasaTalkVo.setQuestion(question); rasaTalkVo.setSessionId(sessionId); - rasaTalkVo.setModelId(patientId); + // 默认为1 + rasaTalkVo.setModelId("1"); String post = HttpUtil.post(RASA_TALK_URL, JSONUtil.toJsonStr(rasaTalkVo)); log.info("调用rasa对话返回结果:{}", post); try { diff --git a/virtual-patient-web/src/main/resources/application-dev.yml b/virtual-patient-web/src/main/resources/application-dev.yml index 7522c86e..379bcc76 100644 --- a/virtual-patient-web/src/main/resources/application-dev.yml +++ b/virtual-patient-web/src/main/resources/application-dev.yml @@ -85,5 +85,5 @@ ws: nginx-port: 443 # 对于没有匹配上的缺省回答ID,关联的是vp_file_resource的ID defaultNoMatchId: 1739173836351885313 -# 视频预览 -video-url: http://192.168.10.138:8899/virtual-patient/ask/downloadTalkVideo?fileResourceId= \ No newline at end of file +# 视频预览,NGINX的地址,https的地址 +video-url: https://192.168.10.138:443/virtual-patient/ask/downloadTalkVideo?fileResourceId= \ No newline at end of file