在离线状态查询
This commit is contained in:
@@ -2730,46 +2730,17 @@ class Room extends Model
|
||||
//用户在线状态
|
||||
public function user_online_status($room_id,$user_id)
|
||||
{
|
||||
if(!$room_id || !$user_id){
|
||||
if(!$user_id){
|
||||
return ['code' => 0, 'msg' => '参数错误~', 'data' => null];
|
||||
}
|
||||
$user = explode(',',$user_id);
|
||||
//获取腾讯的在线用户
|
||||
$user_id_array = null;
|
||||
foreach ($user as $v) {
|
||||
$user_id_array[] = 'u'.$v;
|
||||
}
|
||||
|
||||
$online_user = [];
|
||||
$online_users = model('Tencent')->query_user_online_status($user_id_array);
|
||||
if(isset($online_users['ActionStatus']) && $online_users['ActionStatus'] == 'OK'){
|
||||
if($online_users['QueryResult']){
|
||||
foreach ($online_users['QueryResult'] as $v){
|
||||
if($v['Status'] == "Online"){
|
||||
//截取用户ID前面的 u 并获取用户ID
|
||||
$user_id = substr($v['To_Account'],1);
|
||||
$online_user[] = $user_id;
|
||||
}
|
||||
}
|
||||
}
|
||||
}else{
|
||||
return ['code' => 0, 'msg' => $online_users, 'data' => null];
|
||||
}
|
||||
|
||||
$array = $online_user;
|
||||
$data = null;
|
||||
foreach ($user as &$v){
|
||||
if(!in_array($v,$array)){
|
||||
$data[] = [
|
||||
'user_id' => $v,
|
||||
'is_online' => 0,
|
||||
];
|
||||
}else{
|
||||
$data[] = [
|
||||
'user_id' => $v,
|
||||
'is_online' => 1,
|
||||
];
|
||||
}
|
||||
$data = [];
|
||||
foreach ($user as $v){
|
||||
$data[] = [
|
||||
'user_id' => $v,
|
||||
'is_online' => db::name('user')->where('id',$v)->value('is_online'),
|
||||
];
|
||||
}
|
||||
return ['code' => 1, 'msg' => '操作成功', 'data' => $data];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user