From 4ed322e6363d77ef7f3ccc86cbfa60dd5fe00225 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E5=8D=8E=E6=B8=85?= <18691022700@163.com> Date: Wed, 3 Dec 2025 12:44:11 +0800 Subject: [PATCH] =?UTF-8?q?=E5=87=BA=E4=BB=B7=E6=8D=A2=E9=BA=A6=E5=A4=84?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- application/api/model/Sign.php | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/application/api/model/Sign.php b/application/api/model/Sign.php index 4ed906f..97fff24 100644 --- a/application/api/model/Sign.php +++ b/application/api/model/Sign.php @@ -449,29 +449,29 @@ class Sign extends Model public function pit_number($room_id,$user_id = 0,$type = 0){ if($type == 1){//上麦或者换麦 //获取房间2号位上的用户 - $on_pit_user = db::name('vs_room_pit') + $on_pit2_user = db::name('vs_room_pit') ->where(['room_id' => $room_id,'pit_number' => 2])->field('before_pit_number,user_id')->find(); - if($on_pit_user['user_id'] == $user_id){ + if($on_pit2_user['user_id'] == $user_id){ return true; } //处理2号位 - if($on_pit_user && $on_pit_user['user_id']){ + if($on_pit2_user && $on_pit2_user['user_id']){ //2号位有其他用户,需要处理该用户 //获取2号位用户之前的位置上是否有用户 $before_pit_number = db::name('vs_room_pit') - ->where(['room_id' => $room_id,'pit_number' => $on_pit_user['before_pit_number']])->value('user_id'); + ->where(['room_id' => $room_id,'pit_number' => $on_pit2_user['before_pit_number']])->value('user_id'); - if($before_pit_number && $on_pit_user['before_pit_number'] != 0){ - //之前位置有人,直接下麦 - model('api/RoomPit')->DownPit($on_pit_user['user_id'], $room_id, 2); + if($before_pit_number || $on_pit2_user['before_pit_number'] == 0){ + //之前位置有人或者之前麦位为空,直接下麦 + model('api/RoomPit')->DownPit($on_pit2_user['user_id'], $room_id, 2); } else { //之前位置无人,换麦 - db::name('vs_room_pit')->where(['room_id' => $room_id, 'pit_number' => $on_pit_user['before_pit_number']]) - ->update(['user_id' => $on_pit_user['user_id']]); + db::name('vs_room_pit')->where(['room_id' => $room_id, 'pit_number' => $on_pit2_user['before_pit_number']]) + ->update(['user_id' => $on_pit2_user['user_id']]); //推送换麦消息 - $this->sendPitChangeMessage($on_pit_user['user_id'], $room_id, 2, $on_pit_user['before_pit_number']); + $this->sendPitChangeMessage($on_pit2_user['user_id'], $room_id, 2, $on_pit2_user['before_pit_number']); } } @@ -482,12 +482,11 @@ class Sign extends Model ->where(['room_id' => $room_id, 'user_id' => $user_id]) ->field('pit_number')->find(); - if($user_pit_info && $user_pit_info['pit_number']){ - //用户已在麦上,换到2号位 - //记录原麦位信息 + if($user_pit_info && $user_pit_info['pit_number']){//用户已在麦上 + //移除原麦位上的自己信息 db::name('vs_room_pit')->where(['room_id' => $room_id, 'pit_number' => $user_pit_info['pit_number']]) ->update(['user_id' => 0]); - + //换到2号位,记录原麦位信息 db::name('vs_room_pit')->where(['room_id' => $room_id, 'pit_number' => 2]) ->update(['user_id' => $user_id,'before_pit_number' => $user_pit_info['pit_number']]); //推送换麦消息