vali 6 years ago
parent
commit
78f4939a87
1 changed files with 8 additions and 2 deletions
  1. 8 2
      vendor/GatewayWorker_windows/Applications/whisper/Events.php

+ 8 - 2
vendor/GatewayWorker_windows/Applications/whisper/Events.php

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