diff --git a/im-client/src/main/java/com/bx/imclient/sender/IMSender.java b/im-client/src/main/java/com/bx/imclient/sender/IMSender.java index 6fc1297..1e0a7f6 100644 --- a/im-client/src/main/java/com/bx/imclient/sender/IMSender.java +++ b/im-client/src/main/java/com/bx/imclient/sender/IMSender.java @@ -30,30 +30,33 @@ public class IMSender { public void sendPrivateMessage(IMPrivateMessage message) { List results = new LinkedList<>(); - for (Integer terminal : message.getRecvTerminals()) { - // 获取对方连接的channelId - String key = String.join(":", IMRedisKey.IM_USER_SERVER_ID, message.getRecvId().toString(), terminal.toString()); - Integer serverId = (Integer)redisTemplate.opsForValue().get(key); - // 如果对方在线,将数据存储至redis,等待拉取推送 - if (serverId != null) { - String sendKey = String.join(":", IMRedisKey.IM_MESSAGE_PRIVATE_QUEUE, serverId.toString()); - IMRecvInfo recvInfo = new IMRecvInfo(); - recvInfo.setCmd(IMCmdType.PRIVATE_MESSAGE.code()); - recvInfo.setSendResult(message.getSendResult()); - recvInfo.setServiceName(appName); - recvInfo.setSender(message.getSender()); - recvInfo.setReceivers(Collections.singletonList(new IMUserInfo(message.getRecvId(), terminal))); - recvInfo.setData(message.getData()); - redisTemplate.opsForList().rightPush(sendKey, recvInfo); - } else { - IMSendResult result = new IMSendResult(); - result.setSender(message.getSender()); - result.setReceiver(new IMUserInfo(message.getRecvId(), terminal)); - result.setCode(IMSendCode.NOT_ONLINE.code()); - result.setData(message.getData()); - results.add(result); + if(!Objects.isNull(message.getRecvId())){ + for (Integer terminal : message.getRecvTerminals()) { + // 获取对方连接的channelId + String key = String.join(":", IMRedisKey.IM_USER_SERVER_ID, message.getRecvId().toString(), terminal.toString()); + Integer serverId = (Integer)redisTemplate.opsForValue().get(key); + // 如果对方在线,将数据存储至redis,等待拉取推送 + if (serverId != null) { + String sendKey = String.join(":", IMRedisKey.IM_MESSAGE_PRIVATE_QUEUE, serverId.toString()); + IMRecvInfo recvInfo = new IMRecvInfo(); + recvInfo.setCmd(IMCmdType.PRIVATE_MESSAGE.code()); + recvInfo.setSendResult(message.getSendResult()); + recvInfo.setServiceName(appName); + recvInfo.setSender(message.getSender()); + recvInfo.setReceivers(Collections.singletonList(new IMUserInfo(message.getRecvId(), terminal))); + recvInfo.setData(message.getData()); + redisTemplate.opsForList().rightPush(sendKey, recvInfo); + } else { + IMSendResult result = new IMSendResult(); + result.setSender(message.getSender()); + result.setReceiver(new IMUserInfo(message.getRecvId(), terminal)); + result.setCode(IMSendCode.NOT_ONLINE.code()); + result.setData(message.getData()); + results.add(result); + } } } + // 推送给自己的其他终端 if(message.getSendToSelf()){ for (Integer terminal : IMTerminalType.codes()) { diff --git a/im-ui/src/components/common/HeadImage.vue b/im-ui/src/components/common/HeadImage.vue index 0ca2985..ce438de 100644 --- a/im-ui/src/components/common/HeadImage.vue +++ b/im-ui/src/components/common/HeadImage.vue @@ -84,7 +84,7 @@ .avatar-text{ background-color: #f2f2f2; /* 默认背景色 */ - border-radius: 50%; /* 圆角效果 */ + border-radius: 10%; /* 圆角效果 */ display: flex; align-items: center; justify-content: center;