Commit 071ee1d9 authored by leiming's avatar leiming

1、聊天记录对接修改

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