Explorar o código

fix白板统计异常

Eric %!s(int64=2) %!d(string=hai) anos
pai
achega
b1f55d4ea3

+ 4 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/WsConnectServiceImpl.java

@@ -80,6 +80,10 @@ public class WsConnectServiceImpl implements WsConnectService {
         recordInfo.setId(record.getId());
         recordInfo.setDisconnectTime(DateTime.now().toDate());
         recordInfo.setOnlineTime(recordInfo.getDisconnectTime().getTime() - record.getConnectTime().getTime());
+        // 如果断开时间小于0,则设置为0
+        if (recordInfo.getOnlineTime() < 0) {
+            recordInfo.setOnlineTime(0L);
+        }
 
         return wsConnectRecordInfoMapper.updateByPrimaryKeySelective(recordInfo);
     }

+ 3 - 1
mec-websocket/src/main/java/com/ym/mec/web/handler/WhiteboardHandler.java

@@ -8,7 +8,9 @@ import com.corundumstudio.socketio.annotation.OnDisconnect;
 import com.corundumstudio.socketio.annotation.OnEvent;
 import com.corundumstudio.socketio.protocol.Packet;
 import com.corundumstudio.socketio.protocol.PacketType;
+import com.corundumstudio.socketio.store.pubsub.DispatchMessage;
 import com.corundumstudio.socketio.store.pubsub.PubSubStore;
+import com.corundumstudio.socketio.store.pubsub.PubSubType;
 import com.google.common.collect.Lists;
 import com.ym.mec.biz.service.WsConnectService;
 import com.ym.mec.web.support.anno.NamespaceReference;
@@ -93,7 +95,7 @@ public class WhiteboardHandler {
             packet.setNsp(namespace);
             packet.setData(data);
 
-            //pubSubStore.publish(PubSubType.DISPATCH, new DispatchMessage(roomId, packet, namespace));
+            pubSubStore.publish(PubSubType.DISPATCH, new DispatchMessage(roomId, packet, namespace));
         } catch (Exception e) {
             log.error("PubSubType.DISPATCH roomId={}, sid={}", roomId, client.getSessionId(), e);
         }

+ 7 - 2
mec-websocket/src/main/java/com/ym/mec/web/support/socket/ServerRunner.java

@@ -1,13 +1,18 @@
 package com.ym.mec.web.support.socket;
 
 import com.corundumstudio.socketio.SocketIOServer;
+import com.corundumstudio.socketio.namespace.Namespace;
 import com.corundumstudio.socketio.namespace.NamespacesHub;
+import com.corundumstudio.socketio.store.pubsub.DispatchMessage;
 import com.corundumstudio.socketio.store.pubsub.PubSubStore;
+import com.corundumstudio.socketio.store.pubsub.PubSubType;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.CommandLineRunner;
 import org.springframework.stereotype.Component;
 
+import java.util.Objects;
+
 @Slf4j
 @Component
 public class ServerRunner implements CommandLineRunner {
@@ -30,7 +35,7 @@ public class ServerRunner implements CommandLineRunner {
         server.start();
 
         // 订阅消息
-        /*pubSubStore.subscribe(PubSubType.DISPATCH, message -> {
+        pubSubStore.subscribe(PubSubType.DISPATCH, message -> {
 
             // 分布式服务空间请求分发
             Namespace namespace = namespacesHub.get(message.getNamespace());
@@ -39,7 +44,7 @@ public class ServerRunner implements CommandLineRunner {
                 namespace.dispatch(message.getRoom(), message.getPacket());
             }
 
-        }, DispatchMessage.class);*/
+        }, DispatchMessage.class);
 
         log.info("--------SocketIO------- SERVER.START PORT={}", server.getConfiguration().getPort());
     }