From ecc7ce5412b06e058c3a954640b83497e5a262a7 Mon Sep 17 00:00:00 2001 From: liu <liujiatong112@163.com> Date: Fri, 3 Nov 2023 13:21:26 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AF=8A=E6=96=AD=E6=B5=81=E7=A8=8B=E6=8F=90?= =?UTF-8?q?=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AskTemplateQuestionLibraryMapper.xml | 24 ++++++++++--------- .../service/impl/AskServiceImpl.java | 14 +++++++++++ 2 files changed, 27 insertions(+), 11 deletions(-) diff --git a/virtual-patient-model/src/main/resources/mapper/AskTemplateQuestionLibraryMapper.xml b/virtual-patient-model/src/main/resources/mapper/AskTemplateQuestionLibraryMapper.xml index 3cbee9db..ca9fd436 100644 --- a/virtual-patient-model/src/main/resources/mapper/AskTemplateQuestionLibraryMapper.xml +++ b/virtual-patient-model/src/main/resources/mapper/AskTemplateQuestionLibraryMapper.xml @@ -5,20 +5,22 @@ <mapper namespace="com.supervision.mapper.AskTemplateQuestionLibraryMapper"> <resultMap id="BaseResultMap" type="com.supervision.model.AskTemplateQuestionLibrary"> - <id property="id" column="id" jdbcType="VARCHAR"/> - <result property="code" column="code" jdbcType="VARCHAR"/> - <result property="description" column="description" jdbcType="VARCHAR"/> - <result property="question" column="question" jdbcType="ARRAY" - typeHandler="com.supervision.handler.StringListTypeHandler"/> - <result property="defaultAnswer" column="default_answer" jdbcType="OTHER"/> - <result property="createUserId" column="create_user_id" jdbcType="VARCHAR"/> - <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/> - <result property="updateUserId" column="update_user_id" jdbcType="VARCHAR"/> - <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/> + <id property="id" column="id" jdbcType="VARCHAR"/> + <result property="code" column="code" jdbcType="VARCHAR"/> + <result property="description" column="description" jdbcType="VARCHAR"/> + <result property="question" column="question" jdbcType="ARRAY" + typeHandler="com.supervision.handler.StringListTypeHandler"/> + <result property="defaultAnswer" column="default_answer" jdbcType="ARRAY" + typeHandler="com.supervision.handler.StringListTypeHandler"/> + <result property="createUserId" column="create_user_id" jdbcType="VARCHAR"/> + <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/> + <result property="updateUserId" column="update_user_id" jdbcType="VARCHAR"/> + <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/> </resultMap> <sql id="Base_Column_List"> - id,code,description, + id + ,code,description, question,default_answer,create_user_id, create_time,update_user_id,update_time </sql> 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 22d6aad7..47453d8f 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 @@ -92,6 +92,20 @@ public class AskServiceImpl implements AskService { if (ObjectUtil.isEmpty(library)) { HumanUtil.textDriven("您好,我没有听懂您说什么", roomId); } else { + // 首先看看default里面是不是存在,如果存在,就从default里面去找 + if (CollUtil.isNotEmpty(library.getDefaultAnswer())) { + String resText = library.getDefaultAnswer().get(RandomUtil.randomInt(0, library.getDefaultAnswer().size())); + HumanUtil.textDriven(resText, roomId); + // 保存记录 + DiagnosisQaRecord record = new DiagnosisQaRecord(); + record.setProcessId(talkReqVO.getProcessId()); + // 注意,这里如果有默认回答,回答的结果是默认结果ID + record.setQuestionAnswerId(library.getId()); + record.setQuestion(talkReqVO.getText()); + record.setAnswer(resText); + record.setCreateUserId(UserUtil.getUser().getId()); + record.insert(); + } AskPatientAnswer askPatientAnswer = askPatientAnswerService.lambdaQuery().eq(AskPatientAnswer::getPatientId, process.getPatientId()) .eq(AskPatientAnswer::getLibraryQuestionId, library.getId()).last("limit 1").one(); if (ObjectUtil.isEmpty(askPatientAnswer) || CollUtil.isEmpty(askPatientAnswer.getAnswer())) {