|
@@ -231,7 +231,7 @@ class Events
|
|
|
{
|
|
{
|
|
|
// 获取当前会话工单.
|
|
// 获取当前会话工单.
|
|
|
$data = json_decode(self::$redis->HGET('SERVICELOG', $message['conversationId']), true);
|
|
$data = json_decode(self::$redis->HGET('SERVICELOG', $message['conversationId']), true);
|
|
|
- if (empty($data)) {
|
|
|
|
|
|
|
+ if (empty($data) || $data['evaluate_id']) {
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
|
$chat_message = [
|
|
$chat_message = [
|
|
@@ -277,12 +277,12 @@ class Events
|
|
|
// 发送消息.
|
|
// 发送消息.
|
|
|
if (substr($message['from_id'], 0, 2) === 'KF') {
|
|
if (substr($message['from_id'], 0, 2) === 'KF') {
|
|
|
// 统计敏感词.
|
|
// 统计敏感词.
|
|
|
- $data['alarm_serverSensitive'] += $message['sensitiveNumber'];
|
|
|
|
|
|
|
+ $data['alarm_serverSensitive'] += (isset($message['sensitiveNumber']) ? intval($message['sensitiveNumber']) : 0);
|
|
|
$data['serverLastTime'] = time();
|
|
$data['serverLastTime'] = time();
|
|
|
Gateway::sendToClient($data['client_id'], json_encode($chat_message, 256));
|
|
Gateway::sendToClient($data['client_id'], json_encode($chat_message, 256));
|
|
|
} else {
|
|
} else {
|
|
|
// 统计敏感词.
|
|
// 统计敏感词.
|
|
|
- $data['alarm_userSensitive'] += $message['sensitiveNumber'];
|
|
|
|
|
|
|
+ $data['alarm_userSensitive'] += (isset($message['sensitiveNumber']) ? intval($message['sensitiveNumber']) : 0);
|
|
|
$data['userLastTime'] = time();
|
|
$data['userLastTime'] = time();
|
|
|
Gateway::sendToClient($data['kf_client_id'], json_encode($chat_message, 256));
|
|
Gateway::sendToClient($data['kf_client_id'], json_encode($chat_message, 256));
|
|
|
}
|
|
}
|
|
@@ -473,6 +473,7 @@ class Events
|
|
|
self::KFStatusCg($client_id, ['data' => ['uid' => $uid, 'status' => 1]]);
|
|
self::KFStatusCg($client_id, ['data' => ['uid' => $uid, 'status' => 1]]);
|
|
|
|
|
|
|
|
self::SendKFHistoryRecord($client_id, $uid);
|
|
self::SendKFHistoryRecord($client_id, $uid);
|
|
|
|
|
+ echo date("Y-m-d H:i:s") . ' - ' . '客服上线-' . $message['name'] . "\n";
|
|
|
|
|
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
@@ -612,7 +613,7 @@ class Events
|
|
|
$data = [
|
|
$data = [
|
|
|
'id' => $uid,
|
|
'id' => $uid,
|
|
|
'name' => $message['name'],
|
|
'name' => $message['name'],
|
|
|
- 'avatar' => $message['avatar'],
|
|
|
|
|
|
|
+ 'avatar' => isset($message['avatar']) ? $message['avatar'] : '',
|
|
|
'website' => $_SESSION['origin'],//$message['website'],
|
|
'website' => $_SESSION['origin'],//$message['website'],
|
|
|
'browse' => Gateway::browse_info(),
|
|
'browse' => Gateway::browse_info(),
|
|
|
'system' => Gateway::get_os(),//$message['system'],
|
|
'system' => Gateway::get_os(),//$message['system'],
|
|
@@ -660,7 +661,7 @@ class Events
|
|
|
$isKefuoff = isset($_SESSION['iskefu']) ? $_SESSION['iskefu'] : 0;
|
|
$isKefuoff = isset($_SESSION['iskefu']) ? $_SESSION['iskefu'] : 0;
|
|
|
$uid = isset($_SESSION['uid']) ? $_SESSION['uid'] : false;
|
|
$uid = isset($_SESSION['uid']) ? $_SESSION['uid'] : false;
|
|
|
|
|
|
|
|
- echo "下线:uid: $uid - cid: $client_id - iskf: $isKefuoff \n";
|
|
|
|
|
|
|
+ echo date("Y-m-d H:i:s") . ' - ' . "下线:uid: $uid - cid: $client_id - iskf: $isKefuoff \n";
|
|
|
|
|
|
|
|
$isAdmin = self::$redis->sismember('adminList', $client_id);
|
|
$isAdmin = self::$redis->sismember('adminList', $client_id);
|
|
|
if ($isAdmin) {
|
|
if ($isAdmin) {
|
|
@@ -687,7 +688,7 @@ class Events
|
|
|
self::$redis->hdel(self::KFINFOKEY, $uid);
|
|
self::$redis->hdel(self::KFINFOKEY, $uid);
|
|
|
$uinfo = json_decode($uinfo, true);
|
|
$uinfo = json_decode($uinfo, true);
|
|
|
if (empty($uinfo) || empty($group)) {
|
|
if (empty($uinfo) || empty($group)) {
|
|
|
- echo "客服发生异常退出\n";
|
|
|
|
|
|
|
+ echo date("Y-m-d H:i:s") . ' - ' . "客服发生异常退出\n";
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
|
$user_info = self::$redis->hgetall(self::getKfServiceKey($uid));
|
|
$user_info = self::$redis->hgetall(self::getKfServiceKey($uid));
|
|
@@ -696,7 +697,7 @@ class Events
|
|
|
self::MySendMsg($val, json_encode(['message_type' => 'serviceoffline', 'msg' => '客服人员下线!'], 256));
|
|
self::MySendMsg($val, json_encode(['message_type' => 'serviceoffline', 'msg' => '客服人员下线!'], 256));
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- echo "客服退出: " . $uid . "\n";
|
|
|
|
|
|
|
+ echo date("Y-m-d H:i:s") . ' - ' . "客服退出: " . $uid . "\n";
|
|
|
self::writeLogKfStatus($uid, 0);
|
|
self::writeLogKfStatus($uid, 0);
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
@@ -710,7 +711,7 @@ class Events
|
|
|
self::$redis->hdel(self::KFINFOKEY, $uid);
|
|
self::$redis->hdel(self::KFINFOKEY, $uid);
|
|
|
$uinfo = json_decode($uinfo, true);
|
|
$uinfo = json_decode($uinfo, true);
|
|
|
if (empty($uinfo)) {
|
|
if (empty($uinfo)) {
|
|
|
- echo "客服发生异常退出\n";
|
|
|
|
|
|
|
+ echo date("Y-m-d H:i:s") . ' - ' . "客服发生异常退出\n";
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
|
//$user_info = $uinfo['user_info'];
|
|
//$user_info = $uinfo['user_info'];
|
|
@@ -732,7 +733,7 @@ class Events
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
$sql = "update `ws_service_log` set `status` = '2',end_time=$now,`servicelog_close_type` = 4 where start_time>=$starttime and kf_id=$kfid and group_id=$group and `status`!=2 ";
|
|
$sql = "update `ws_service_log` set `status` = '2',end_time=$now,`servicelog_close_type` = 4 where start_time>=$starttime and kf_id=$kfid and group_id=$group and `status`!=2 ";
|
|
|
- echo "客服退出: " . $uid . "\n";
|
|
|
|
|
|
|
+ echo date("Y-m-d H:i:s") . ' - ' . "客服退出: " . $uid . "\n";
|
|
|
self::$db->query($sql);
|
|
self::$db->query($sql);
|
|
|
self::$db->update('ws_users')->cols(array('online_status' => 0, 'online_connectid' => ''))->where('id=' . $kfid)->query();
|
|
self::$db->update('ws_users')->cols(array('online_status' => 0, 'online_connectid' => ''))->where('id=' . $kfid)->query();
|
|
|
self::$redis->del(self::getKfServiceKey($uid));
|
|
self::$redis->del(self::getKfServiceKey($uid));
|
|
@@ -1078,7 +1079,8 @@ class Events
|
|
|
'kf_id' => $kfuid,
|
|
'kf_id' => $kfuid,
|
|
|
'conversationId' => $serviceid,
|
|
'conversationId' => $serviceid,
|
|
|
'serverInfo' => $kfinfo,
|
|
'serverInfo' => $kfinfo,
|
|
|
- 'kf_name' => $kfinfo['job_name']
|
|
|
|
|
|
|
+ 'kf_name' => $kfinfo['job_name'],
|
|
|
|
|
+ 'evaluate_id' => 0,
|
|
|
]
|
|
]
|
|
|
];
|
|
];
|
|
|
self::MySendMsg($userInfo['client_id'], json_encode($noticeUser, 256));
|
|
self::MySendMsg($userInfo['client_id'], json_encode($noticeUser, 256));
|
|
@@ -1117,6 +1119,7 @@ class Events
|
|
|
'user_info' => $userInfo,
|
|
'user_info' => $userInfo,
|
|
|
'conversationId' => $serviceid,
|
|
'conversationId' => $serviceid,
|
|
|
'history' => [],
|
|
'history' => [],
|
|
|
|
|
+ 'evaluate_id' => 0,
|
|
|
]
|
|
]
|
|
|
];
|
|
];
|
|
|
self::MySendMsg($kfinfo['client_id'], json_encode($noticeKf, 256));
|
|
self::MySendMsg($kfinfo['client_id'], json_encode($noticeKf, 256));
|
|
@@ -1179,7 +1182,8 @@ class Events
|
|
|
'kf_id' => $kfuid,
|
|
'kf_id' => $kfuid,
|
|
|
'conversationId' => $serviceid,
|
|
'conversationId' => $serviceid,
|
|
|
'serverInfo' => $kfinfo,
|
|
'serverInfo' => $kfinfo,
|
|
|
- 'kf_name' => $kfinfo['job_name']
|
|
|
|
|
|
|
+ 'kf_name' => $kfinfo['job_name'],
|
|
|
|
|
+ 'evaluate_id' => isset($data['evaluate_id']) ? intval($data['evaluate_id']) : 0,
|
|
|
]
|
|
]
|
|
|
];
|
|
];
|
|
|
self::MySendMsg($userInfo['client_id'], json_encode($noticeUser, 256));
|
|
self::MySendMsg($userInfo['client_id'], json_encode($noticeUser, 256));
|
|
@@ -1191,7 +1195,8 @@ class Events
|
|
|
'data' => [
|
|
'data' => [
|
|
|
'user_info' => $userInfo,
|
|
'user_info' => $userInfo,
|
|
|
'conversationId' => $serviceid,
|
|
'conversationId' => $serviceid,
|
|
|
- 'history' => self::getServerChagLog($serviceid)
|
|
|
|
|
|
|
+ 'history' => self::getServerChagLog($serviceid),
|
|
|
|
|
+ 'evaluate_id' => isset($data['evaluate_id']) ? intval($data['evaluate_id']) : 0,
|
|
|
]
|
|
]
|
|
|
];
|
|
];
|
|
|
self::MySendMsg($kfinfo['client_id'], json_encode($noticeKf, 256));
|
|
self::MySendMsg($kfinfo['client_id'], json_encode($noticeKf, 256));
|