|
@@ -50,8 +50,11 @@ class KfjkLogic
|
|
|
$mydl = $this->mydl($kfuidarray, $todayall);
|
|
$mydl = $this->mydl($kfuidarray, $todayall);
|
|
|
$pjxysc = $this->pjxysc($kfuidarray, $todayall);
|
|
$pjxysc = $this->pjxysc($kfuidarray, $todayall);
|
|
|
$jrxxsc = $this->jrxxsc($kfuidarray, $todayall);
|
|
$jrxxsc = $this->jrxxsc($kfuidarray, $todayall);
|
|
|
|
|
+ $kfip = $this->getKfinline();
|
|
|
|
|
|
|
|
foreach ($kfuidarray_index as $uid => $val) {
|
|
foreach ($kfuidarray_index as $uid => $val) {
|
|
|
|
|
+ $kfuidarray_index[$uid]['ip'] = $kfip['KF' . $uid]['ip'];
|
|
|
|
|
+ $kfuidarray_index[$uid]['status'] = $this->getStatusName($kfip['KF' . $uid]['status']);
|
|
|
$kfuidarray_index[$uid]['uid'] = $uids[$uid];
|
|
$kfuidarray_index[$uid]['uid'] = $uids[$uid];
|
|
|
$kfuidarray_index[$uid]['uidname'] = $uidsname[$uid];
|
|
$kfuidarray_index[$uid]['uidname'] = $uidsname[$uid];
|
|
|
$kfuidarray_index[$uid]['hhl'] = $hyl[$uid];
|
|
$kfuidarray_index[$uid]['hhl'] = $hyl[$uid];
|
|
@@ -72,6 +75,11 @@ class KfjkLogic
|
|
|
return $last;
|
|
return $last;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ public function getStatusName($status)
|
|
|
|
|
+ {
|
|
|
|
|
+ $r = ['0' => '离线', '1' => '在线', '2' => '隐身', '3' => '休息'];
|
|
|
|
|
+ return isset($r[$status]) ? $r[$status] : 'Error';
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
// 生成按钮
|
|
// 生成按钮
|
|
|
private function makeBtn($id)
|
|
private function makeBtn($id)
|
|
@@ -97,17 +105,18 @@ class KfjkLogic
|
|
|
return $return;
|
|
return $return;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- public function uidName($uidArray){
|
|
|
|
|
- $users = (new Users)->where(['id'=>['IN',$uidArray]])->select();
|
|
|
|
|
|
|
+ public function uidName($uidArray)
|
|
|
|
|
+ {
|
|
|
|
|
+ $users = (new Users)->where(['id' => ['IN', $uidArray]])->select();
|
|
|
$return = kftoKey($uidArray);
|
|
$return = kftoKey($uidArray);
|
|
|
- foreach ($return as $uid=>$ttttt){
|
|
|
|
|
- foreach ($users as $nowuser){
|
|
|
|
|
- if ($uid == $nowuser['id']){
|
|
|
|
|
|
|
+ foreach ($return as $uid => $ttttt) {
|
|
|
|
|
+ foreach ($users as $nowuser) {
|
|
|
|
|
+ if ($uid == $nowuser['id']) {
|
|
|
$return[$uid] = $nowuser['user_name'];
|
|
$return[$uid] = $nowuser['user_name'];
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- return $return ;
|
|
|
|
|
|
|
+ return $return;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
//会话量 统计
|
|
//会话量 统计
|
|
@@ -117,7 +126,7 @@ class KfjkLogic
|
|
|
|
|
|
|
|
foreach ($rets as $uid => $aaaa) {
|
|
foreach ($rets as $uid => $aaaa) {
|
|
|
foreach ($alllogs as $log) {
|
|
foreach ($alllogs as $log) {
|
|
|
- if ($uid == $log['kf_id'] && ($log['status'] == 1 || $log['status'] == 3)) {
|
|
|
|
|
|
|
+ if ($uid == $log['kf_id'] && ($log['status'] == 1 || $log['status'] == 3)) {
|
|
|
$rets[$uid]++;
|
|
$rets[$uid]++;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -150,7 +159,7 @@ class KfjkLogic
|
|
|
foreach ($alllogs as $log) {
|
|
foreach ($alllogs as $log) {
|
|
|
if ($uid == $log['kf_id']) {
|
|
if ($uid == $log['kf_id']) {
|
|
|
(!isset($rets[$uid]['count'])) ? ($rets[$uid]['count'] = 1) : $rets[$uid]['count']++;
|
|
(!isset($rets[$uid]['count'])) ? ($rets[$uid]['count'] = 1) : $rets[$uid]['count']++;
|
|
|
- (!isset($rets[$uid]['times'])) ? ($rets[$uid]['times'] = 0) : ($rets[$uid]['times'] += (($log['end_time'] ? $log['end_time'] : $log['start_time']) - $log['start_time']));
|
|
|
|
|
|
|
+ (!isset($rets[$uid]['times'])) ? ($rets[$uid]['times'] = 0) : ($rets[$uid]['times'] += (($log['end_time'] ? $log['end_time'] : $log['start_time']) - $log['start_time']));
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -223,18 +232,18 @@ class KfjkLogic
|
|
|
public function pjxysc($uidArray, $alllogs)
|
|
public function pjxysc($uidArray, $alllogs)
|
|
|
{
|
|
{
|
|
|
$rets = kftoKey($uidArray);
|
|
$rets = kftoKey($uidArray);
|
|
|
- if (empty($alllogs)){
|
|
|
|
|
- return $rets ;
|
|
|
|
|
|
|
+ if (empty($alllogs)) {
|
|
|
|
|
+ return $rets;
|
|
|
}
|
|
}
|
|
|
- $serids =[] ;
|
|
|
|
|
- foreach ($alllogs as $val){
|
|
|
|
|
|
|
+ $serids = [];
|
|
|
|
|
+ foreach ($alllogs as $val) {
|
|
|
$serids[] = $val['servicelog_id'];
|
|
$serids[] = $val['servicelog_id'];
|
|
|
}
|
|
}
|
|
|
- $times = Db::name('alarm')->field('alarm_corresponding,servicelog_id')->where(['alarm_respond' => 2,'servicelog_id'=>['IN',$serids]])->select();
|
|
|
|
|
- if ($times){
|
|
|
|
|
- foreach ($alllogs as $key=>$val){
|
|
|
|
|
- foreach ($times as $sval){
|
|
|
|
|
- if ($val['servicelog_id'] == $sval['servicelog_id']){
|
|
|
|
|
|
|
+ $times = Db::name('alarm')->field('alarm_corresponding,servicelog_id')->where(['alarm_respond' => 2, 'servicelog_id' => ['IN', $serids]])->select();
|
|
|
|
|
+ if ($times) {
|
|
|
|
|
+ foreach ($alllogs as $key => $val) {
|
|
|
|
|
+ foreach ($times as $sval) {
|
|
|
|
|
+ if ($val['servicelog_id'] == $sval['servicelog_id']) {
|
|
|
$alllogs[$key]['corresponding'] = $sval['alarm_corresponding'];
|
|
$alllogs[$key]['corresponding'] = $sval['alarm_corresponding'];
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -267,24 +276,26 @@ class KfjkLogic
|
|
|
//今日休息时长统计
|
|
//今日休息时长统计
|
|
|
public function jrxxsc($uidArray, $alllogs)
|
|
public function jrxxsc($uidArray, $alllogs)
|
|
|
{
|
|
{
|
|
|
- $kfuidarray = array_map(function($i){return 'KF'.$i; },$uidArray);
|
|
|
|
|
|
|
+ $kfuidarray = array_map(function ($i) {
|
|
|
|
|
+ return 'KF' . $i;
|
|
|
|
|
+ }, $uidArray);
|
|
|
$return = kftoKey($uidArray);
|
|
$return = kftoKey($uidArray);
|
|
|
$rets = kftoKey($uidArray, 1);
|
|
$rets = kftoKey($uidArray, 1);
|
|
|
- $today =date("Y-m-d");
|
|
|
|
|
- $ret = Db::name('kfstatetimes')->field('kfuid,stime')->where(['sday'=>$today,'kfuid'=>['IN',$kfuidarray],'kstatus'=>3])->select();
|
|
|
|
|
- if (!$ret){
|
|
|
|
|
|
|
+ $today = date("Y-m-d");
|
|
|
|
|
+ $ret = Db::name('kfstatetimes')->field('kfuid,stime')->where(['sday' => $today, 'kfuid' => ['IN', $kfuidarray], 'kstatus' => 3])->select();
|
|
|
|
|
+ if (!$ret) {
|
|
|
return $return;
|
|
return $return;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- foreach ($return as $uid=>$ttttt){
|
|
|
|
|
- foreach ($ret as $val){
|
|
|
|
|
- $ruid = trim($val['kfuid'],'KF');
|
|
|
|
|
- if ($uid == $ruid){
|
|
|
|
|
|
|
+ foreach ($return as $uid => $ttttt) {
|
|
|
|
|
+ foreach ($ret as $val) {
|
|
|
|
|
+ $ruid = trim($val['kfuid'], 'KF');
|
|
|
|
|
+ if ($uid == $ruid) {
|
|
|
$return[$uid] = $val['stime'];
|
|
$return[$uid] = $val['stime'];
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- return $return ;
|
|
|
|
|
|
|
+ return $return;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public function getTodayServiceData($kfuidArray = [])
|
|
public function getTodayServiceData($kfuidArray = [])
|
|
@@ -302,4 +313,18 @@ class KfjkLogic
|
|
|
return $ret;
|
|
return $ret;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ //获取在线客服ip地址
|
|
|
|
|
+ public function getKfinline()
|
|
|
|
|
+ {
|
|
|
|
|
+ $ret = Db::name('kfonline')->select();
|
|
|
|
|
+ $return = [];
|
|
|
|
|
+ if ($ret) {
|
|
|
|
|
+ foreach ($ret as $item) {
|
|
|
|
|
+ //'KF22'=>'192.168.1.1';
|
|
|
|
|
+ $return[$item['uid']] = $item;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ return $return;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
}
|
|
}
|