From a888de758d24e15cced48811d9c4246f40752d7b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E5=8D=8E=E6=B8=85?= <18691022700@163.com> Date: Thu, 4 Dec 2025 22:18:53 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8B=8D=E5=8D=96=E4=B8=AD=E4=B8=8D=E8=83=BD?= =?UTF-8?q?=E4=B8=8B=E9=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- application/api/model/RoomPit.php | 47 ++++++++++++++++++------------- 1 file changed, 27 insertions(+), 20 deletions(-) diff --git a/application/api/model/RoomPit.php b/application/api/model/RoomPit.php index d3dd2b3..a97a9da 100644 --- a/application/api/model/RoomPit.php +++ b/application/api/model/RoomPit.php @@ -150,13 +150,26 @@ class RoomPit extends Model //用户下麦 public function DownPit($user_id,$room_id,$pit_number,$type = 0) { - if(!$pit_number){ - $pit_number = db::name('vs_room_pit')->where(['room_id' => $room_id, 'user_id' => $user_id])->value('pit_number'); + $roomtype = db::name('vs_room')->where(['id' => $room_id])->value('type_id'); + + if($roomtype == 2){ + //获取拍卖位用户 + if(Cache::get('auction_user_'.$room_id) == $user_id){ + $auctioning = db::name('vs_room_auction') + ->where(['room_id' => $room_id, 'status' => 2, 'user_id' => $user_id])->find(); + if($auctioning) { + return ['code' => 0, 'msg' => '拍卖中不能能下麦', 'data' => null]; + } + $pit_number = 888; + } + }else{ if(!$pit_number){ - return ['code' => 0, 'msg' => '该用户已不在麦上', 'data' => null]; + $pit_number = db::name('vs_room_pit')->where(['room_id' => $room_id, 'user_id' => $user_id])->value('pit_number'); + if(!$pit_number){ + return ['code' => 0, 'msg' => '该用户已不在麦上', 'data' => null]; + } } } - $roomtype = db::name('vs_room')->where(['id' => $room_id])->value('type_id'); if($roomtype == 10){ if($pit_number == 1){ $pit_text = '签约麦'; @@ -179,27 +192,21 @@ class RoomPit extends Model $pit_text = '主持麦'; }elseif ($pit_number == 10) { $pit_text = '嘉宾麦'; + }elseif ($pit_number == 888) { + $pit_text = '拍卖位'; }else{ $pit_text = $pit_number . '号麦'; } - if($roomtype == 2){ - //获取拍卖位用户 - if(Cache::get('auction_user_'.$room_id) == $user_id){ - $auctioning = db::name('vs_room_auction') - ->where(['room_id' => $room_id, 'status' => 2, 'user_id' => $user_id])->find(); - if($auctioning) { - return ['code' => 0, 'msg' => '拍卖中不能能下麦', 'data' => null]; - } - } - } } - $where['room_id'] = $room_id; - $where['pit_number'] = $pit_number; - $where['user_id'] = $user_id; - $accept_pit_info = db::name('vs_room_pit')->where($where)->find(); - if(!$accept_pit_info){ - return ['code' => 0, 'msg' => '该用户已不在'.$pit_text, 'data' => null]; + if($pit_number != 888){ + $where['room_id'] = $room_id; + $where['pit_number'] = $pit_number; + $where['user_id'] = $user_id; + $accept_pit_info = db::name('vs_room_pit')->where($where)->find(); + if(!$accept_pit_info){ + return ['code' => 0, 'msg' => '该用户已不在'.$pit_text, 'data' => null]; + } } //判断当前房间是否正在pk