签约结束

This commit is contained in:
2025-12-01 16:48:05 +08:00
parent c0da472500
commit efaef64481
2 changed files with 117 additions and 109 deletions

View File

@@ -580,46 +580,50 @@ class Room extends Model
}
//用户是否在其他房间
$room_user = db::name('vs_room_visitor')->where(['user_id' => $user_id])->order('id desc')->value('room_id');
if (isset($room_user) && $room_user != $room_id && $room_user != 0) {
//根据所在房间状态判断是否要退出房间并且下麦
$roomInfo = db::name('vs_room')->where(['id' => $room_user,'apply_status' => 2])->find();
if(($roomInfo['type_id'] == 1 || $roomInfo['type_id'] == 3 || $roomInfo['type_id'] == 4 || $roomInfo['type_id'] == 8)&& $roomInfo['label_id'] == 1){
//退出其他房间
$this->quit_room($user_id, $room_user,$user_id);
}elseif(($roomInfo['type_id'] == 1 || $roomInfo['type_id'] == 3 || $roomInfo['type_id'] == 4 || $roomInfo['type_id'] == 8)&& $roomInfo['label_id'] == 2){//k歌
//他的点歌列表
$song_list = db::name('vs_room_song')->where(['room_id' => $room_user, 'user_id' => $user_id])->select();
if(count($song_list) > 0){
foreach ($song_list as $value){
if($value['status'] == 2 && $value['times_status'] == 1){
//切歌
model('api/RoomSong')->change_song($room_id,$value['did']);
}
if($value['status'] == 1){
db::name('vs_room_song')->where(['did' => $value['did']])->update(['status' => 3]);
}
}
}
//记录用户退出房
$this->quit_room($user_id, $room_user,$user_id);
}elseif($roomInfo['type_id'] == 2){
//是否在拍卖位
$pitNumber = Cache::get('auction_user_'.$room_user);
if(isset($pitNumber) && $pitNumber == $user_id){
//用户在竞拍位 退出且不下麦
//记录用户退出房
db::name('vs_room_visitor')->where(['room_id' => $room_user, 'user_id' => $user_id])->delete();
$nickname = db::name('user')->where('id', $user_id)->value('nickname');
$text['text'] = '用户 ' . $nickname .' 退出了房间';
model('api/Chat')->sendMsg(1002,$room_user,$text,$user_id);
}else{
//退出其他房间
$this->quit_room($user_id, $room_user,$user_id);
}
}
// $room_user = db::name('vs_room_visitor')->where(['user_id' => $user_id])->order('id desc')->value('room_id');
// if (isset($room_user) && $room_user != $room_id && $room_user != 0) {
// //根据所在房间状态判断是否要退出房间并且下麦
// $roomInfo = db::name('vs_room')->where(['id' => $room_user,'apply_status' => 2])->find();
// if(($roomInfo['type_id'] == 1 || $roomInfo['type_id'] == 3 || $roomInfo['type_id'] == 4 || $roomInfo['type_id'] == 8)&& $roomInfo['label_id'] == 1){
// //退出其他房间
// $this->quit_room($user_id, $room_user,$user_id);
// }elseif(($roomInfo['type_id'] == 1 || $roomInfo['type_id'] == 3 || $roomInfo['type_id'] == 4 || $roomInfo['type_id'] == 8)&& $roomInfo['label_id'] == 2){//k歌
// //他的点歌列表
// $song_list = db::name('vs_room_song')->where(['room_id' => $room_user, 'user_id' => $user_id])->select();
// if(count($song_list) > 0){
// foreach ($song_list as $value){
// if($value['status'] == 2 && $value['times_status'] == 1){
// //切歌
// model('api/RoomSong')->change_song($room_id,$value['did']);
// }
// if($value['status'] == 1){
// db::name('vs_room_song')->where(['did' => $value['did']])->update(['status' => 3]);
// }
// }
// }
// //记录用户退出房
// $this->quit_room($user_id, $room_user,$user_id);
// }elseif($roomInfo['type_id'] == 2){
// //是否在拍卖位
// $pitNumber = Cache::get('auction_user_'.$room_user);
// if(isset($pitNumber) && $pitNumber == $user_id){
// //用户在竞拍位 退出且不下麦
// //记录用户退出房
// db::name('vs_room_visitor')->where(['room_id' => $room_user, 'user_id' => $user_id])->delete();
// $nickname = db::name('user')->where('id', $user_id)->value('nickname');
// $text['text'] = '用户 ' . $nickname .' 退出了房间';
// model('api/Chat')->sendMsg(1002,$room_user,$text,$user_id);
// }else{
// //退出其他房间
// $this->quit_room($user_id, $room_user,$user_id);
// }
// }
//
// }
}
//用户是否在其他房间(重构)
//1其他房间游戏中不让退出 给前端返回房间ID
//2允许退出强行退出……
//K歌模式下获取歌曲信息
$song_pit_list = null;