vali пре 6 година
родитељ
комит
ea1f43090a

+ 17 - 4
vendor/GatewayWorker_linux/GatewayWorker/Applications/whisper/Events.php

@@ -240,7 +240,19 @@ class Events
     //客服主动关闭
     public static function kfzdclose($client_id, $datas)
     {
-        $_SESSION['kfzdclose'] = 1;
+        $userId = $datas['uid'];
+        $kfinfo = self::$redis->hget(self::KFINFOKEY, $userId);
+        if (empty($kfinfo)) {
+            return false;
+        }
+        $kfinfo = json_decode($kfinfo, true);
+        if (!$kfinfo) {
+            return false;
+        }
+
+        $kfinfo['kfzdclose'] = 1;
+        self::$redis->hset(self::KFINFOKEY, $userId, json_encode($kfinfo, 256));
+
         Gateway::closeClient($client_id);
         return;
     }
@@ -592,7 +604,7 @@ class Events
         //客服登陆验证 不符合的直接断掉
         $kfinfo = self::KfloginCheck($client_id, $message);
         if (empty($kfinfo)) {
-            self::MySendMsg($client_id, json_encode(["message_type" => 'checkfalse', 'data' => "验证失败" . var_export($message, 1)], 256));
+            self::MySendMsg($client_id, json_encode(["message_type" => 'checkfalse', 'data' => "验证失败"], 256));
             Gateway::closeCurrentClient();
             return true;
         } else {
@@ -941,8 +953,9 @@ class Events
             echo date("Y-m-d H:i:s") . ' - ' . "客服发生异常退出." . print_r([$client_id, $uid, $group, $uinfo], true) . "\n";
             return;
         }
-        if (isset($_SESSION['kfzdclose']) && $_SESSION['kfzdclose'] == 1) {
-            self::$db->update('ws_users')->cols(['token' => uniqid()])->where('id=' . self::getkfid($uid))->query();
+
+        if (isset($uinfo['kfzdclose']) && $uinfo['kfzdclose'] == 1) {
+            self::$db->update('ws_users')->cols(['token' => uniqid('close_')])->where('id=' . self::getkfid($uid))->query();
         }
 
         $user_info = self::$redis->hgetall(self::getKfServiceKey($uid));

+ 17 - 4
vendor/GatewayWorker_windows/Applications/whisper/Events.php

@@ -240,7 +240,19 @@ class Events
     //客服主动关闭
     public static function kfzdclose($client_id, $datas)
     {
-        $_SESSION['kfzdclose'] = 1;
+        $userId = $datas['uid'];
+        $kfinfo = self::$redis->hget(self::KFINFOKEY, $userId);
+        if (empty($kfinfo)) {
+            return false;
+        }
+        $kfinfo = json_decode($kfinfo, true);
+        if (!$kfinfo) {
+            return false;
+        }
+
+        $kfinfo['kfzdclose'] = 1;
+        self::$redis->hset(self::KFINFOKEY, $userId, json_encode($kfinfo, 256));
+
         Gateway::closeClient($client_id);
         return;
     }
@@ -592,7 +604,7 @@ class Events
         //客服登陆验证 不符合的直接断掉
         $kfinfo = self::KfloginCheck($client_id, $message);
         if (empty($kfinfo)) {
-            self::MySendMsg($client_id, json_encode(["message_type" => 'checkfalse', 'data' => "验证失败" . var_export($message, 1)], 256));
+            self::MySendMsg($client_id, json_encode(["message_type" => 'checkfalse', 'data' => "验证失败"], 256));
             Gateway::closeCurrentClient();
             return true;
         } else {
@@ -941,8 +953,9 @@ class Events
             echo date("Y-m-d H:i:s") . ' - ' . "客服发生异常退出." . print_r([$client_id, $uid, $group, $uinfo], true) . "\n";
             return;
         }
-        if (isset($_SESSION['kfzdclose']) && $_SESSION['kfzdclose'] == 1) {
-            self::$db->update('ws_users')->cols(['token' => uniqid()])->where('id=' . self::getkfid($uid))->query();
+
+        if (isset($uinfo['kfzdclose']) && $uinfo['kfzdclose'] == 1) {
+            self::$db->update('ws_users')->cols(['token' => uniqid('close_')])->where('id=' . self::getkfid($uid))->query();
         }
 
         $user_info = self::$redis->hgetall(self::getKfServiceKey($uid));