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

---
 src/main/java/com/xcong/excoin/netty/logic/WebSocketLogic.java        |   20 ----
 src/main/java/com/xcong/excoin/netty/bean/AuthRequest.java            |   29 +++++
 src/main/java/com/xcong/excoin/netty/bean/ResponseBean.java           |    5 
 src/main/java/com/xcong/excoin/netty/common/ChannelManager.java       |   15 +++
 src/main/java/com/xcong/excoin/common/aop/ExceptionCatchAspect.java   |    2 
 src/main/java/com/xcong/excoin/netty/dispatch/MsgDispatch.java        |    3 
 src/main/resources/application-app.yml                                |    2 
 pom.xml                                                               |   10 +-
 src/main/java/com/xcong/excoin/netty/bean/RequestBean.java            |   81 ++-------------
 src/main/java/com/xcong/excoin/modules/otc/entity/OtcMsgHistory.java  |   23 ++++
 src/main/java/com/xcong/excoin/netty/logic/impl/MsgLogicImpl.java     |   20 ++--
 src/main/java/com/xcong/excoin/netty/server/WebSocketServer.java      |    1 
 src/main/java/com/xcong/excoin/ExcoinApplication.java                 |   15 ++
 src/main/java/com/xcong/excoin/netty/bean/ChatRequest.java            |   10 ++
 src/main/java/com/xcong/excoin/modules/otc/entity/OtcMsgUserList.java |   26 +++++
 15 files changed, 148 insertions(+), 114 deletions(-)

diff --git a/pom.xml b/pom.xml
index 2b52ce0..c36163d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -218,11 +218,11 @@
         </dependency>
 
 
-        <dependency>
-            <groupId>io.netty</groupId>
-            <artifactId>netty-all</artifactId>
-            <version>${netty.version}</version>
-        </dependency>
+<!--        <dependency>-->
+<!--            <groupId>io.netty</groupId>-->
+<!--            <artifactId>netty-all</artifactId>-->
+<!--            <version>${netty.version}</version>-->
+<!--        </dependency>-->
 
         <!--<dependency>-->
             <!--<groupId>com.squareup.okhttp3</groupId>-->
diff --git a/src/main/java/com/xcong/excoin/ExcoinApplication.java b/src/main/java/com/xcong/excoin/ExcoinApplication.java
index 8bcb06f..57b9e57 100644
--- a/src/main/java/com/xcong/excoin/ExcoinApplication.java
+++ b/src/main/java/com/xcong/excoin/ExcoinApplication.java
@@ -1,6 +1,12 @@
 package com.xcong.excoin;
 
+import com.xcong.excoin.netty.ChatServer;
+import com.xcong.excoin.netty.server.WebSocketServer;
 import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.ApplicationArguments;
+import org.springframework.boot.ApplicationRunner;
+import org.springframework.boot.CommandLineRunner;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.scheduling.annotation.EnableAsync;
@@ -15,10 +21,17 @@
 @EnableAsync
 @SpringBootApplication
 @MapperScan("com.xcong.excoin.modules.*.dao")
-public class ExcoinApplication {
+public class ExcoinApplication implements CommandLineRunner {
+
+    @Autowired
+    private WebSocketServer webSocketServer;
 
     public static void main(String[] args) {
         SpringApplication.run(ExcoinApplication.class, args);
     }
 
+    @Override
+    public void run(String... args) throws Exception {
+//        webSocketServer.start();
+    }
 }
diff --git a/src/main/java/com/xcong/excoin/common/aop/ExceptionCatchAspect.java b/src/main/java/com/xcong/excoin/common/aop/ExceptionCatchAspect.java
index 627682c..85e1226 100644
--- a/src/main/java/com/xcong/excoin/common/aop/ExceptionCatchAspect.java
+++ b/src/main/java/com/xcong/excoin/common/aop/ExceptionCatchAspect.java
@@ -87,7 +87,7 @@
                     } else {
                         msg = exStr;
                     }
-                    DingTalkUtils.sendMsg(profiles + "--" + ex.getMessage(), msg, exceptionData.getId());
+                    DingTalkUtils.sendMsg(projectName + "-" +profiles + "--" + ex.getMessage(), msg, exceptionData.getId());
                 } catch (Exception e) {
                     log.error("exception aop", e);
                 }
diff --git a/src/main/java/com/xcong/excoin/modules/otc/entity/OtcMsgHistory.java b/src/main/java/com/xcong/excoin/modules/otc/entity/OtcMsgHistory.java
new file mode 100644
index 0000000..f156d0e
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/otc/entity/OtcMsgHistory.java
@@ -0,0 +1,23 @@
+package com.xcong.excoin.modules.otc.entity;
+
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.xcong.excoin.common.system.base.BaseEntity;
+import lombok.Data;
+
+@Data
+@TableName("otc_msg_history")
+public class OtcMsgHistory extends BaseEntity {
+
+    private Long memberId;
+
+    private Long targetId;
+
+    private String msg;
+
+    /**
+     * 消息类型 1-文本 2-图片
+     */
+    private Integer msgType;
+
+}
diff --git a/src/main/java/com/xcong/excoin/modules/otc/entity/OtcMsgUserList.java b/src/main/java/com/xcong/excoin/modules/otc/entity/OtcMsgUserList.java
new file mode 100644
index 0000000..578ad0d
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/otc/entity/OtcMsgUserList.java
@@ -0,0 +1,26 @@
+package com.xcong.excoin.modules.otc.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.xcong.excoin.common.system.base.BaseEntity;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+@TableName("otc_msg_user_list")
+public class OtcMsgUserList extends BaseEntity {
+
+    private Long memberId;
+
+    private Long targetId;
+
+    /**
+     * 是否已读 1-是 2-否
+     */
+    private Integer isRead;
+
+    /**
+     * 最后聊天时间
+     */
+    private Date lastMsgTime;
+}
diff --git a/src/main/java/com/xcong/excoin/netty/bean/AuthRequest.java b/src/main/java/com/xcong/excoin/netty/bean/AuthRequest.java
new file mode 100644
index 0000000..9366538
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/netty/bean/AuthRequest.java
@@ -0,0 +1,29 @@
+package com.xcong.excoin.netty.bean;
+
+
+import java.io.Serializable;
+
+public class AuthRequest implements Serializable {
+
+    private static final long serialVersionUID = 5557983797622950620L;
+
+    private Integer cmd;
+
+    private String token;
+
+    public Integer getCmd() {
+        return cmd;
+    }
+
+    public void setCmd(Integer cmd) {
+        this.cmd = cmd;
+    }
+
+    public String getToken() {
+        return token;
+    }
+
+    public void setToken(String token) {
+        this.token = token;
+    }
+}
diff --git a/src/main/java/com/xcong/excoin/netty/bean/ChatRequest.java b/src/main/java/com/xcong/excoin/netty/bean/ChatRequest.java
index ea7ab2b..15936f6 100644
--- a/src/main/java/com/xcong/excoin/netty/bean/ChatRequest.java
+++ b/src/main/java/com/xcong/excoin/netty/bean/ChatRequest.java
@@ -14,6 +14,16 @@
 
     private String content;
 
+    private Integer cmd;
+
+    public Integer getCmd() {
+        return cmd;
+    }
+
+    public void setCmd(Integer cmd) {
+        this.cmd = cmd;
+    }
+
     public String getTo() {
         return to;
     }
diff --git a/src/main/java/com/xcong/excoin/netty/bean/RequestBean.java b/src/main/java/com/xcong/excoin/netty/bean/RequestBean.java
index 289b4ae..22bd4ab 100644
--- a/src/main/java/com/xcong/excoin/netty/bean/RequestBean.java
+++ b/src/main/java/com/xcong/excoin/netty/bean/RequestBean.java
@@ -3,88 +3,31 @@
 
 import java.io.Serializable;
 
-/**
- * @author wzy
- * @email wangdoubleone@gmail.com
- * @date 2019-05-09
- */
+
 public class RequestBean implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
     /**
-     * 请求类型
+     * 请求类型 1-鉴权 2-发送消息
      */
-    private String type;
+    private Integer type;
 
-    /**
-     * 当前通道id
-     */
-    private String channelId;
+    private Object data;
 
-    /**
-     * web端通道ID
-     */
-    private String reqId;
+    public Object getData() {
+        return data;
+    }
 
-    /**
-     * 请求参数
-     */
-    private String params;
+    public void setData(Object data) {
+        this.data = data;
+    }
 
-    /**
-     * 手持端是否同意连接 0-否 1-是
-     */
-    private String tag;
-
-    public String getType() {
+    public Integer getType() {
         return type;
     }
 
-    public void setType(String type) {
+    public void setType(Integer type) {
         this.type = type;
-    }
-
-    public String getChannelId() {
-        return channelId;
-    }
-
-    public void setChannelId(String channelId) {
-        this.channelId = channelId;
-    }
-
-    public String getParams() {
-        return params;
-    }
-
-    public void setParams(String params) {
-        this.params = params;
-    }
-
-    public String getReqId() {
-        return reqId;
-    }
-
-    public void setReqId(String reqId) {
-        this.reqId = reqId;
-    }
-
-    public String getTag() {
-        return tag;
-    }
-
-    public void setTag(String tag) {
-        this.tag = tag;
-    }
-
-    @Override
-    public String toString() {
-        return "RequestBean{" +
-                "type='" + type + '\'' +
-                ", channelId='" + channelId + '\'' +
-                ", reqId='" + reqId + '\'' +
-                ", params='" + params + '\'' +
-                ", tag='" + tag + '\'' +
-                '}';
     }
 }
diff --git a/src/main/java/com/xcong/excoin/netty/bean/ResponseBean.java b/src/main/java/com/xcong/excoin/netty/bean/ResponseBean.java
index b595122..78a1fbf 100644
--- a/src/main/java/com/xcong/excoin/netty/bean/ResponseBean.java
+++ b/src/main/java/com/xcong/excoin/netty/bean/ResponseBean.java
@@ -5,10 +5,7 @@
 import java.util.List;
 import java.util.Map;
 
-/**
- * @author wzy
- * @date 2020-04-18 16:17
- **/
+
 public class ResponseBean implements Serializable {
 
     private static final long serialVersionUID = 1L;
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 5d158f6..0167807 100644
--- a/src/main/java/com/xcong/excoin/netty/common/ChannelManager.java
+++ b/src/main/java/com/xcong/excoin/netty/common/ChannelManager.java
@@ -28,16 +28,31 @@
         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());
+    }
+
     public static void removeWebSocketChannel(Channel channel) {
         WEBSOCKET_GROUP.remove(channel);
         CHANNEL_MAP.remove(channel.id().asShortText());
     }
 
+    public static void removeWsChannel(Channel channel, Long memberId) {
+        WEBSOCKET_GROUP.remove(channel);
+        CHANNEL_MAP.remove(memberId.toString());
+    }
+
     public static Channel findWebSocketChannel(String id){
         ChannelId channelId = CHANNEL_MAP.get(id);
         return WEBSOCKET_GROUP.find(channelId);
     }
 
+    public static Channel findWsChannel(Long id){
+        ChannelId channelId = CHANNEL_MAP.get(id.toString());
+        return WEBSOCKET_GROUP.find(channelId);
+    }
+
     public static ChannelGroup getWebSocketGroup() {
         return WEBSOCKET_GROUP;
     }
diff --git a/src/main/java/com/xcong/excoin/netty/dispatch/MsgDispatch.java b/src/main/java/com/xcong/excoin/netty/dispatch/MsgDispatch.java
index 540fd36..9a296df 100644
--- a/src/main/java/com/xcong/excoin/netty/dispatch/MsgDispatch.java
+++ b/src/main/java/com/xcong/excoin/netty/dispatch/MsgDispatch.java
@@ -27,10 +27,9 @@
     private MsgLogic msgLogic;
 
     public void webSocketDispatch(ChannelHandlerContext ctx, String msg) {
+        log.info("==========={}", msg);
         RequestBean requestBean = null;
         try {
-            requestBean = JSONObject.parseObject(msg, RequestBean.class);
-            requestBean.setChannelId(ctx.channel().id().asShortText());
             msgLogic.webSocketMsgLogic(requestBean);
         } catch (Exception e) {
             log.info("#websocket json error:{}#", e);
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 d1c9322..2b0b493 100644
--- a/src/main/java/com/xcong/excoin/netty/logic/WebSocketLogic.java
+++ b/src/main/java/com/xcong/excoin/netty/logic/WebSocketLogic.java
@@ -18,24 +18,4 @@
 public class WebSocketLogic {
 
 
-    public void webReqConnection(RequestBean requestBean) {
-        Channel channel = ChannelManager.findWebSocketChannel(requestBean.getChannelId());
-        channel.writeAndFlush(NettyTools.webSocketBytes("this is ok"));
-    }
-
-    public void reqHomeSymbols(RequestBean requestBean) {
-        String params = requestBean.getParams();
-        JSONObject jsonObject = JSONObject.parseObject(params);
-        String token = jsonObject.getString("token");
-        String type = jsonObject.getString("type");
-        ResponseBean responseBean = ResponseBean.ok(requestBean.getType(), null);
-
-        Channel channel = ChannelManager.findWebSocketChannel(requestBean.getChannelId());
-        channel.writeAndFlush(NettyTools.webSocketBytes(JSONObject.toJSONString(responseBean)));
-    }
-
-    public void defaultReq(RequestBean requestBean) {
-        Channel channel = ChannelManager.findWebSocketChannel(requestBean.getChannelId());
-        channel.writeAndFlush("this is error type");
-    }
 }
diff --git a/src/main/java/com/xcong/excoin/netty/logic/impl/MsgLogicImpl.java b/src/main/java/com/xcong/excoin/netty/logic/impl/MsgLogicImpl.java
index c1fbb4c..7fb6fa9 100644
--- a/src/main/java/com/xcong/excoin/netty/logic/impl/MsgLogicImpl.java
+++ b/src/main/java/com/xcong/excoin/netty/logic/impl/MsgLogicImpl.java
@@ -20,16 +20,16 @@
 
     @Override
     public void webSocketMsgLogic(RequestBean requestBean) {
-        switch (requestBean.getType()) {
-            case Contans.WEB_REQ_CONNECTION :
-                webSocketLogic.webReqConnection(requestBean);
-                break;
-            case Contans.HOME_SYMBOLS:
-                webSocketLogic.reqHomeSymbols(requestBean);
-            default:
-                webSocketLogic.defaultReq(requestBean);
-                break;
-        }
+//        switch (requestBean.getType()) {
+//            case Contans.WEB_REQ_CONNECTION :
+//                webSocketLogic.webReqConnection(requestBean);
+//                break;
+//            case Contans.HOME_SYMBOLS:
+//                webSocketLogic.reqHomeSymbols(requestBean);
+//            default:
+//                webSocketLogic.defaultReq(requestBean);
+//                break;
+//        }
     }
 
 
diff --git a/src/main/java/com/xcong/excoin/netty/server/WebSocketServer.java b/src/main/java/com/xcong/excoin/netty/server/WebSocketServer.java
index 84b1290..a2d9773 100644
--- a/src/main/java/com/xcong/excoin/netty/server/WebSocketServer.java
+++ b/src/main/java/com/xcong/excoin/netty/server/WebSocketServer.java
@@ -19,7 +19,6 @@
 @Component("webSocketServer")
 public class WebSocketServer implements ChatServer {
 
-
     private EventLoopGroup boss = new NioEventLoopGroup();
     private EventLoopGroup work = new NioEventLoopGroup();
 
diff --git a/src/main/resources/application-app.yml b/src/main/resources/application-app.yml
index 9594a28..0eda13e 100644
--- a/src/main/resources/application-app.yml
+++ b/src/main/resources/application-app.yml
@@ -101,7 +101,7 @@
   other-job: true
   loop-job: false
   rabbit-consumer: false
-  block-job: false
+  block-job: true
   otc-job: true
   system:
     name: otc

--
Gitblit v1.9.1