diff --git a/im-platform/src/main/java/com/bx/implatform/controller/WebrtcController.java b/im-platform/src/main/java/com/bx/implatform/controller/WebrtcController.java index 29c90b3..0cc8310 100644 --- a/im-platform/src/main/java/com/bx/implatform/controller/WebrtcController.java +++ b/im-platform/src/main/java/com/bx/implatform/controller/WebrtcController.java @@ -8,6 +8,7 @@ import com.bx.imcommon.model.IMPrivateMessage; import com.bx.imcommon.model.PrivateMessageInfo; import com.bx.implatform.config.ICEServerConfig; import com.bx.implatform.enums.MessageType; +import com.bx.implatform.exception.GlobalException; import com.bx.implatform.result.Result; import com.bx.implatform.result.ResultUtils; import com.bx.implatform.session.SessionContext; @@ -35,6 +36,9 @@ public class WebrtcController { @ApiOperation(httpMethod = "POST", value = "呼叫视频通话") @PostMapping("/call") public Result call(@RequestParam Long uid, @RequestBody String offer) { + if(!imClient.isOnline(uid)){ + throw new GlobalException("对方目前不在线"); + } imClient.sendPrivateMessage(buildSendMessage(MessageType.RTC_CALL,uid,offer)); return ResultUtils.success(); } diff --git a/im-platform/src/main/java/com/bx/implatform/listener/PrivateMessageListener.java b/im-platform/src/main/java/com/bx/implatform/listener/PrivateMessageListener.java index eaa3f44..db277a0 100644 --- a/im-platform/src/main/java/com/bx/implatform/listener/PrivateMessageListener.java +++ b/im-platform/src/main/java/com/bx/implatform/listener/PrivateMessageListener.java @@ -41,24 +41,24 @@ public class PrivateMessageListener implements MessageListener { } // 视频通话信令不记录 if(messageInfo.getType() >= MessageType.RTC_CALL.code() && messageInfo.getType()< MessageType.RTC_CANDIDATE.code()){ - // 通知用户呼叫失败了 - if(messageInfo.getType().equals(MessageType.RTC_CALL.code()) - && !resultCode.equals(IMSendCode.SUCCESS)){ - PrivateMessageInfo msgInfo = new PrivateMessageInfo(); - msgInfo.setRecvId(messageInfo.getSendId()); - msgInfo.setSendId(messageInfo.getRecvId()); - msgInfo.setType(MessageType.RTC_FAILED.code()); - msgInfo.setContent(resultCode.description()); - msgInfo.setSendTime(new Date()); - - IMPrivateMessage sendMessage = new IMPrivateMessage(); - sendMessage.setSendId(messageInfo.getSendId()); - sendMessage.setRecvId(messageInfo.getRecvId()); - sendMessage.setSendTerminal(result.getRecvTerminal()); - sendMessage.setSendToSelf(false); - sendMessage.setDatas(Arrays.asList(messageInfo)); - imClient.sendPrivateMessage(sendMessage); - } +// // 通知用户呼叫失败了 +// if(messageInfo.getType().equals(MessageType.RTC_CALL.code()) +// && !resultCode.equals(IMSendCode.SUCCESS)){ +// PrivateMessageInfo msgInfo = new PrivateMessageInfo(); +// msgInfo.setRecvId(messageInfo.getSendId()); +// msgInfo.setSendId(messageInfo.getRecvId()); +// msgInfo.setType(MessageType.RTC_FAILED.code()); +// msgInfo.setContent(resultCode.description()); +// msgInfo.setSendTime(new Date()); +// +// IMPrivateMessage sendMessage = new IMPrivateMessage(); +// sendMessage.setSendId(messageInfo.getSendId()); +// sendMessage.setRecvId(messageInfo.getRecvId()); +// sendMessage.setSendTerminal(result.getRecvTerminal()); +// sendMessage.setSendToSelf(false); +// sendMessage.setDatas(Arrays.asList(messageInfo)); +// imClient.sendPrivateMessage(sendMessage); +// } return; } // 更新消息状态,这里只处理成功消息,失败的消息继续保持未读状态