|
|
@@ -24,6 +24,8 @@ use Lcobucci\JWT\Builder;
|
|
|
use Lcobucci\JWT\Parser;
|
|
|
use thans\jwt\provider\JWT\Lcobucci;
|
|
|
use utils\Aes;
|
|
|
+use app\admin\model\Admin;
|
|
|
+use think\facade\Log;
|
|
|
|
|
|
class Events
|
|
|
{
|
|
|
@@ -39,8 +41,23 @@ class Events
|
|
|
{
|
|
|
Gateway::sendToClient($client_id, json_encode(array(
|
|
|
'type' => 'init',
|
|
|
- 'client_id' => $client_id
|
|
|
+ 'client_id' => $client_id,
|
|
|
)));
|
|
|
+
|
|
|
+ if($_SESSION['role'] != 0){
|
|
|
+ $admin_id = $_SESSION['user_id'];
|
|
|
+ $is_online = Admin::where('id',$admin_id)->value('is_online');
|
|
|
+ if ($is_online == 0) {
|
|
|
+
|
|
|
+ //更新客服上线状态
|
|
|
+ Admin::where('id',$admin_id)->update(['is_online'=>1]);
|
|
|
+ Log::info('客服'.$admin_id.'上线');
|
|
|
+ Gateway::sendToClient($client_id, json_encode(array(
|
|
|
+ 'type' => 'sign',
|
|
|
+ 'data' => ['is_sign' => 1],
|
|
|
+ )));
|
|
|
+ }
|
|
|
+ }
|
|
|
self::onlineStatistics();
|
|
|
}
|
|
|
/**
|
|
|
@@ -135,7 +152,7 @@ class Events
|
|
|
self::closeClient($client_id);
|
|
|
}
|
|
|
$_SESSION['user_id']=$userInfo['user_id'];
|
|
|
-
|
|
|
+ $_SESSION['role']=$userInfo['role'];
|
|
|
self::sendStatus($client_id);
|
|
|
}
|
|
|
|
|
|
@@ -155,10 +172,17 @@ class Events
|
|
|
$user_id=$_SESSION['user_id'] ?? '';
|
|
|
if($user_id){
|
|
|
Gateway::sendToAll(json_encode(array(
|
|
|
- 'type' => 'isOnline',
|
|
|
- 'time' => time(),
|
|
|
- 'data' => ['id'=>$user_id,'is_online'=>0]
|
|
|
- )));
|
|
|
+ 'type' => 'isOnline',
|
|
|
+ 'time' => time(),
|
|
|
+ 'data' => ['id'=>$user_id,'is_online'=>0]
|
|
|
+ )));
|
|
|
+
|
|
|
+ if($_SESSION['role'] != 0){
|
|
|
+ //更新客服离线状态
|
|
|
+ Admin::where('id',$user_id)->update(['is_online'=>0]);
|
|
|
+
|
|
|
+ Log::info('客服'.$user_id.'下线');
|
|
|
+ }
|
|
|
}
|
|
|
self::onlineStatistics();
|
|
|
}
|