问诊socket流程提交

dev_v1.0.1
liu 2 years ago
parent b2848b8ccd
commit 6ad794519e

@ -12,9 +12,10 @@ import java.util.List;
/**
*
*
* @TableName vp_config_physical_tool
*/
@TableName(value ="vp_config_physical_tool",autoResultMap = true)
@TableName(value = "vp_config_physical_tool", autoResultMap = true)
@Data
public class ConfigPhysicalTool implements Serializable {
/**

@ -1,22 +1,22 @@
package com.supervision.model;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.supervision.handler.StringListTypeHandler;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
import com.supervision.handler.StringListTypeHandler;
import lombok.Data;
/**
*
*
* @TableName vp_patient
*/
@TableName(value ="vp_patient")
@TableName(value = "vp_patient", autoResultMap = true)
@Data
public class Patient implements Serializable {
/**

@ -10,7 +10,8 @@
<result property="code" column="code" jdbcType="VARCHAR"/>
<result property="toolName" column="tool_name" jdbcType="VARCHAR"/>
<result property="requireLocation" column="require_location" jdbcType="INTEGER"/>
<result column="call_out_question" jdbcType="ARRAY" property="callOutQuestion" typeHandler="com.supervision.handler.StringListTypeHandler" />
<result column="call_out_question" jdbcType="ARRAY" property="callOutQuestion"
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"/>
@ -18,7 +19,8 @@
</resultMap>
<sql id="Base_Column_List">
id,tool_class,code,
id
,tool_class,code,
tool_name,require_location,create_user_id,
create_time,update_user_id,update_time
</sql>

@ -12,7 +12,8 @@
<result property="symptoms" column="symptoms" jdbcType="VARCHAR"/>
<result property="height" column="height" jdbcType="DECIMAL"/>
<result property="weight" column="weight" jdbcType="DECIMAL"/>
<result property="diseaseList" column="disease_list" jdbcType="VARCHAR"/>
<result property="diseaseList" jdbcType="ARRAY" column="disease_list"
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"/>
@ -20,7 +21,8 @@
</resultMap>
<sql id="Base_Column_List">
id,name,gender,
id
,name,gender,
age,symptoms,height,
weight,disease_list,create_user_id,
create_time,update_user_id,update_time

@ -13,6 +13,7 @@ import com.supervision.websocket.cache.WebSocketUserCache;
import com.supervision.websocket.dto.ActionDTO;
import com.supervision.websocket.dto.SocketMessageDTO;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.socket.TextMessage;
@ -21,6 +22,7 @@ import org.springframework.web.socket.WebSocketSession;
import java.io.IOException;
import java.util.List;
@Slf4j
@Service
@RequiredArgsConstructor
public class AskServiceImpl implements AskService {
@ -42,17 +44,18 @@ public class AskServiceImpl implements AskService {
}
// 进行rasa对话
List<String> rasaResultList = RasaUtil.talkRasa(text, socketMessageDTO.getSocketId());
log.info("问题:{},rasa回复:{}", text, JSONUtil.toJsonStr(rasaResultList));
WebSocketSession session = WebSocketUserCache.getSession(socketMessageDTO.getSocketId());
for (String rasaResult : rasaResultList) {
if (StrUtil.isNotBlank(rasaResult)){
if (StrUtil.isNotBlank(rasaResult)) {
// 这里校验,rasa回复的结果是不是action
// 这里设置的模板,对于action的动作全部是用---进行标记,详情看生成rasa的yml的代码:RasaServiceImpl.generateDomain
// ---ancillary---xxx
// ---tool---xxx
if (rasaResult.startsWith("---")){
if (rasaResult.startsWith("---")) {
// ["","ancillary","xxx"]
List<String> actionList = StrUtil.split(rasaResult, "---");
if (actionList.size() > 2){
if (actionList.size() > 2) {
ActionDTO actionDTO = new ActionDTO();
actionDTO.setActionType(actionList.get(1));
actionDTO.setActionId(actionList.get(2));
@ -65,7 +68,7 @@ public class AskServiceImpl implements AskService {
session.sendMessage(new TextMessage(JSONUtil.toJsonStr(res)));
return;
}
}else {
} else {
// 走到这里,说明是文字,这个时候文字转语音
String replyVoiceResVO = TtsUtil.ttsTransform(rasaResult);
// 在这里给socket回复
@ -87,6 +90,7 @@ public class AskServiceImpl implements AskService {
res.setTextMessage("医生,我们有听懂您说的什么");
res.setType(1);
session.sendMessage(new TextMessage(JSONUtil.toJsonStr(res)));
log.info("兜底话术,需要检查上面是不是出什么问题了");
}
@Override

Loading…
Cancel
Save