Commit 071ee1d9 authored by leiming's avatar leiming

1、聊天记录对接修改

parent 09c4dba6
Pipeline #6416 canceled with stages
......@@ -38,12 +38,12 @@ public class OpenApiController {
@GetMapping("testcompletions")
public void testcompletions(@RequestParam String chatId,
@RequestParam String message){
maxkbOpenApiService.chatCompletions(message,chatId,null);
maxkbOpenApiService.chatCompletions(message,"",chatId,null);
}
@GetMapping("aItalk")
public void testcompletions(@RequestParam String message){
maxkbOpenApiService.talk(message,null);
maxkbOpenApiService.talk(message,null,null);
}
}
......@@ -104,19 +104,17 @@ public class VoiceWebSocketServer {
public void onTextMessage(Session session,String message) throws IOException {
// session.setMaxBinaryMessageBufferSize(50 * 1024 * 1024);
log.info("message:{}", message);
@SuppressWarnings({"unchecked"})
Map<String, Object> map = JSON.parseObject(message, Map.class);
WebSocketModel webSocketModel = JSON.parseObject(message, WebSocketModel.class);
//1.如果问题不存在则创建问题
ChatgptRoleSession byId = chatgptRoleSessionService.getById(webSocketModel.getSessionId());
if (byId == null && webSocketModel.getAction().equals("text")) {
if (byId == null && "sendText".equals(webSocketModel.getAction())) {
ChatgptRoleSession chatgptRoleSession = new ChatgptRoleSession();
chatgptRoleSession.setId(Integer.valueOf(webSocketModel.getSessionId()));
chatgptRoleSession.setName(webSocketModel.getData());
chatgptRoleSession.setRoleDescId(10001);
chatgptRoleSession.setUserId(ScreenEnum.getByUserName(webSocketModel.getName()));
chatgptRoleSessionService.save(chatgptRoleSession);
} else if (byId != null && webSocketModel.getAction().equals("text")) {
} else if (byId != null && "sendText".equals(webSocketModel.getAction())) {
ChatgptRoleRecords chatgptRoleRecords = new ChatgptRoleRecords();
chatgptRoleRecords.setMessage(webSocketModel.getData());
chatgptRoleRecords.setReceiverId(10001);
......@@ -124,16 +122,21 @@ public class VoiceWebSocketServer {
chatgptRoleRecords.setCreateTime(DateUtil.getNowTimestamp());
chatgptRoleRecordsService.save(chatgptRoleRecords);
}
String msg = "";
// 文字聊天
if ("sendText".equals(map.get("action"))) {
msg = (String) map.get("data");
if ("sendText".equals(webSocketModel.getAction())) {
msg = webSocketModel.getData();
}
if ("sendText".equals(webSocketModel.getAction())) {
String msg = webSocketModel.getData();
if (msg != null && !msg.isEmpty()) {
maxkbOpenApiService.talk(msg, session);
maxkbOpenApiService.talk(msg,webSocketModel.getSessionId(), session);
}
// 心跳
}else if("heartbeat".equals(webSocketModel.getAction())){
Map<String,Object> map = new HashMap<>();
map.put("action","heartbeat_ack");
map.put("type","text");
map.put("content","");
String msg = JSON.toJSONString(map);
sendMessage(session,msg);
}
}
......
......@@ -17,7 +17,7 @@ public interface MaxkbOpenApiService {
*
* @message message 问题
*/
void chatCompletions(String message,String chatId, Session session);
void chatCompletions(String message,String sessionId,String chatId, Session session);
void talk(String message,Session seesion);
void talk(String message,String sessionId, Session seesion);
}
......@@ -34,15 +34,15 @@ public class MaxkbOpenApiServiceImpl implements MaxkbOpenApiService {
}
@Override
public void chatCompletions( String message, String chatId, Session session) {
public void chatCompletions( String message,String sessionId, String chatId, Session session) {
MaxdbReq maxdbReq = new MaxdbReq();
maxdbReq.setMessage(message);
WebSocketModel webSocketModel = JSONObject.parseObject(message, WebSocketModel.class);
HttpUtil.postCallBackStream(String.format(maxdbScreenConfig.getTalkUrl(),chatId), maxdbReq, maxdbScreenConfig.getApiKey(),session,webSocketModel.getSessionId());
// WebSocketModel webSocketModel = JSONObject.parseObject(message, WebSocketModel.class);
HttpUtil.postCallBackStream(String.format(maxdbScreenConfig.getTalkUrl(),chatId), maxdbReq, maxdbScreenConfig.getApiKey(),session,sessionId);
}
@Override
public void talk(String message,Session seesion) {
public void talk(String message,String sessionId,Session seesion) {
// if (message.contains("中科")){
//
// }else if (message.contains("大屏")){
......@@ -53,6 +53,6 @@ public class MaxkbOpenApiServiceImpl implements MaxkbOpenApiService {
// }
ApiResponse<Object> maxkbSessionId = getMaxkbSessionId(maxdbScreenConfig.getApplicationId());
chatCompletions(message,String.valueOf(maxkbSessionId.getData()),seesion);
chatCompletions(message,sessionId, String.valueOf(maxkbSessionId.getData()),seesion);
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment