重连后房间处理

This commit is contained in:
2025-09-28 15:48:36 +08:00
parent 3d66a47226
commit 770c9a0fb8
4 changed files with 64 additions and 12 deletions

View File

@@ -451,4 +451,13 @@ class Room extends BaseCom
$reslut = model('Room')->user_reconnect($this->uid, $room_id);
return V($reslut['code'], $reslut['msg'], $reslut['data']);
}
//用户在房间内切后台保留机制
public function user_in_room_background()
{
$room_id = input('room_id', 0);
$type = input('type', 1);//1-切后台2-切前台
$reslut = model('Room')->user_in_room_background($this->uid, $room_id,$type);
return V($reslut['code'], $reslut['msg'], $reslut['data']);
}
}

View File

@@ -2548,4 +2548,36 @@ class Room extends Model
}
return ['code' => 1, 'msg' => '操作成功', 'data' => null];
}
public function user_in_room_background($user_id,$room_id,$type)
{
if(!$room_id){
return ['code' => 0, 'msg' => '参数错误', 'data' => null];
}
if($type == 1){//1-切后台2-切前台
$is_bg = db::name('vs_user_in_room_bg')->where(['user_id' => $user_id,'room_id' => $room_id])->find();
if($is_bg){
$up_bg = [
'updatetime' => time(),
];
db::name('vs_user_in_room_bg')->where('id',$is_bg['id'])->update($up_bg);
}else{
$data = [
'user_id' => $user_id,
'room_id' => $room_id,
'createtime' => time(),
'updatetime' => time(),
];
$room_background = db::name('vs_user_in_room_bg')->insert($data);
if(!$room_background){
return ['code' => 0, 'msg' => '操作失败', 'data' => null];
}
}
}else{
db::name('vs_user_in_room_bg')->where(['user_id' => $user_id,'room_id' => $room_id])->delete();
}
return ['code' => 1, 'msg' => '操作成功', 'data' => null];
}
}

View File

@@ -932,7 +932,11 @@ class Tencent extends Model
$text['type'] = 2;
model('Chat')->sendMsg(1058,$v['room_id'],$text);
}else{
model('Room')->quit_room($v['user_id'], $v['room_id'],$v['user_id'],2);
//查询是否有切后台的操作
$bg_room = db::name('vs_user_in_room_bg')->where(['room_id' => $v['room_id'],'user_id' => $v['user_id']])->find();
if(!$bg_room){
model('Room')->quit_room($v['user_id'], $v['room_id'],$v['user_id'],2);
}
}
}
}