From f659a0e80789375275902e31add792ede6380ec9 Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Thu, 27 May 2021 17:12:45 +0800 Subject: [PATCH] modify --- src/main/java/com/xcong/excoin/netty/logic/WebSocketLogic.java | 16 ++++++++++++---- 1 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/xcong/excoin/netty/logic/WebSocketLogic.java b/src/main/java/com/xcong/excoin/netty/logic/WebSocketLogic.java index 8378aa7..0f6716c 100644 --- a/src/main/java/com/xcong/excoin/netty/logic/WebSocketLogic.java +++ b/src/main/java/com/xcong/excoin/netty/logic/WebSocketLogic.java @@ -76,19 +76,27 @@ public void sendMsg(RequestBean requestBean) { String chatStr = requestBean.getData().toString(); + log.info("接收到的消息:{}", chatStr); ChatRequest chat = JSONObject.parseObject(chatStr, ChatRequest.class); Channel channel = ChannelManager.findWebSocketChannel(requestBean.getChannelId()); - channel.writeAndFlush(NettyTools.webSocketJson(ResponseBean.ok(chat))); + ResponseBean res = ResponseBean.ok(chat); + chat.setTimestamp(System.currentTimeMillis()); + res.setType(2); + channel.writeAndFlush(NettyTools.webSocketJson(res)); + // 判断是否在线 - Channel targetChannel = ChannelManager.findWsChannel(Long.parseLong(chat.getTo())); + Channel targetChannel = ChannelManager.findWsChannel(chat.getTargetId()); if (targetChannel != null) { - targetChannel.writeAndFlush(NettyTools.webSocketBytes(JSONObject.toJSONString(ResponseBean.ok(chat)))); + chat.setIsSelf(2); + ResponseBean toRes = ResponseBean.ok(chat); + res.setType(2); + targetChannel.writeAndFlush(NettyTools.webSocketJson(toRes)); chatProducer.sendMsgHistory(chat); } else { // 在redis中保存用户未在线时,给该用户发送的消息条数 - String key = AppContants.MSG_NOTICE + chat.getTo(); + String key = AppContants.MSG_NOTICE + chat.getTargetId(); String value = redisUtils.getString(key); if (StrUtil.isEmpty(value)) { redisUtils.set(key , 1); -- Gitblit v1.9.1