You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
virtual-patient/virtual-patient-web/src/main/java/com/supervision/controller/AskController.java

59 lines
1.7 KiB
Java

package com.supervision.controller;
import com.supervision.pojo.vo.ReplyVoiceResVO;
2 years ago
import com.supervision.service.AskService;
import com.supervision.websocket.cache.WebSocketUserCache;
import io.swagger.annotations.Api;
2 years ago
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
2 years ago
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.socket.TextMessage;
import org.springframework.web.socket.WebSocketSession;
import java.io.IOException;
import java.util.List;
@Api(tags = "问诊")
@RestController
@RequestMapping("/ask/")
public class AskController {
2 years ago
@Autowired
private AskService askService;
@ApiOperation("发送消息到页面")
2 years ago
@GetMapping("/sendMessage")
public void sendMessage(String message, String sessionId) throws IOException {
WebSocketSession session = WebSocketUserCache.getSession(sessionId);
session.sendMessage(new TextMessage(message));
}
2 years ago
@ApiOperation("接收页面的语音消息")
2 years ago
@PostMapping("/receiveVoiceFile")
2 years ago
public String receiveVoiceFile(@RequestParam("file") MultipartFile file) throws IOException {
return askService.receiveVoiceFile(file);
}
@ApiOperation("回复语音及文字消息")
@GetMapping("replyVoice")
public ReplyVoiceResVO replyVoice() {
return askService.replyVoice();
2 years ago
}
@ApiOperation("进行对话")
@GetMapping("conversation")
public List<String> conversation(String question) {
return askService.conversation(question);
}
@ApiOperation("查询对话历史")
public void queryAskHistory(String processId) {
2 years ago
}
2 years ago
}