重连后房间处理
This commit is contained in:
@@ -2528,12 +2528,23 @@ class Room extends Model
|
|||||||
if(!$room_id){
|
if(!$room_id){
|
||||||
$room_id = Db::name('vs_room_visitor')->where('user_id', $user_id)->order('id desc')->value('room_id');
|
$room_id = Db::name('vs_room_visitor')->where('user_id', $user_id)->order('id desc')->value('room_id');
|
||||||
}
|
}
|
||||||
$room = db::name('vs_room_visitor')->where(['user_id' => $user_id,'room_id' => $room_id])->find();
|
//查询用户在几个房间
|
||||||
if(!$room){
|
$room = db::name('vs_room_visitor')->where('user_id', $user_id)->select();
|
||||||
$room_info = db::name('vs_room_visitor')->insert(['room_id' => $room_id, 'user_id' => $user_id, 'createtime' => time()]);
|
$room_list = [];
|
||||||
|
foreach ($room as $v){
|
||||||
|
$room_list[] = $v['room_id'];
|
||||||
|
}
|
||||||
|
$count = count($room_list);
|
||||||
|
if($count <= 1 && $room_id == $room_list[0]){
|
||||||
|
$room_info = db::name('vs_room_visitor')->insert(['room_id' => $room_id, 'user_id' => $user_id, 'createtime' => time(),'remarks' =>'断线后重连']);
|
||||||
if(!$room_info){
|
if(!$room_info){
|
||||||
return ['code' => 0, 'msg' => '加入房间失败', 'data' => null];
|
return ['code' => 0, 'msg' => '加入房间失败', 'data' => null];
|
||||||
}
|
}
|
||||||
|
}else{
|
||||||
|
//退出除过最后一个房间
|
||||||
|
for ($i = 0; $i < $count - 1; $i++){
|
||||||
|
db::name('vs_room_visitor')->where('user_id', $user_id)->where('room_id', $room_list[$i])->delete();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return ['code' => 1, 'msg' => '操作成功', 'data' => null];
|
return ['code' => 1, 'msg' => '操作成功', 'data' => null];
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user