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