|
|
@@ -896,6 +896,7 @@ class Events
|
|
|
if ($group && $uid) {
|
|
|
// 指定用指定组 [可能存在断线重连的情况] 如果存在旧的会话,直接连线客服和用户
|
|
|
//否则按先到后到以及客服最大服务数限制
|
|
|
+
|
|
|
if ($last) {
|
|
|
//self::$redis->hdel(self::USERLIST, $uid);
|
|
|
self::BeginOldTalk(self::getkfuid($last['kf_id']), $uid, $last['group_id'], $last['servicelog_id']);
|
|
|
@@ -921,7 +922,8 @@ class Events
|
|
|
}
|
|
|
|
|
|
$allkfgkarr = self::getWorkKfData();
|
|
|
- ///做某个组的客户是还有人服务检测,如果此组没有客服在线了,要把对应排队的人kh踢掉
|
|
|
+
|
|
|
+ ///做某个组的客户是否还有人服务检测,如果此组没有客服在线了,要把对应排队的人踢掉
|
|
|
self::Kf_user_click($allkfgkarr, $allusergkarr);
|
|
|
|
|
|
if (empty($allkfgkarr) && !$last) {
|
|
|
@@ -1093,7 +1095,7 @@ class Events
|
|
|
$serviceid = intval($serviceid);
|
|
|
$userInfo = json_decode(self::$redis->hget(self::USERINFOKEY, $uid), true);
|
|
|
$kfinfo = json_decode(self::$redis->hget(self::KFINFOKEY, $kfuid), true);
|
|
|
- if (empty($userInfo)) {
|
|
|
+ if (empty($userInfo) || empty($kfinfo)) {
|
|
|
return false;
|
|
|
}
|
|
|
// 获取旧工单信息.
|
|
|
@@ -1109,6 +1111,9 @@ class Events
|
|
|
$data['system'] = $userInfo['system'];
|
|
|
$data['browse'] = $userInfo['browse'];
|
|
|
$data['status'] = 1;
|
|
|
+ $data['kf_client_id'] = $kfinfo['client_id'];
|
|
|
+ $data['kf_id'] = self::getkfid($kfuid);
|
|
|
+
|
|
|
self::$redis->hset(self::SERVICELOG, $serviceid, json_encode($data, 256));
|
|
|
|
|
|
// 更改用户连接客服信息
|
|
|
@@ -1122,6 +1127,7 @@ class Events
|
|
|
if ($value == $serviceid) {
|
|
|
// 删除之前的当前用户连接
|
|
|
self::$redis->hdel(self::getKfServiceKey($kfuid), $key);
|
|
|
+ break;
|
|
|
}
|
|
|
}
|
|
|
self::$redis->hset(self::getKfServiceKey($kfuid), $userInfo['client_id'], $serviceid);
|