出价换麦处理

This commit is contained in:
2025-12-03 12:44:11 +08:00
parent 05b230f811
commit 4ed322e636

View File

@@ -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']]);
//推送换麦消息