|
|
@@ -571,6 +571,9 @@ class System extends Base
|
|
|
if($alarm['alarm_respond'] == 1){
|
|
|
$span = $span . '<span class="alarm_info">客服未回应</span>';
|
|
|
}
|
|
|
+ if($alarm['alarm_count'] == 0){
|
|
|
+ $span = $span . '<span class="alarm_info">会话无内容</span>';
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
//用户信息
|
|
|
@@ -639,6 +642,33 @@ class System extends Base
|
|
|
$evaluate = db('evaluate')->select();
|
|
|
//$alarm报警信息
|
|
|
$alarm = db('alarm')->select();
|
|
|
+ //会话超时标准
|
|
|
+ $verifyAllTime = db('systemconfig')->where('systemconfig_name','质检会话时长设置')->find();
|
|
|
+ //会话响应时长标准
|
|
|
+ $verifyReturnTime = db('systemconfig')->where('systemconfig_name','质检会话响应时长设置')->find();
|
|
|
+ for($c=0;$c<count($alarm);$c++){
|
|
|
+ $alarm[$c]['alarminfo'] = '';
|
|
|
+ if($alarm[$c]['alarm_userSensitive'] != 0){
|
|
|
+ $alarm[$c]['alarminfo'] .= '访客敏感词/';
|
|
|
+ }
|
|
|
+ if($alarm[$c]['alarm_serverSensitive'] != 0){
|
|
|
+ $alarm[$c]['alarminfo'] .= '客服敏感词/';
|
|
|
+ }
|
|
|
+ if($alarm[$c]['alarm_corresponding'] > $verifyReturnTime['systemconfig_data']){
|
|
|
+ $alarm[$c]['alarminfo'] .= '响应超时/';
|
|
|
+ }
|
|
|
+ if($alarm[$c]['alarm_cvtOvertime'] > $verifyAllTime['systemconfig_data']){
|
|
|
+ $alarm[$c]['alarminfo'] .= '会话超时/';
|
|
|
+ }
|
|
|
+ if($alarm[$c]['alarm_respond'] == 1){
|
|
|
+ $alarm[$c]['alarminfo'] .= '客服未回应/';
|
|
|
+ }
|
|
|
+ if($alarm[$c]['alarm_count'] == 0){
|
|
|
+ $alarm[$c]['alarminfo'] .= '会话无内容';
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
foreach($result as $key=>$vo){
|
|
|
if($result[$key]['intime'] != 0){
|
|
|
$result[$key]['intime'] = date('Y-m-d H:i:s', $vo['intime']);
|
|
|
@@ -678,9 +708,10 @@ class System extends Base
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- //会话时长/响应时长
|
|
|
+ //会话时长/响应时长/报警信息
|
|
|
$result[$key]['conversation'] = '';
|
|
|
$result[$key]['response'] = '';
|
|
|
+ $result[$key]['alarm'] = '';
|
|
|
for($b=0;$b<count($alarm);$b++){
|
|
|
if($result[$key]['servicelog_id'] == $alarm[$b]['servicelog_id']){
|
|
|
//会话时长
|
|
|
@@ -691,6 +722,8 @@ class System extends Base
|
|
|
$response_min = intval($alarm[$b]['alarm_corresponding']/60);
|
|
|
$response_s = $alarm[$b]['alarm_corresponding']%60;
|
|
|
$result[$key]['response'] = $response_min.'分'.$response_s.'秒';
|
|
|
+ //报警信息
|
|
|
+ $result[$key]['alarminfo'] = $alarm[$b]['alarminfo'];
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -723,7 +756,7 @@ class System extends Base
|
|
|
$content = json_decode($chat_log[$c]['content'], true);
|
|
|
$chat_log[$c]['time_line'] = date('Y-m-d H:i:s',$chat_log[$c]['time_line']);
|
|
|
$result[$key]['detail'] = $result[$key]['detail'].' '.$chat_log[$c]['time_line'].' '.$chat_log[$c]['from_name'];
|
|
|
- $content['content'] = '';
|
|
|
+
|
|
|
if(!empty($content['text'])){
|
|
|
$content['content'] = $content['text'];
|
|
|
}
|
|
|
@@ -734,8 +767,8 @@ class System extends Base
|
|
|
}
|
|
|
|
|
|
}
|
|
|
- $head = ['工单id', '访客进线时间', '接待客服', '所在组', '访客账号', '开始时间', '结束时间', '会话时长', '响应时长', '关闭原因', '满意度','来源ip','来源网站','来源系统','来源浏览器','聊天详情'];
|
|
|
- $key = ['servicelog_id', 'intime', 'kefu_name', 'group_name', 'user_name', 'start_time', 'end_time', 'conversation', 'response', 'servicelog_close_type', 'evaluate_name','user_ip','website','system','browse','detail'];
|
|
|
+ $head = ['工单id', '访客进线时间', '接待客服', '所在组', '访客账号', '开始时间', '结束时间', '会话时长', '响应时长', '关闭原因', '满意度','来源ip','来源网站','来源系统','来源浏览器','报警信息','聊天详情'];
|
|
|
+ $key = ['servicelog_id', 'intime', 'kefu_name', 'group_name', 'user_name', 'start_time', 'end_time', 'conversation', 'response', 'servicelog_close_type', 'evaluate_name','user_ip','website','system','browse','alarminfo','detail'];
|
|
|
(new Office())->outdata('工单数据导出', $result, $head, $key);
|
|
|
return true;
|
|
|
}
|