|
|
@@ -519,10 +519,15 @@ class Events
|
|
|
'group' => $message['group'],
|
|
|
'intime' => time(),
|
|
|
'kfuid' => '',
|
|
|
- 'ip' => $_SESSION['remotip'],
|
|
|
'serverid' => 0,
|
|
|
'client_id' => $client_id
|
|
|
];
|
|
|
+ if ($last) {
|
|
|
+ $data['group'] = $last['group_id'];
|
|
|
+ $data['intime'] = $last['intime'];
|
|
|
+ $data['kfuid'] = $last['kf_id'];
|
|
|
+ $data['serverid'] = $last['servicelog_id'];
|
|
|
+ }
|
|
|
self::$redis->hset(self::USERLIST, $uid, json_encode($data, 256));
|
|
|
self::$redis->hset(self::USERINFOKEY, $uid, json_encode($data, 256));
|
|
|
|
|
|
@@ -815,9 +820,13 @@ class Events
|
|
|
//否则按先到后到以及客服最大服务数限制
|
|
|
if ($last) {
|
|
|
self::BeginOldTalk(self::getkfuid($last['kf_id']), $uid, $last['group_id'], $last['servicelog_id']);
|
|
|
+ // 查询工单历史会话.
|
|
|
+ $serviceid = $last['servicelog_id'];
|
|
|
+ $chatLog = self::$db->select('*')->from('ws_chat_log')->where("servicelog_id=$serviceid")->orderByDESC(['time_line'])->row();
|
|
|
$toOld_message = [
|
|
|
'message_type' => 'toOld',
|
|
|
'data' => [
|
|
|
+ 'chatLog' => $chatLog??[],
|
|
|
'content' => '接入至未结束的会话'
|
|
|
]
|
|
|
];
|
|
|
@@ -977,7 +986,7 @@ class Events
|
|
|
$data['website'] = $userInfo['website'];
|
|
|
$data['system'] = $userInfo['system'];
|
|
|
$data['browse'] = $userInfo['browse'];
|
|
|
- $data['status'] = $userInfo['status'];
|
|
|
+ $data['status'] = 1;
|
|
|
self::$redis->hset(self::SERVICELOG, $serviceid, json_encode($data, 256));
|
|
|
|
|
|
// 更改用户连接客服信息
|
|
|
@@ -986,7 +995,7 @@ class Events
|
|
|
self::$redis->hset(self::USERINFOKEY, $uid, json_encode($userInfo, 256));
|
|
|
// 更改客服连接信息.
|
|
|
$kfinfo = json_decode(self::$redis->hget(self::KFINFOKEY, $kfuid), true);
|
|
|
- $kfUsers = json_decode($kfinfo['user_info'], true);
|
|
|
+ $kfUsers = $kfinfo['user_info'];
|
|
|
foreach ($kfUsers as $key => $value) {
|
|
|
if ($value == $serviceid) {
|
|
|
// 删除之前的当前用户连接
|