From 6fe1e6dbec57bbd10ba1bbcf3347fa7f4492e553 Mon Sep 17 00:00:00 2001
From: fs-danaus <danaus314@qq.com>
Date: 星期三, 06 七月 2022 11:34:35 +0800
Subject: [PATCH] webScoket实现启停系统功能

---
 src/com/yc/sdk/WebSocketMessage/api/messagelistener/WebSocketMessageListener.java |   69 +++++++++++++++++++---------------
 1 files changed, 38 insertions(+), 31 deletions(-)

diff --git a/src/com/yc/sdk/WebSocketMessage/api/messagelistener/WebSocketMessageListener.java b/src/com/yc/sdk/WebSocketMessage/api/messagelistener/WebSocketMessageListener.java
index 1b929a6..f4a6104 100644
--- a/src/com/yc/sdk/WebSocketMessage/api/messagelistener/WebSocketMessageListener.java
+++ b/src/com/yc/sdk/WebSocketMessage/api/messagelistener/WebSocketMessageListener.java
@@ -37,36 +37,41 @@
     TasksMessageIfc tasksMessageIfc;
     @Autowired
     VersionMessageIfc versionMessageIfc;
+    @Autowired
+    RefreshDataSourceMessageIfc refreshDataSourceMessageIfc;
+
     @Override
     public void onMessage(Message message, byte[] pattern) {
         try {
             RedisSerializer<?> serializer = redisTemplate.getValueSerializer();
             Object body = serializer.deserialize(message.getBody());
             //String channel = new String(pattern);   //鍙栬闃呴閬� 涓婚 channel
-            MessageInfo msg=null;
-            if(body instanceof MessageInfo) {
+            MessageInfo msg = null;
+            if (body instanceof MessageInfo) {
                 msg = (MessageInfo) body;
-            }else {
+            } else {
                 msg = MessageInfo.build(String.valueOf(body));
             }
             //System.out.println("璁㈤槄鎺ユ敹鍒扮殑娑堟伅锛�"+msg.toString());
-            
-            //缇ゅ彂鎵�鏈夊皬绋嬪簭鐢ㄦ埛
-            if (msg.getMsgType().equals(MessageType.REFRESH_PANICBUYING) && (msg.getUserCode()==null|| msg.getUserCode().equals("")) ) {
-            	List<WsMessageUserEntity> wsMessageUserEntityList = WebSocketMessageServer.getOnlineUser(msg.getDbId(), msg.getUserFromType());
-            	//鍙湁鏄瓨鍦ㄤ簬褰撳墠鐨勭敤鎴蜂俊鎭墠闇�瑕佸鐞嗭紝鍚﹀垯涓嶉渶瑕佸鐞�
-            	if (wsMessageUserEntityList != null && wsMessageUserEntityList.size() != 0) {
-            		for (WsMessageUserEntity wsMessageUserEntity : wsMessageUserEntityList) {
-            			handlerMessage(msg, wsMessageUserEntity);
-            		}
-            	}
-            }else if(msg.getMsgType().equals(MessageType.REFRESH_TASK)||
-                    msg.getMsgType().equals(MessageType.REFRESH_LOCALVERSION_TASK)){
-                //瀵逛簬娌$敤websocket鎺ユ敹鐨勬儏鍐碉紝鐩存帴澶勭悊鐩稿叧娑堟伅
-                handlerMessage(msg,null);
 
-            }else{
-                List<WsMessageUserEntity> wsMessageUserEntityList = WebSocketMessageServer.getOnlineUser(msg.getDbId(), msg.getUserFromType(),msg.getUserCode());
+            //缇ゅ彂鎵�鏈夊皬绋嬪簭鐢ㄦ埛
+            if ((msg.getMsgType().equals(MessageType.REFRESH_PANICBUYING) && (msg.getUserCode() == null || msg.getUserCode().equals(""))) ||
+                    MessageType.NOTICE_SYSTEM_STOP.equals(msg.getMsgType())||
+                    MessageType.NOTICE_SYSTEM_START.equals(msg.getMsgType())) {
+                List<WsMessageUserEntity> wsMessageUserEntityList = WebSocketMessageServer.getOnlineUser(msg.getDbId(), msg.getUserFromType());
+                //鍙湁鏄瓨鍦ㄤ簬褰撳墠鐨勭敤鎴蜂俊鎭墠闇�瑕佸鐞嗭紝鍚﹀垯涓嶉渶瑕佸鐞�
+                if (wsMessageUserEntityList != null && wsMessageUserEntityList.size() != 0) {
+                    for (WsMessageUserEntity wsMessageUserEntity : wsMessageUserEntityList) {
+                        handlerMessage(msg, wsMessageUserEntity);
+                    }
+                }
+            } else if (msg.getMsgType().equals(MessageType.REFRESH_TASK) ||
+                    msg.getMsgType().equals(MessageType.REFRESH_LOCALVERSION_TASK)) {
+                //瀵逛簬娌$敤websocket鎺ユ敹鐨勬儏鍐碉紝鐩存帴澶勭悊鐩稿叧娑堟伅
+                handlerMessage(msg, null);
+
+            } else {
+                List<WsMessageUserEntity> wsMessageUserEntityList = WebSocketMessageServer.getOnlineUser(msg.getDbId(), msg.getUserFromType(), msg.getUserCode());
                 //鍙湁鏄瓨鍦ㄤ簬褰撳墠鐨勭敤鎴蜂俊鎭墠闇�瑕佸鐞嗭紝鍚﹀垯涓嶉渶瑕佸鐞�
                 if (wsMessageUserEntityList != null && wsMessageUserEntityList.size() != 0) {
                     for (WsMessageUserEntity wsMessageUserEntity : wsMessageUserEntityList) {
@@ -85,8 +90,8 @@
      * @return
      */
     protected void handlerMessage(MessageInfo message, WsMessageUserEntity userEntity) {
-    	MessageIfc messageIfc = null;
-    	if (message != null && message.getMsgType() != null) {
+        MessageIfc messageIfc = null;
+        if (message != null && message.getMsgType() != null) {
             switch (message.getMsgType()) {
                 case 6001:  //APP鎵爜鐧诲綍
                     // messageIfc=imMessageIfc;
@@ -100,11 +105,13 @@
                 case 6004:  //鏀跺彇鏈嶅姟璐圭画璐归�氱煡
                     //messageIfc=imMessageIfc;
                     break;
-                case 6005:  //妫�鏌ョ郴缁熸槸鍚﹀仠鐢紝浠f浛maintaince.do 
-                    //messageIfc=imMessageIfc;
+                case 6005:  //妫�鏌ョ郴缁熸槸鍚﹀仠鐢紝浠f浛maintaince.do
+                case 6014: //鍏抽棴绯荤粺閫氱煡
+                case 6015: //鍚敤绯荤粺閫氱煡
+                    messageIfc = refreshDataSourceMessageIfc;
                     break;
                 case 6006:   //灏忕▼搴忔壂鐮佹牳閿�(鎵爜浜嗭紝绛夊緟鎸夆�滄牳閿�鈥濇寜閽�)
-                    messageIfc=heXiaoMessageIfc;
+                    messageIfc = heXiaoMessageIfc;
                     break;
                 case 6007:  //鍙戦�佸嵆鏃舵秷鎭� im 
                     messageIfc = imMessageIfc;
@@ -112,24 +119,24 @@
                     messageIfc = apiAuthMessageIfc;
                     break;
                 case 6009:  //鍒锋柊灏忕▼搴忕娲诲姩鍐呭  MessageType.REFRESH_PANICBUYING
-                	messageIfc = refreshPanicBuyingIfc ;
-                	break;
+                    messageIfc = refreshPanicBuyingIfc;
+                    break;
                 case 6010:   //灏忕▼搴忔壂鐮佹牳閿�(鐐逛簡鈥滄牳閿�鈥濇寜閽級
-                    messageIfc=heXiaoMessageIfc;
+                    messageIfc = heXiaoMessageIfc;
                     break;
                 case 6011:   //鍐滆鏀粯缁撴灉閫氱煡鍥炶皟
-                    messageIfc=abcPayMessageIfc;
+                    messageIfc = abcPayMessageIfc;
                     break;
                 case 6012:   //鍒锋柊浠诲姟浣滀笟
-                    messageIfc=tasksMessageIfc;
+                    messageIfc = tasksMessageIfc;
                     break;
                 case 6013:   //鍒锋柊鍐呭瓨鐗堟湰鍙�
-                    messageIfc=versionMessageIfc;
+                    messageIfc = versionMessageIfc;
                     break;
                 default:
             }
             if (messageIfc != null) {
-            	messageIfc.handlerMessage(message, userEntity);
+                messageIfc.handlerMessage(message, userEntity);
             }
         }
     }

--
Gitblit v1.8.0