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