Browse Source

fix: 系统消息多终端下bug

master
xsx 2 years ago
parent
commit
72c596864b
  1. 8
      im-server/src/main/java/com/bx/imserver/netty/processor/SystemMessageProcessor.java

8
im-server/src/main/java/com/bx/imserver/netty/processor/SystemMessageProcessor.java

@ -26,10 +26,11 @@ public class SystemMessageProcessor extends AbstractMessageProcessor<IMRecvInfo>
@Override
public void process(IMRecvInfo recvInfo) {
IMUserInfo receiver = recvInfo.getReceivers().get(0);
log.info("接收到系统消息,接收者:{},内容:{}", receiver.getId(), recvInfo.getData());
log.info("接收到系统消息,接收用户数量:{},内容:{}", recvInfo.getReceivers().size(), recvInfo.getData());
for (IMUserInfo receiver : recvInfo.getReceivers()) {
try {
ChannelHandlerContext channelCtx = UserChannelCtxMap.getChannelCtx(receiver.getId(), receiver.getTerminal());
ChannelHandlerContext channelCtx =
UserChannelCtxMap.getChannelCtx(receiver.getId(), receiver.getTerminal());
if (!Objects.isNull(channelCtx)) {
// 推送消息到用户
IMSendInfo<Object> sendInfo = new IMSendInfo<>();
@ -48,6 +49,7 @@ public class SystemMessageProcessor extends AbstractMessageProcessor<IMRecvInfo>
sendResult(recvInfo, IMSendCode.UNKONW_ERROR);
log.error("发送异常,,接收者:{},内容:{}", receiver.getId(), recvInfo.getData(), e);
}
}
}

Loading…
Cancel
Save