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