vali 6 éve
szülő
commit
303b02674e

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

@@ -628,7 +628,7 @@ class Events
         $now = time();
         $serverid = intval($info['serverid']);
         if ($serverid) {
-            $sql = "update `ws_service_log` set `status` = '3'  where servicelog_id=$serverid ";
+            $sql = "update `ws_service_log` set `status` = '3'  where servicelog_id=$serverid  and  `status` !=2 ";
             self::$db->query($sql);
         }
         if ($krclient_id) {
@@ -1318,7 +1318,7 @@ class Events
         $kf_info_to = json_decode(self::$redis->hget(self::KFINFOKEY, $toukfid), true);
         $user_info = json_decode(self::$redis->hget(self::USERINFOKEY, $uid), true);
         $serviceid = intval($user_info['serverid']);
-        $data = self::$redis->hget(self::SERVICELOG, $serviceid);
+        $data = json_decode(self::$redis->hget(self::SERVICELOG, $serviceid), true);
 
         if (empty($kf_info_from) || empty($kf_info_to) || empty($user_info) || empty($serviceid)) {
             self::DebugOut('changeOtherhKeFu exit23...');
@@ -1340,24 +1340,20 @@ class Events
         self::$redis->hdel(self::SERVICELOG, $serviceid);
         unset($oldlog['servicelog_id']);
 
+
+        /*
         $oldlog = array_merge($oldlog, ['kf_id' => self::getkfid($toukfid), 'start_time' => time(), 'end_time' => 0, 'status' => 1, 'evaluate_id' => 0]);
         $new_id = self::$db->insert('ws_service_log')->cols($oldlog)->query();
         if (!$new_id) {
             self::DebugOut('changeOtherhKeFu exit6...');
             return false;
         }
+        */
 
         ///更新redis数据
         $kf_info_from['user_info'] = self::ArrayDataopt($kf_info_from['user_info'], $user_info['client_id'], 0);
         $kf_info_from['task'] = count($kf_info_from['user_info']);
         self::$redis->hset(self::KFINFOKEY, $fromkfuid, json_encode($kf_info_from, 256));
-        $kf_info_to['user_info'] = self::ArrayDataopt($kf_info_to['user_info'], $user_info['client_id'], 1, $new_id);
-        $kf_info_to['task'] = count($kf_info_to['user_info']);
-        self::$redis->hset(self::KFINFOKEY, $toukfid, json_encode($kf_info_to, 256));
-        $user_info['kfuid'] = $toukfid;
-        $user_info['serverid'] = $new_id;
-        self::$redis->hset(self::USERINFOKEY, $uid, json_encode($user_info, 256));
-
 
         ///////旧工单部分数据更新回库
         /// 查询工单会话总数.
@@ -1380,37 +1376,12 @@ class Events
         ];
         self::$db->update('ws_service_log')->cols($updateServiceLogData)->where("servicelog_id=$serviceid")->query();
         self::$db->update('ws_alarm')->cols($updataAlarmData)->where("servicelog_id=$serviceid")->query();
-        ///////////////////////////
 
-        unset($kf_info_to['user_info']);
-        ///通知消息发送--------------
-        // 通知会员发送信息绑定客服的id
-        $noticeUser = [
-            'message_type' => 'connect',
-            'data' => [
-                'kf_id' => $toukfid,
-                'conversationId' => $new_id,
-                'kf_name' => $kf_info_to['name'],
-                'serverInfo' => $kf_info_to,
-            ]
-        ];
-        Gateway::sendToClient($user_info['client_id'], json_encode($noticeUser, 256));
-        unset($noticeUser);
-
-        // 通知客服端绑定会员的信息
-        $userinfoarr = ['id' => $uid, 'name' => $oldlog['user_name'], 'avatar' => $oldlog['user_avatar'], 'website' => $oldlog['website'], 'browse' => $oldlog['browse'], 'system' => $oldlog['system'], 'ip' => $oldlog['user_ip'], 'group' => $oldlog['group_id'], 'client_id' => $oldlog['client_id']];
-        $noticeKf = [
-            'message_type' => 'connect',
-            'data' => [
-                'user_info' => $userinfoarr,
-                'conversationId' => $new_id,
-            ]
-        ];
-        Gateway::sendToClient($kf_info_to['client_id'], json_encode($noticeKf, 256));
-        unset($noticeKf);
+        self:: BeginTalk($toukfid, $uid, $groupidto, 0, $user_info);
 
         self::servicetrutoother('OUT', $fromkfuid, $toukfid, $serviceid, $uid);
-        self::servicetrutoother('IN', $toukfid, $fromkfuid, $new_id, $uid);
+        $newUserInfo = json_decode(self::$redis->hget(self::USERINFOKEY, $uid), true);
+        self::servicetrutoother('IN', $toukfid, $fromkfuid, $newUserInfo['serverid'], $uid);
 
         //回转接人,转接成功
         Gateway::sendToCurrentClient(json_encode(['message_type' => 'trunconnect', 'data' => ['status' => 1]], 256));