release_1.0.0
liu 1 year ago
parent f1b37f270d
commit 365d96ad1d

@ -47,7 +47,6 @@ public class ResponseConfig implements ResponseBodyAdvice<Object> {
@Nullable Class<? extends HttpMessageConverter<?>> aClass, @Nullable ServerHttpRequest serverHttpRequest,
@Nullable ServerHttpResponse serverHttpResponse) {
if (Objects.isNull(o)) {
return GlobalResult.ok(null, "success");
}

@ -20,28 +20,19 @@ public class AskController {
@Autowired
private AskService askService;
@ApiOperation("接收页面的语音消息(这个接口使用京东数字人接口来做)")
@ApiOperation("接收页面的语音消息转文字")
@PostMapping("/receiveVoiceFile")
public String receiveVoiceFile(@RequestParam("file") MultipartFile file) {
return askService.receiveVoiceFile(file);
}
@ApiOperation("接收页面的语音消息(这个接口使用京东数字人接口来做)")
@ApiOperation("使用京东数字人进行对话(这个接口使用京东数字人接口来做)")
@PostMapping("/talk")
public TalkResultResVO talk(TalkReqVO talkReqVO) throws IOException {
public TalkResultResVO talk(@RequestBody TalkReqVO talkReqVO) throws IOException {
return askService.talk(talkReqVO);
}
@ApiOperation("回复语音及文字消息")
@GetMapping("replyVoice")
public String replyVoice() {
return askService.replyVoice();
}
@ApiOperation("查询对话历史")
public void queryAskHistory(String processId) {
}
}

@ -32,7 +32,7 @@ public class AskPhysicalController {
return askPhysicalService.queryPhysicalToolList();
}
@ApiOperation(value = "查询体格检查的结果")
@ApiOperation(value = "查询体格检查的结果(执行体格检查)")
@GetMapping("queryAskPhysicalResult")
public DiagnosisPhysicalRecord queryAskPhysicalResult(AskPhysicalResultReqVO reqVO) {
return askPhysicalService.queryAskPhysicalResult(reqVO);

@ -6,13 +6,12 @@ import lombok.Data;
@Data
public class TalkResultResVO {
@ApiModelProperty("若有动作,这是需要执行的动作内容")
private ActionDTO action;
/**
* 使,action,1,2
* 使,action,1,2 3
*/
@ApiModelProperty("后端返回给前端时使用,表示该是语音回复还是action动作,1语音回复,2动作")
@ApiModelProperty("后端返回给前端时使用,表示该是语音回复还是action动作,1语音回复,2体格检查 3辅助检查")
private Integer type;
private String actionId;
}

@ -38,7 +38,7 @@ public class AskPrimaryServiceImpl implements AskPrimaryService {
diagnosisPrimaryService.save(reqVO);
// 将process关联的所有的患者描述全部都修改
diagnosisPrimaryService.lambdaUpdate().set(DiagnosisPrimary::getPatientDiseaseInfo,reqVO.getPatientDiseaseInfo())
.eq(DiagnosisPrimary::getId,reqVO.getProcessId()).update();
.eq(DiagnosisPrimary::getProcessId,reqVO.getProcessId()).update();
}
@Override

@ -79,12 +79,9 @@ public class AskServiceImpl implements AskService {
log.info("呼出语句:{}", rasaResult);
List<String> actionList = StrUtil.split(rasaResult, '_');
if (actionList.size() > 1) {
ActionDTO actionDTO = new ActionDTO();
actionDTO.setActionType(actionList.get(0));
actionDTO.setActionId(actionList.get(1));
// 在这里给socket回复,设置为动作
talkResultResVO.setAction(actionDTO);
talkResultResVO.setType(2);
talkResultResVO.setActionId(actionList.get(1));
talkResultResVO.setType("ancillary".equals(actionList.get(0)) ? 3 : 2);
return talkResultResVO;
}
} else {

@ -7,6 +7,7 @@ import cn.hutool.core.util.StrUtil;
import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpResponse;
import cn.hutool.http.HttpUtil;
import cn.hutool.json.JSONUtil;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
@ -230,7 +231,7 @@ public class RasaServiceImpl implements RasaService {
public GlobalResult<String> trainRasa(String patientId) throws JsonProcessingException {
Map<String, Object> param = new HashMap<>();
param.put("modelId", patientId);
String responseBody = HttpUtil.post(trainRasaUrl, param);
String responseBody = HttpUtil.post(trainRasaUrl, JSONUtil.toJsonStr(param));
return objectMapper.readValue(responseBody, new TypeReference<GlobalResult<String>>() {
});
}
@ -239,7 +240,7 @@ public class RasaServiceImpl implements RasaService {
public GlobalResult<String> runRasa(String patientId) throws JsonProcessingException {
Map<String, Object> param = new HashMap<>();
param.put("modelId", patientId);
String responseBody = HttpUtil.post(runRasaUrl, param);
String responseBody = HttpUtil.post(runRasaUrl, JSONUtil.toJsonStr(param));
return objectMapper.readValue(responseBody, new TypeReference<GlobalResult<String>>() {
});
}

@ -3,7 +3,12 @@ package com.supervision.util;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.http.HttpUtil;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.supervision.pojo.paddlespeech.res.AsrResultDTO;
import com.supervision.pojo.paddlespeech.res.PaddleSpeechResDTO;
import com.supervision.pojo.rasa.train.dto.RasaReqDTO;
import com.supervision.pojo.rasa.train.dto.RasaResDTO;
import com.supervision.vo.rasa.RasaTalkVo;
@ -25,12 +30,18 @@ public class RasaUtil {
rasaTalkVo.setSessionId(sessionId);
rasaTalkVo.setModelId(patientId);
String post = HttpUtil.post(RASA_TALK_URL, JSONUtil.toJsonStr(rasaTalkVo));
List<String> list = JSONUtil.toList(post, String.class);
log.info("调用rasa对话返回结果:{}", post);
try {
JSONObject entries = JSONUtil.parseObj(post);
List<String> list = JSONUtil.toList(entries.getStr("data"), String.class);
if (CollUtil.isEmpty(list)) {
return "对不起,我没有听懂您说的是什么意思";
}
return CollUtil.getFirst(list);
} catch (Exception e) {
log.error("talkRasa error ", e);
}
return "对不起,我没有听懂您说的是什么意思";
}

@ -62,7 +62,7 @@ paddle-speech:
tts: http://192.168.10.137:8090/paddlespeech/tts
asr: http://192.168.10.137:8090/paddlespeech/asr
rasa:
base-url: http://192.168.10.137:8890/
base-url: http://192.168.10.137:8890/virtual-patient-rasa/
talk: rasa/talkRasa
saveRasaFile: rasaFile/saveRasaFile
train: rasaCmd/trainExec

Loading…
Cancel
Save