|
|
@@ -50,8 +50,8 @@ class Kefu extends BaseController
|
|
|
$value['transfer_num'] = intval($value['transfer_num']);
|
|
|
$value['intervention_num'] = intval($value['intervention_num']);
|
|
|
$value['completed_num'] = intval($value['completed_num']);
|
|
|
- $value['inprocess'] = 0;//进行中
|
|
|
- $value['unprocessed'] = 0;//待处理
|
|
|
+ $value['inprocess'] = User::where('cs_uid',$value['id'])->where('service_status',2)->count();//进行中
|
|
|
+ $value['unprocessed'] = User::where('cs_uid',$value['id'])->where('service_status',1)->count();//待处理
|
|
|
}
|
|
|
|
|
|
} catch (Exception $e) {
|
|
|
@@ -70,9 +70,13 @@ class Kefu extends BaseController
|
|
|
$page = $params['page'] ?? 1;
|
|
|
$limit = $params['limit'] ?? 15;
|
|
|
|
|
|
- $query = KefuWork::alias('kefu_work')->join('admin', 'kefu_work.admin_id = admin.id', 'left');
|
|
|
+ $query = KefuWork::alias('kefu_work')
|
|
|
+ ->join('admin', 'kefu_work.admin_id = admin.id', 'left')
|
|
|
+ ->join('user', 'kefu_work.admin_id = user.uid', 'left')
|
|
|
+ ->where('user.from', 0);
|
|
|
+
|
|
|
if (isset($params['is_online'])) {
|
|
|
- $query->where('is_online', $params['is_online']);
|
|
|
+ $query->where('user.is_online', $params['is_online']);
|
|
|
}
|
|
|
if (!empty($params['start_time'])) {
|
|
|
$query->where('kefu_work.created_at', '>=', $params['start_time'].'00:00:00');
|
|
|
@@ -82,18 +86,13 @@ class Kefu extends BaseController
|
|
|
}
|
|
|
|
|
|
$count = $query->count();
|
|
|
- $list = $query->field(['admin.username','admin.nickname','admin.is_online', 'kefu_work.*'])
|
|
|
+ $list = $query->field(['admin.username','admin.nickname','user.is_online', 'kefu_work.*'])
|
|
|
->order('kefu_work.id', 'desc')
|
|
|
->limit($limit)
|
|
|
->page($page)
|
|
|
->select();
|
|
|
foreach ($list as &$value) {
|
|
|
- // $value['chat_num'] = intval($value['chat_num']);
|
|
|
- // $value['transfer_num'] = intval($value['transfer_num']);
|
|
|
- // $value['intervention_num'] = intval($value['intervention_num']);
|
|
|
- // $value['completed_num'] = intval($value['completed_num']);
|
|
|
- // $value['inprocess'] = 0;//进行中
|
|
|
- // $value['unprocessed'] = 0;//待处理
|
|
|
+ $value['avg_time'] = $value['service_time'] && $value['chat_num'] ? intval($value['service_time'] / $value['chat_num']) : 0; //客服平均服务时间
|
|
|
}
|
|
|
|
|
|
} catch (Exception $e) {
|
|
|
@@ -125,28 +124,9 @@ class Kefu extends BaseController
|
|
|
$user_id = User::getCsId($admin_id);
|
|
|
wsSendMsg($user_id,'sign',['is_sign'=>0]);
|
|
|
|
|
|
- $is_online = Admin::isOnline($admin_id);
|
|
|
- if ($is_online == 0 ) {
|
|
|
- Admin::setOnline($admin_id, 1);
|
|
|
- //上线通知
|
|
|
- wsSendMsg(0,'isOnline',['id'=>$user_id, 'is_online'=>1]);
|
|
|
- }
|
|
|
- return $this->success([], '签到成功');
|
|
|
- }
|
|
|
+ //上线通知
|
|
|
+ wsSendMsg(0,'isOnline',['id'=>$user_id, 'is_online'=>1]);
|
|
|
|
|
|
- //客服状态设置
|
|
|
- public function setStatus()
|
|
|
- {
|
|
|
- try {
|
|
|
- $admin_id = $this->admin_id;
|
|
|
- KefuWork::addNum($admin_id, 'sign_num');//客服签到次数更新
|
|
|
- //签到记录
|
|
|
- Sign::create([
|
|
|
- 'admin_id' => $admin_id,
|
|
|
- ]);
|
|
|
- } catch (\Exception $e) {
|
|
|
- return $this->error($e->getMessage());
|
|
|
- }
|
|
|
return $this->success([], '签到成功');
|
|
|
}
|
|
|
|