vali 6 жил өмнө
parent
commit
93d0039bd9

+ 1 - 0
application/admin/view/index/index.html

@@ -217,6 +217,7 @@
                     <table id="cusTable">
                         <thead>
                         <th data-field="uidname">客服</th>
+                        <th data-field="ip">IP</th>
                         <th data-field="hhl">当前会话量</th>
                         <th data-field="jdl">今日接待量</th>
                         <th data-field="pjhysc">今日平均会话时长</th>

+ 45 - 26
application/common/KfjkLogic.php

@@ -50,8 +50,10 @@ class KfjkLogic
         $mydl = $this->mydl($kfuidarray, $todayall);
         $pjxysc = $this->pjxysc($kfuidarray, $todayall);
         $jrxxsc = $this->jrxxsc($kfuidarray, $todayall);
+        $kfip = $this->getKfinlineip();
 
         foreach ($kfuidarray_index as $uid => $val) {
+            $kfuidarray_index[$uid]['ip'] = $kfip['KF' . $uid];
             $kfuidarray_index[$uid]['uid'] = $uids[$uid];
             $kfuidarray_index[$uid]['uidname'] = $uidsname[$uid];
             $kfuidarray_index[$uid]['hhl'] = $hyl[$uid];
@@ -97,17 +99,18 @@ class KfjkLogic
         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);
-        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 $return ;
+        return $return;
     }
 
     //会话量 统计
@@ -117,7 +120,7 @@ class KfjkLogic
 
         foreach ($rets as $uid => $aaaa) {
             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]++;
                 }
             }
@@ -150,7 +153,7 @@ class KfjkLogic
             foreach ($alllogs as $log) {
                 if ($uid == $log['kf_id']) {
                     (!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 +226,18 @@ class KfjkLogic
     public function pjxysc($uidArray, $alllogs)
     {
         $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'];
         }
-        $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'];
                     }
                 }
@@ -267,24 +270,26 @@ class KfjkLogic
     //今日休息时长统计
     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);
         $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;
         }
 
-        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 $return ;
+        return $return;
     }
 
     public function getTodayServiceData($kfuidArray = [])
@@ -302,4 +307,18 @@ class KfjkLogic
         return $ret;
     }
 
+    //获取在线客服ip地址
+    public function getKfinlineip()
+    {
+        $ret = Db::name('kfonline')->select();
+        $return = [];
+        if ($ret) {
+            foreach ($ret as $item) {
+                //'KF22'=>'192.168.1.1';
+                $return[$item['uid']] = $item['ip'];
+            }
+        }
+        return $return;
+    }
+
 }