From 21f93fe6b95e868659bc1af9658a0cd7ba43b203 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Wed, 26 May 2021 20:15:20 +0800
Subject: [PATCH] Merge branch 'otc' of http://120.27.238.55:7000/r/exchange into otc

---
 src/main/java/com/xcong/excoin/netty/common/ChannelManager.java |   28 +++++++++++++++++++---------
 1 files changed, 19 insertions(+), 9 deletions(-)

diff --git a/src/main/java/com/xcong/excoin/netty/common/ChannelManager.java b/src/main/java/com/xcong/excoin/netty/common/ChannelManager.java
index 0167807..04163d6 100644
--- a/src/main/java/com/xcong/excoin/netty/common/ChannelManager.java
+++ b/src/main/java/com/xcong/excoin/netty/common/ChannelManager.java
@@ -23,14 +23,20 @@
     // 当前连接到服务器的通道(tcp和websocket)
     private static final ConcurrentMap<String, ChannelId> CHANNEL_MAP = new ConcurrentHashMap<>();
 
+    // key - 用户ID value - 通道ID
+    private static final ConcurrentMap<String, ChannelId> MEMBER_CHANNEL = new ConcurrentHashMap<>();
+
+    // key - 通道 value - 用户
+    private static final ConcurrentMap<ChannelId, String> CHANNEL_MEMBER = new ConcurrentHashMap<>();
+
     public static void addWebSocketChannel(Channel channel) {
         WEBSOCKET_GROUP.add(channel);
         CHANNEL_MAP.put(channel.id().asShortText(), channel.id());
     }
 
     public static void addWsChannel(Channel channel, Long memberId) {
-        WEBSOCKET_GROUP.add(channel);
-        CHANNEL_MAP.put(memberId.toString(), channel.id());
+        MEMBER_CHANNEL.put(memberId.toString(), channel.id());
+        CHANNEL_MEMBER.put(channel.id(), memberId.toString());
     }
 
     public static void removeWebSocketChannel(Channel channel) {
@@ -39,8 +45,8 @@
     }
 
     public static void removeWsChannel(Channel channel, Long memberId) {
-        WEBSOCKET_GROUP.remove(channel);
-        CHANNEL_MAP.remove(memberId.toString());
+        MEMBER_CHANNEL.remove(memberId.toString());
+        CHANNEL_MEMBER.remove(channel.id());
     }
 
     public static Channel findWebSocketChannel(String id){
@@ -49,8 +55,12 @@
     }
 
     public static Channel findWsChannel(Long id){
-        ChannelId channelId = CHANNEL_MAP.get(id.toString());
+        ChannelId channelId = MEMBER_CHANNEL.get(id.toString());
         return WEBSOCKET_GROUP.find(channelId);
+    }
+
+    public static String findWsMemberId(Channel channel) {
+        return CHANNEL_MEMBER.get(channel.id());
     }
 
     public static ChannelGroup getWebSocketGroup() {
@@ -61,10 +71,10 @@
         if (WEBSOCKET_GROUP.size() == 0) {
             return;
         }
-        ResponseBean responseBean = ResponseBean.ok(type, null);
-        responseBean.putInfo("data", object);
-        String msg = JSONObject.toJSONString(responseBean);
-        WEBSOCKET_GROUP.writeAndFlush(NettyTools.webSocketBytes(msg));
+//        ResponseBean responseBean = ResponseBean.ok(type, null);
+//        responseBean.putInfo("data", object);
+//        String msg = JSONObject.toJSONString(responseBean);
+//        WEBSOCKET_GROUP.writeAndFlush(NettyTools.webSocketBytes(msg));
     }
 
 

--
Gitblit v1.9.1