Bläddra i källkod

登录时长异步多算问题

zhangweicheng 4 år sedan
förälder
incheckning
31cbf8ec34
1 ändrade filer med 3 tillägg och 1 borttagningar
  1. 3 1
      logs/online_logs.js

+ 3 - 1
logs/online_logs.js

@@ -25,6 +25,8 @@ async function saveOnlineTime(req) {
             return
         }
         if(!req.session.sessionUser||!req.session.sessionCompilation) return;
+        //先设置session再更新,在多个服务器多请求的情况下,update完再设置回session可能会造成多算时间
+        req.session.online_start_time = end;
         let dataString = moment(end).format('YYYY-MM-DD');
         let condition = {userID:req.session.sessionUser.id,compilationID:req.session.sessionCompilation._id,dateString:dataString};
         let userCondition = {_id: mongoose.Types.ObjectId(req.session.sessionUser.id)};
@@ -43,5 +45,5 @@ async function saveOnlineTime(req) {
         console.log("统计登录时间错误,online_times值:"+online_times);
         console.log(e);
     }
-    req.session.online_start_time = end;
+    
 }