Explorar o código

feat:智能陪练一期

Joburgess %!s(int64=3) %!d(string=hai) anos
pai
achega
d7c05dc389

+ 6 - 6
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/WebSocketClientDetail.java

@@ -13,16 +13,16 @@ public class WebSocketClientDetail {
 
     private WebSocketSession session;
 
-    @ApiModelProperty(value = "用户登录时间")
-    private Date loginTime;
+    @ApiModelProperty(value = "用户登录时间")
+    private long loginTime;
 
-    @ApiModelProperty(value = "用户退出或断开时间")
+    @ApiModelProperty(value = "用户退出或断开时间")
     private Date logoutTime;
 
     public WebSocketClientDetail() {
     }
 
-    public WebSocketClientDetail(WebSocketSession session, Date loginTime) {
+    public WebSocketClientDetail(WebSocketSession session, long loginTime) {
         this.session = session;
         this.loginTime = loginTime;
     }
@@ -35,11 +35,11 @@ public class WebSocketClientDetail {
         this.session = session;
     }
 
-    public Date getLoginTime() {
+    public long getLoginTime() {
         return loginTime;
     }
 
-    public void setLoginTime(Date loginTime) {
+    public void setLoginTime(long loginTime) {
         this.loginTime = loginTime;
     }
 

+ 2 - 2
mec-biz/src/main/java/com/ym/mec/biz/handler/WebSocketHandler.java

@@ -57,7 +57,7 @@ public class WebSocketHandler extends AbstractWebSocketHandler {
     public void afterConnectionEstablished(WebSocketSession session) throws Exception {
         String phone = session.getPrincipal().getName().split(":")[1];
         LOGGER.info("{}上线", phone);
-        WS_CLIENTS.put(phone, new WebSocketClientDetail(session, new Date()));
+        WS_CLIENTS.put(phone, new WebSocketClientDetail(session, System.currentTimeMillis()));
         appMap.values().forEach(e->e.afterConnectionEstablished(session, phone));
         super.afterConnectionEstablished(session);
     }
@@ -109,7 +109,7 @@ public class WebSocketHandler extends AbstractWebSocketHandler {
     public void afterConnectionClosed(WebSocketSession session, CloseStatus status) throws Exception {
         super.afterConnectionClosed(session, status);
         String phone = session.getPrincipal().getName().split(":")[1];
-        LOGGER.info("{}离线: {}s", phone, (System.currentTimeMillis() - WS_CLIENTS.get(phone).getLoginTime().getTime())*1000);
+        LOGGER.info("{}离线: {}s", phone, (System.currentTimeMillis() - WS_CLIENTS.get(phone).getLoginTime())/1000);
         appMap.values().forEach(e->e.afterConnectionClosed(session, phone));
         WS_CLIENTS.remove(phone);
     }