Browse Source

代码优化

master
xie.bx 3 years ago
parent
commit
f82a7bf2f2
  1. 4
      im-platform/src/main/java/com/bx/implatform/controller/WebrtcController.java
  2. 36
      im-platform/src/main/java/com/bx/implatform/listener/PrivateMessageListener.java

4
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();
}

36
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;
}
// 更新消息状态,这里只处理成功消息,失败的消息继续保持未读状态

Loading…
Cancel
Save