|
|
@@ -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));
|