|
|
@ -161,52 +161,22 @@ public class AskServiceImpl implements AskService {
|
|
|
|
talkResultResVO.setAnswerMessage(defaultNoMatchAnswerMessage);
|
|
|
|
talkResultResVO.setAnswerMessage(defaultNoMatchAnswerMessage);
|
|
|
|
saveQaRecord(talkReqVO.getProcessId(), "default", null, talkReqVO.getText(), null, "您好,我没有听懂您说什么");
|
|
|
|
saveQaRecord(talkReqVO.getProcessId(), "default", null, talkReqVO.getText(), null, "您好,我没有听懂您说什么");
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
|
|
|
|
|
|
|
|
AskPatientAnswer askPatientAnswer = askPatientAnswerService.lambdaQuery().eq(AskPatientAnswer::getMedicalId, process.getMedicalRecId())
|
|
|
|
AskPatientAnswer askPatientAnswer = askPatientAnswerService.lambdaQuery().eq(AskPatientAnswer::getMedicalId, process.getMedicalRecId())
|
|
|
|
.eq(AskPatientAnswer::getLibraryQuestionId, library.getId()).last("limit 1").one();
|
|
|
|
.eq(AskPatientAnswer::getLibraryQuestionId, library.getId()).last("limit 1").one();
|
|
|
|
// 如果没有找到回答,去默认回答里面看看有没有
|
|
|
|
|
|
|
|
if (ObjectUtil.isEmpty(askPatientAnswer)) {
|
|
|
|
|
|
|
|
log.info("{}:病历配置,未从AskPatientAnswer中找到回答结果,尝试回答默认答案", rasaResult);
|
|
|
|
|
|
|
|
// 首先看看default里面是不是存在,如果存在,就从default里面去找
|
|
|
|
|
|
|
|
if (StrUtil.isNotEmpty(library.getDefaultAnswer()) && StrUtil.isNotBlank(library.getDefaultAnswerResourceId())) {
|
|
|
|
|
|
|
|
String resText = library.getDefaultAnswer();
|
|
|
|
|
|
|
|
talkResultResVO.setVideoBase64(getAnswerVideoBase64OrDefault(library.getDefaultAnswerResourceId()));
|
|
|
|
|
|
|
|
talkResultResVO.setAnswerMessage(library.getDefaultAnswer());
|
|
|
|
|
|
|
|
// 保存记录
|
|
|
|
|
|
|
|
saveQaRecord(talkReqVO.getProcessId(), "default", library.getId(), talkReqVO.getText(), library, resText);
|
|
|
|
|
|
|
|
log.info("{}:找到了默认答案:{}", rasaResult, talkReqVO.getText());
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
log.info("{}:没有从默认答案中找到找到默认内容,回复未识别语句", rasaResult);
|
|
|
|
|
|
|
|
talkResultResVO.setVideoBase64(getAnswerVideoBase64OrDefault(library.getDefaultAnswerResourceId()));
|
|
|
|
|
|
|
|
talkResultResVO.setAnswerMessage(library.getDefaultAnswer());
|
|
|
|
|
|
|
|
saveQaRecord(talkReqVO.getProcessId(), "default", null, talkReqVO.getText(), library, "您好,我没有听懂您说什么");
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
if (StrUtil.isEmpty(askPatientAnswer.getAnswer())) {
|
|
|
|
|
|
|
|
log.info("{}:病历配置的回答:{}:不为空,但在获取的时候,答案为空,尝试回复默认语句", rasaResult, askPatientAnswer.getId());
|
|
|
|
|
|
|
|
if (StrUtil.isNotEmpty(library.getDefaultAnswer())) {
|
|
|
|
|
|
|
|
String resText = library.getDefaultAnswer();
|
|
|
|
|
|
|
|
log.info("{}:病历配置的回答:{}:不为空,但在获取的时候,答案为空,开始回复默认语句,默认语句内容:{}", rasaResult, askPatientAnswer.getId(), resText);
|
|
|
|
|
|
|
|
// 这里返回视频
|
|
|
|
|
|
|
|
talkResultResVO.setVideoBase64(getAnswerVideoBase64OrDefault(library.getDefaultAnswerResourceId()));
|
|
|
|
|
|
|
|
talkResultResVO.setAnswerMessage(library.getDefaultAnswer());
|
|
|
|
|
|
|
|
// 保存记录
|
|
|
|
|
|
|
|
saveQaRecord(talkReqVO.getProcessId(), "default", library.getId(), talkReqVO.getText(), library, resText);
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
log.info("{}:病历配置的回答:{}:不为空,但在获取的时候,答案为空,但是获取默认语句也为空,那么回复未识别语句", rasaResult, askPatientAnswer.getId());
|
|
|
|
|
|
|
|
talkResultResVO.setVideoBase64(getAnswerVideoBase64OrDefault(defaultNoMatchId));
|
|
|
|
|
|
|
|
talkResultResVO.setAnswerMessage(defaultNoMatchAnswerMessage);
|
|
|
|
|
|
|
|
saveQaRecord(talkReqVO.getProcessId(), "default", null, talkReqVO.getText(), library, "您好,我没有听懂您说什么");
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
String resText = askPatientAnswer.getAnswer();
|
|
|
|
|
|
|
|
log.info("{}:找到了病历配置的回答语句:{},回答内容:{}", rasaResult, askPatientAnswer.getId(), resText);
|
|
|
|
|
|
|
|
talkResultResVO.setVideoBase64(getAnswerVideoBase64OrDefault(askPatientAnswer.getAnswerResourceId()));
|
|
|
|
|
|
|
|
talkResultResVO.setAnswerMessage(askPatientAnswer.getAnswer());
|
|
|
|
|
|
|
|
// 保存记录
|
|
|
|
|
|
|
|
saveQaRecord(talkReqVO.getProcessId(), "patient", askPatientAnswer.getId(), talkReqVO.getText(), library, resText);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (ObjectUtil.isNotEmpty(askPatientAnswer) && StrUtil.isNotEmpty(askPatientAnswer.getAnswerResourceId())){
|
|
|
|
|
|
|
|
String resText = askPatientAnswer.getAnswer();
|
|
|
|
|
|
|
|
log.info("{}:找到了病历配置的回答语句:{},回答内容:{}", rasaResult, askPatientAnswer.getId(), resText);
|
|
|
|
|
|
|
|
talkResultResVO.setVideoBase64(getAnswerVideoBase64OrDefault(askPatientAnswer.getAnswerResourceId()));
|
|
|
|
|
|
|
|
talkResultResVO.setAnswerMessage(askPatientAnswer.getAnswer());
|
|
|
|
|
|
|
|
// 保存记录
|
|
|
|
|
|
|
|
saveQaRecord(talkReqVO.getProcessId(), "patient", askPatientAnswer.getId(), talkReqVO.getText(), library, resText);
|
|
|
|
|
|
|
|
}else {
|
|
|
|
|
|
|
|
log.info("{}:病历配置,从AskPatientAnswer中未找到回答结果,回复未识别到语句", rasaResult);
|
|
|
|
|
|
|
|
talkResultResVO.setVideoBase64(getAnswerVideoBase64OrDefault(library.getDefaultAnswerResourceId()));
|
|
|
|
|
|
|
|
talkResultResVO.setAnswerMessage(library.getDefaultAnswer());
|
|
|
|
|
|
|
|
saveQaRecord(talkReqVO.getProcessId(), "default", null, talkReqVO.getText(), library, "您好,我没有听懂您说什么");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|