Просмотр исходного кода

socket新增创建连接时间参数。新增获取账号登陆时间方法

沈静伟 4 лет назад
Родитель
Сommit
6acc049c29

+ 19 - 0
src/dsb/com/cnd3b/common/Controller.java

@@ -18,6 +18,7 @@ import p2.util.P2Exception;
 
 import java.lang.reflect.Constructor;
 import java.lang.reflect.Method;
+import java.lang.reflect.Parameter;
 import java.sql.Connection;
 import java.util.*;
 
@@ -705,4 +706,22 @@ public class Controller extends BaseClass {
             return "";
         }
     }
+
+    /**
+     * 삿혤뎠품瑯뵀되쩍珂쇌
+     *
+     * @return
+     */
+    public Date getLoginDate() {
+        return getLoginDate(userid);
+    }
+
+    /**
+     * 삿혤寧땍瑯뵀되쩍珂쇌
+     *
+     * @return
+     */
+    public Date getLoginDate(long userid) {
+        return parameter.loginDate.getOrDefault(userid, getDateTime());
+    }
 }

+ 1 - 0
src/dsb/com/cnd3b/common/parameter/parameter.java

@@ -54,6 +54,7 @@ public class parameter {
 
     //websocketÁ¬½Ó³Ø userid:(token:session)
     public static Map<Long, ConcurrentHashMap<String, WebClientSocket>> websocketClients = new ConcurrentHashMap<Long, ConcurrentHashMap<String, WebClientSocket>>();
+    public static Map<Long, Date> loginDate = new HashMap<>();
 
     /**
      * ·½·¨ÇëÇó´ÎÊý

+ 4 - 0
src/dsb/com/cnd3b/common/websocket/WebClientSocket.java

@@ -15,6 +15,7 @@ import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
 import java.util.Arrays;
 import java.util.Calendar;
+import java.util.Date;
 import java.util.concurrent.ConcurrentHashMap;
 
 //ws://127.0.0.1:8080/samex/webSocket/829fef9884bbf7f9fb9c51499d7b332f
@@ -26,6 +27,7 @@ public class WebClientSocket extends BaseClass {
     private long userid;
     private Row userRow;
     private String accesstoken;
+    private Date createdate;
 
     /**
      * Á¬½Ó¿ªÆô
@@ -38,6 +40,7 @@ public class WebClientSocket extends BaseClass {
     private void onOpen(@PathParam("accesstoken") String accesstoken, Session session) throws IOException {
         this.session = session;
         this.accesstoken = accesstoken;
+        createdate = getDateTime();
         if (parameter.tokenlist.containsKey(accesstoken)) {
             userid = parameter.tokenlist.get(accesstoken);
             userRow = parameter.userIdList.get(userid);
@@ -55,6 +58,7 @@ public class WebClientSocket extends BaseClass {
             map.put(accesstoken, this);
             parameter.websocketClients.put(userid, map);
         }
+        parameter.loginDate.put(userid, createdate);
     }
 
     /**