|
|
@@ -1,8 +1,96 @@
|
|
|
<?php
|
|
|
namespace app\service\controller;
|
|
|
|
|
|
-class Index extends Base
|
|
|
+/**
|
|
|
+ * 客服系统首页类
|
|
|
+ */
|
|
|
+class Index extends Common
|
|
|
{
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取用户详情
|
|
|
+ *
|
|
|
+ * @access public
|
|
|
+ * @return array JsonString
|
|
|
+ */
|
|
|
+ public function userInfo()
|
|
|
+ {
|
|
|
+ // 验证token.
|
|
|
+ $tokenStatus = $this->verifyToken();
|
|
|
+ $code = -2;
|
|
|
+ $msg = '错误';
|
|
|
+ if ($tokenStatus === false) {
|
|
|
+ return json(['code' => $code, 'data' => [], 'msg' => $msg]);
|
|
|
+ }
|
|
|
+
|
|
|
+ try {
|
|
|
+ $getUserToken = input('server.HTTP_userToken');
|
|
|
+ $usersField = [
|
|
|
+ 'a.id',
|
|
|
+ 'user_name',
|
|
|
+ 'user_avatar',
|
|
|
+ 'b.name',
|
|
|
+ ];
|
|
|
+ // 关联信息.
|
|
|
+ $join['groups b'] = 'a.group_id = b.id';
|
|
|
+ $usersWhere['token'] = $getUserToken;
|
|
|
+ // 获取用户信息.
|
|
|
+ $usersInfo = model('users')->findInfo($usersField, $usersWhere, $join);
|
|
|
+
|
|
|
+ return json(['code' => 200, 'data' => $usersInfo, 'msg' => '成功']);
|
|
|
+ } catch (\Exception $e) {
|
|
|
+ return json(['code' => $code, 'data' => [], 'msg' => $msg]);
|
|
|
+ }//end try
|
|
|
+
|
|
|
+ }//end userInfo()
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取用户快捷语
|
|
|
+ *
|
|
|
+ * @access public
|
|
|
+ * @return array JsonString
|
|
|
+ */
|
|
|
+ public function userWords()
|
|
|
+ {
|
|
|
+ // 验证token.
|
|
|
+ $tokenStatus = $this->verifyToken();
|
|
|
+ $code = -2;
|
|
|
+ $msg = '错误';
|
|
|
+ if ($tokenStatus === false) {
|
|
|
+ return json(['code' => $code, 'data' => [], 'msg' => $msg]);
|
|
|
+ }
|
|
|
+
|
|
|
+ try {
|
|
|
+ // 获取用户信息.
|
|
|
+ $getUserInfo = $this->getUserInfo();
|
|
|
+ // 获取快捷语.
|
|
|
+ $wordsField = [
|
|
|
+ 'id',
|
|
|
+ 'content',
|
|
|
+ ];
|
|
|
+ $sysWordsWhere['status'] = 1;
|
|
|
+ $sysWordsWhere['user_id'] = 0;
|
|
|
+ // 查询系统快捷语.
|
|
|
+ $sysWords = model('words')->selectWords($wordsField, $sysWordsWhere);
|
|
|
+ // 查询用户私有快捷语条件.
|
|
|
+ $userWordsWhere['user_id'] = $getUserInfo->id;
|
|
|
+ // 查询用户私有快捷语.
|
|
|
+ $userWords = model('words')->selectWords($wordsField, $userWordsWhere);
|
|
|
+ $result = [
|
|
|
+ 'sysWords' => $sysWords,
|
|
|
+ 'userWords' => $userWords,
|
|
|
+ ];
|
|
|
+
|
|
|
+ return json(['code' => 200, 'data' => $result, 'msg' => '成功']);
|
|
|
+ } catch (\Exception $e) {
|
|
|
+ return json(['code' => $code, 'data' => [], 'msg' => $msg]);
|
|
|
+ }//end try
|
|
|
+
|
|
|
+ }//end userWords()
|
|
|
+
|
|
|
+
|
|
|
public function index()
|
|
|
{
|
|
|
// 客服信息
|
|
|
@@ -18,6 +106,7 @@ class Index extends Base
|
|
|
return $this->fetch();
|
|
|
}
|
|
|
|
|
|
+
|
|
|
// 获取服务用户列表
|
|
|
// 此方法是为了防止客服工作期间错误的刷新工作台,导致服务人员消失的问题
|
|
|
public function getUserList()
|
|
|
@@ -25,9 +114,13 @@ class Index extends Base
|
|
|
if(request()->isAjax()){
|
|
|
|
|
|
// 此处只查询过去 三个小时 内的未服务完的用户
|
|
|
- $userList = db('service_log')->field('user_id id,user_name name,user_avatar avatar,user_ip ip')
|
|
|
- ->where('kf_id', cookie('l_user_id'))
|
|
|
- ->where('start_time', '>', time() - 3600 * 3)->where('end_time', 0)->select();
|
|
|
+ $userList = db('service_log')
|
|
|
+ ->where(function ($query) {
|
|
|
+ $query = $query->where('status', 1);
|
|
|
+ $query = $query->whereOr('status', 3);
|
|
|
+ return $query;
|
|
|
+ })
|
|
|
+ ->select();
|
|
|
|
|
|
return json(['code' => 1, 'data' => $userList, 'msg' => 'ok']);
|
|
|
}
|