|
|
@@ -239,26 +239,13 @@ class Events
|
|
|
Gateway::sendToClient($data['kf_client_id'], json_encode($chat_message, 256));
|
|
|
}
|
|
|
// 返回当前时间
|
|
|
- if (isset($message['webTime'])) {
|
|
|
- $timeDifference = strtotime(date('H:i')) - strtotime($message['webTime']);
|
|
|
- if ($timeDifference >= 120) {
|
|
|
- $chat_message = [
|
|
|
- 'message_type' => 'webTime',
|
|
|
- 'data' => [
|
|
|
- 'webTime' => date('H:i'),
|
|
|
- ]
|
|
|
- ];
|
|
|
- Gateway::sendToCurrentClient(json_encode($chat_message, 256));
|
|
|
- }
|
|
|
- } else {
|
|
|
- $chat_message = [
|
|
|
- 'message_type' => 'webTime',
|
|
|
- 'data' => [
|
|
|
- 'webTime' => date('H:i'),
|
|
|
- ]
|
|
|
- ];
|
|
|
- Gateway::sendToCurrentClient(json_encode($chat_message, 256));
|
|
|
- }
|
|
|
+ $chat_message = [
|
|
|
+ 'message_type' => 'webTime',
|
|
|
+ 'data' => [
|
|
|
+ 'webTime' => date('H:i'),
|
|
|
+ ]
|
|
|
+ ];
|
|
|
+ Gateway::sendToCurrentClient(json_encode($chat_message, 256));
|
|
|
// 保存修改后的工单信息.
|
|
|
self::$redis->HSET('SERVICELOG', $message['conversationId'], json_encode($data, 256));
|
|
|
|
|
|
@@ -741,6 +728,44 @@ class Events
|
|
|
}
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
+ * 修改工单数据库数据
|
|
|
+ * @param int $client_id 连接id
|
|
|
+ *
|
|
|
+ * tips: 当服务端主动退出的时候,会出现 exit status 9.原因是:服务端主动断开之后,连接的客户端会走这个方法,而短时间内进程
|
|
|
+ * 需要处理这多的逻辑,又有cas操作,导致进程退出会超时,然后会被内核杀死,从而报出错误 9.实际对真正的业务没有任何的影响。
|
|
|
+ */
|
|
|
+ public static function insertServerLog($servicelogId, $closeBy = 0)
|
|
|
+ {
|
|
|
+ // 获取当前工单数据.
|
|
|
+ $data = json_decode(self::$redis->HGET('SERVICELOG', $servicelogId), true);
|
|
|
+ if (empty($data)) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ // 查询工单会话总数.
|
|
|
+ $chatCount = self::$db->select('count(*) as count')->from('ws_chat_log')->where("servicelog_id=$servicelogId")->row();
|
|
|
+ // 将数据存入数据库.
|
|
|
+ $updateServiceLogData = [
|
|
|
+ 'status' => 2,
|
|
|
+ 'evaluate_id' => isset($data['evaluate_id']) ? $data['evaluate_id'] : 0,
|
|
|
+ 'evaluate_content' => isset($data['evaluate_content']) ? $data['evaluate_content'] : '',
|
|
|
+ 'servicelog_close_type' => $closeBy,
|
|
|
+ 'end_time' => time(),
|
|
|
+ ];
|
|
|
+ $updataAlarmData = [
|
|
|
+ 'alarm_userSensitive' => $data['alarm_userSensitive'],
|
|
|
+ 'alarm_serverSensitive' => $data['alarm_serverSensitive'],
|
|
|
+ 'alarm_corresponding' => $data['alarm_corresponding'],
|
|
|
+ 'alarm_cvtOvertime' => time() - $data['start_time'],
|
|
|
+ 'alarm_respond' => $data['alarm_respond'],
|
|
|
+ 'alarm_lineTime' => $data['start_time'] - $data['intime'],
|
|
|
+ 'alarm_count' => $chatCount['count'],
|
|
|
+ ];
|
|
|
+ self::$db->update('ws_service_log')->cols($updateServiceLogData)->where("servicelog_id=$servicelogId")->query();
|
|
|
+ self::$db->update('ws_alarm')->cols($updataAlarmData)->where("servicelog_id=$servicelogId")->query();
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
/**
|
|
|
* 有人退出
|
|
|
* @param $group
|
|
|
@@ -1558,7 +1583,7 @@ class Events
|
|
|
});
|
|
|
|
|
|
// 检查对话时效给出.
|
|
|
- Timer::add(20, function () {
|
|
|
+ Timer::add(40, function () {
|
|
|
self::overTime();
|
|
|
});
|
|
|
|