From 13021b4c836943fda4c8be882c4516efc72a8160 Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Thu, 27 May 2021 18:22:36 +0800 Subject: [PATCH] modify --- src/main/java/com/xcong/excoin/netty/logic/WebSocketLogic.java | 40 ++++++++++++++++++++-------------------- 1 files changed, 20 insertions(+), 20 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..b2788cb 100644 --- a/src/main/java/com/xcong/excoin/netty/logic/WebSocketLogic.java +++ b/src/main/java/com/xcong/excoin/netty/logic/WebSocketLogic.java @@ -42,13 +42,6 @@ responseBean.setType(requestBean.getType()); responseBean.setStatus(1); -// String bearerToken = requestBean.getData().toString(); -// String rsaToken = bearerToken.replace(AppContants.TOKEN_START_WITH, ""); -// RSA rsa = new RSA(securityProperties.getPrivateKey(), null); -// String[] tokens = StrUtil.split(rsa.decryptStr(rsaToken, KeyType.PrivateKey), "_"); -// -// Long memberId = Long.parseLong(tokens[0]); - String token = requestBean.getData().toString(); String redisKey = AppContants.APP_LOGIN_PREFIX + token; String loginStr = redisUtils.getString(redisKey); @@ -76,25 +69,32 @@ 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))); - // 判断是否在线 - Channel targetChannel = ChannelManager.findWsChannel(Long.parseLong(chat.getTo())); - if (targetChannel != null) { - targetChannel.writeAndFlush(NettyTools.webSocketBytes(JSONObject.toJSONString(ResponseBean.ok(chat)))); + ResponseBean res = ResponseBean.ok(chat); + chat.setTimestamp(System.currentTimeMillis()); + res.setType(2); + channel.writeAndFlush(NettyTools.webSocketJson(res)); - chatProducer.sendMsgHistory(chat); + // 判断是否在线 + Channel targetChannel = ChannelManager.findWsChannel(chat.getTargetId()); + if (targetChannel != null) { + chat.setIsSelf(2); + ResponseBean toRes = ResponseBean.ok(chat); + toRes.setType(2); + targetChannel.writeAndFlush(NettyTools.webSocketJson(toRes)); } else { // 在redis中保存用户未在线时,给该用户发送的消息条数 - String key = AppContants.MSG_NOTICE + chat.getTo(); - String value = redisUtils.getString(key); - if (StrUtil.isEmpty(value)) { - redisUtils.set(key , 1); - } else { - redisUtils.set(key, Integer.parseInt(value) + 1); - } +// String key = AppContants.MSG_NOTICE + chat.getTargetId(); +// String value = redisUtils.getString(key); +// if (StrUtil.isEmpty(value)) { +// redisUtils.set(key , 1); +// } else { +// redisUtils.set(key, Integer.parseInt(value) + 1); +// } } + chatProducer.sendMsgHistory(chat); } } -- Gitblit v1.9.1