vali 6 anos atrás
pai
commit
4818601748

+ 7 - 1
vendor/GatewayWorker_windows/Applications/whisper/Events.php

@@ -45,6 +45,7 @@ class Events
     const  USERLIST = 'USERLIST';             //用户排队表
     const  SERVICELOG = 'SERVICELOG';            //工单信息
     const  WEBSOCKALLUSER = 'WEBSOCKALLUSER';          //所有连接
+    const  KFRELONINFLAG = 'KFRELOGIN';                 //客服重登陆标示
 
     /**
      * 进程启动后初始化数据库连接
@@ -345,8 +346,10 @@ class Events
         self::writeLogKfStatus($userId, $status);
         Gateway::sendToCurrentClient(json_encode(['message_type' => 'cgstatus', 'data' => ['new_status' => $status, 'old_status' => $oldstatus]]));
 
-        if ($status == 1) {
+        $flag = self::$redis->hget(self::KFRELONINFLAG, $userId);
+        if (!empty($flag)) {
             self::kfonlilneRework($client_id, $userId);
+            self::$redis->hdel(self::KFRELONINFLAG, $userId);
         }
 
         return;
@@ -399,6 +402,7 @@ class Events
 
         self::$redis->hset('loginTmp:' . $uid, 'uid', time());
         self::$redis->expire('loginTmp:' . $uid, 5);
+        self::$redis->hset(self::KFRELONINFLAG, $uid, time());
 
         $newinfo =
             [
@@ -430,6 +434,7 @@ class Events
 
         $chat_message = [
             'message_type' => 'loginSuccess',
+            'userlabels' => self::$global->accountslabel,
         ];
         self::MySendMsg($client_id, json_encode($chat_message, 256));
         unset($chat_message);
@@ -442,6 +447,7 @@ class Events
     private static function kfonlilneRework($clientid, $kfuid)
     {
         $oldService = self::$redis->hgetall(self::getKfServiceKey($kfuid));
+
         if ($oldService) {
             foreach ($oldService as $tmpcie => $tmpsid) {
                 $tmpserver = json_decode(self::$redis->hget(self::SERVICELOG, $tmpsid), true);