瀏覽代碼

'修改数组问题'

Ethan 6 年之前
父節點
當前提交
8cb99c7291
共有 1 個文件被更改,包括 73 次插入5 次删除
  1. 73 5
      application/service/controller/History.php

+ 73 - 5
application/service/controller/History.php

@@ -67,21 +67,19 @@ class History extends Common
                         $data[$k]->children[$n] = (object) [
                             'label' => $kefuInfoData['name'].$KFstatus.'-客服',
                         ];
-                        $m = 0;
                         $data[$k]->children[$n]->children = [];
                         foreach ($servicelog as $val) {
                             $servicelogData = json_decode($val, true);
                             if (('KF'.$servicelogData['kf_id']) == $kefuInfoData['id']) {
                                 $found_key = array_search($servicelogData['user_id'], array_column($getAllAccounts, 'id'));
-                                $data[$k]->children[$n]->children[$m] = (object) [
-                                    'label'         => $servicelogData['user_name'].'-会话',
+                                $label = $getAllAccounts[$found_key]['nick_name'] ?? $servicelogData['user_name'];
+                                $data[$k]->children[$n]->children[] = (object) [
+                                    'label'         => $label.'-会话',
                                     'user_id'         => $servicelogData['user_id'],
-                                    'nick_name'         => $getAllAccounts[$found_key]['nick_name'],
                                     'servicelog_id' => $servicelogData['servicelog_id'],
                                 ];
                             }
 
-                            $m++;
                         }
 
                         $n++;
@@ -290,6 +288,76 @@ class History extends Common
     }//end historyInfo()
 
 
+    /**
+     * 获取会话历史详细
+     *
+     * @access public
+     * @return array JsonString
+     */
+    public function chatByTime()
+    {
+        // 验证token.
+        $tokenStatus = $this->verifyToken();
+        $code        = -2;
+        $msg         = '错误';
+        if ($tokenStatus === false) {
+            $msg = 'token错误';
+            return json(['code' => $code, 'data' => [], 'msg' => $msg]);
+        }
+
+        try {
+            // 工单ID信息.
+            $servicelogId = input('get.servicelog_id');
+            $chatLogField = ['*'];
+            // 关联信息.
+            $chatLogWhere['servicelog_id'] = $servicelogId;
+            if (strlen(input('get.lastTime'))) {
+                $lastTime = input('get.lastTime');
+                $chatLogWhere['time_line']  = array('gt', $lastTime);
+            }
+            // 分页.
+            $currentPage = 1;
+            $pageSize    = 999999;
+            $offset      = (($currentPage - 1) * $pageSize);
+            $chatLog      = model('ChatLog')->selectChatLog($chatLogField, $offset, $pageSize, $chatLogWhere);
+
+            $service_log = db('service_log')->where('servicelog_id',$servicelogId)->find();
+            $account = db('accounts')
+                ->alias('a')
+                ->join('accountslabel b', 'a.label_id = b.id')
+                ->field('a.id,account_name,nick_name,account_email,account_phone,address,remark,name as label')
+                ->where('a.id',$service_log['user_id'])
+                ->find();
+            $account['user_ip'] = $service_log['user_ip'];
+            $account['system'] = $service_log['system'];
+            $account['browse'] = $service_log['browse'];
+            // 获取用户信息.
+            $usersField   = [
+                'a.id',
+                'user_name',
+                'user_avatar',
+                'b.name',
+            ];
+            // 关联信息.
+            $join['groups b']    = 'a.group_id = b.id';
+            $usersWhere['a.id'] = $service_log['kf_id'];
+            // 获取用户信息.
+            $serverInfo = model('users')->findInfo($usersField, $usersWhere, $join);
+
+
+            $result['list']        = $chatLog;
+            $result['account']    = $account;
+            $result['serverName'] = $serverInfo['user_name'];
+            $result['groupName'] = $serverInfo['name'];
+
+            return json(['code' => 1, 'data' => $result, 'msg' => '成功']);
+        } catch (\Exception $e) {
+            return json(['code' => $code, 'data' => [], 'msg' => $msg]);
+        }//end try
+
+    }//end historyInfo()
+
+
     /**
      * 获取用户会话历史详细
      *