Эх сурвалжийг харах

Merge branch 'dev' of http://git.bocai108.com:10180/Ethan/Customer-Service into dev

Jonlin 6 жил өмнө
parent
commit
b2faf35c61

+ 9 - 0
application/admin/view/index/index.html

@@ -352,6 +352,15 @@
         });
         socket.send(login_data);
     };
+
+    // 心跳检测.
+    setInterval(function(){
+      socket.send(JSON.stringify({
+        type: 'ping',
+      }));
+    }, 5000);
+
+
     socket.onmessage = function(res) {
         var data = eval("("+res.data+")");
         switch(data['message_type']){

+ 40 - 18
vendor/GatewayWorker_windows/Applications/whisper/Events.php

@@ -238,6 +238,27 @@ class Events
             $data['userLastTime'] = time();
             Gateway::sendToClient($data['kf_client_id'], json_encode($chat_message, 256));
         }
+        // 返回当前时间
+        if (isset($message['webTime'])) {
+            $timeDifference = strtotime(date('H:i')) - strtotime($message['webTime']);
+            if ($timeDifference >= 120) {
+                $chat_message = [
+                    'message_type' => 'webTime',
+                    'data' => [
+                        'webTime' => date('H:i'),
+                    ]
+                ];
+                Gateway::sendToCurrentClient(json_encode($chat_message, 256));
+            }
+        } else {
+            $chat_message = [
+                'message_type' => 'webTime',
+                'data' => [
+                    'webTime' => date('H:i'),
+                ]
+            ];
+            Gateway::sendToCurrentClient(json_encode($chat_message, 256));
+        }
         // 保存修改后的工单信息.
         self::$redis->HSET('SERVICELOG', $message['conversationId'], json_encode($data, 256));
 
@@ -498,10 +519,10 @@ class Events
             'id' => $uid,
             'name' => $message['name'],
             'avatar' => $message['avatar'],
-            'website' => $_SESSION['origin'],//$_SERVER['HTTP_ORIGIN'],
+            'website' => $_SESSION['origin'],//$message['website'],
             'browse' => Gateway::browse_info(),
-            'system' => Gateway::get_os(),
-            'ip' => isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : '',
+            'system' => Gateway::get_os(),//$message['system'],
+            'ip' => isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : '',//message['ip'],
             'group' => $message['group'],
             'intime' => time(),
             'kfuid' => '',
@@ -1274,21 +1295,21 @@ class Events
 
         self::DebugOut([$serviceLog, $csdTime, $verifyReturnTime], 'systemMonitoring');
 
+        $chat_message = [
+            'message_type' => 'monitor',
+            'data' => [
+                'cvtList' => $serviceLog,
+                'userSensitive' => $userSensitive,
+                'serverSensitive' => $serverSensitive,
+                'csdNumber' => $csdNumber,
+                'csdTime' => $csdTime,
+                'overtimeNumber' => $overtimeNumber,
+                'overtimeTime' => $overtimeTime,
+                'evaluateCount' => $evaluateCount,
+            ]
+        ];
         // 查询对话时效设置.
         foreach ($adminList as $v) {
-            $chat_message = [
-                'message_type' => 'monitor',
-                'data' => [
-                    'cvtList' => $serviceLog,
-                    'userSensitive' => $userSensitive,
-                    'serverSensitive' => $serverSensitive,
-                    'csdNumber' => $csdNumber,
-                    'csdTime' => $csdTime,
-                    'overtimeNumber' => $overtimeNumber,
-                    'overtimeTime' => $overtimeTime,
-                    'evaluateCount' => $evaluateCount,
-                ]
-            ];
             Gateway::sendToClient($v, json_encode($chat_message, 256));
         }
     }
@@ -1456,6 +1477,7 @@ class Events
             self::$redis->del(self::KFINFOKEY);
             self::$redis->del(self::USERLIST);
             self::$redis->del(self::USERINFOKEY);
+            self::$redis->del('adminList');
             self::$db->query("update ws_service_log set status=2,end_time=$now where  start_time>=$t and  status!=2");
         }
 
@@ -1556,7 +1578,7 @@ class Events
             });
 
             // 管理员实时监控.
-            Timer::add(60, function () {
+            Timer::add(20, function () {
                 // 获取在线管理员
                 $adminList = self::$redis->smembers('adminList');
                 if ($adminList) {
@@ -1565,7 +1587,7 @@ class Events
             });
 
             // 检查对话时效给出.
-            Timer::add(60, function () {
+            Timer::add(20, function () {
                 self::overTime();
             });