pk 闭麦

This commit is contained in:
2026-01-20 14:23:27 +08:00
parent 60a07ded50
commit a888adae97
3 changed files with 51 additions and 2 deletions

View File

@@ -67,4 +67,15 @@ class RoomPk extends BaseCom
$reslut = model('RoomPk')->refuse_pk($is_pk,$room_id);
return V($reslut['code'], $reslut['msg'], $reslut['data']);
}
//PK闭麦
public function close_pk_mic()
{
$pk_id = input('pk_id', 0);
$type = input('type', 1);//1、关闭2、开启
$user_id = input('user_id', 0);
$reslut = model('RoomPk')->close_pk_mic($pk_id,$type,$user_id);
return V($reslut['code'], $reslut['msg'], $reslut['data']);
}
}

View File

@@ -1800,9 +1800,10 @@ class Room extends Model
$pk_info = null;
if($room_type == 1){
$is_pk = db::name('vs_room_pk')->where(['room_id_a' => $room_id])->where(['status' => ['in',[2,3,4]]])
->field('pk_id,create_user_id,receive_user_id,room_id_b,create_value_a,receive_value_b,pk_times,start_time,status,updatetime')->find();
->field('pk_id,create_user_id,receive_user_id,room_id_b,create_value_a,receive_value_b,pk_times,start_time,status,updatetime,close_users')->find();
if($is_pk){
$pk_info['pk_room_id'] = $is_pk['room_id_b'];//对方房间id
$pk_info['close_users'] = $is_pk['close_users'];//本场PK闭麦用户
$pk_info['invite_pk_user_id'] = $is_pk['create_user_id'];//发起pk用户id
$pk_info['receive_pk_user_id'] = $is_pk['receive_user_id'];//接受者用户id
$pk_info['pk_id'] = $is_pk['pk_id'];//pkid
@@ -1829,9 +1830,10 @@ class Room extends Model
}
}else{
$is_pk = db::name('vs_room_pk')->where(['room_id_b' => $room_id])->where(['status' => ['in',[2,3,4]]])
->field('pk_id,create_user_id,receive_user_id,room_id_a,create_value_a,receive_user_id,receive_value_b,pk_times,start_time,status,updatetime')->find();
->field('pk_id,create_user_id,receive_user_id,room_id_a,create_value_a,receive_user_id,receive_value_b,pk_times,start_time,status,updatetime,close_users')->find();
if($is_pk){
$pk_info['pk_room_id'] = $is_pk['room_id_a'];
$pk_info['close_users'] = $is_pk['close_users'];
$pk_info['invite_pk_user_id'] = $is_pk['create_user_id'];
$pk_info['receive_pk_user_id'] = $is_pk['receive_user_id'];//接受者用户id
$pk_info['pk_id'] = $is_pk['pk_id'];

View File

@@ -583,4 +583,40 @@ class RoomPk extends Model
}
}
//PK闭麦
public function close_pk_mic($pk_id, $type, $user_id)
{
$pk_info = db::name('vs_room_pk')->where('pk_id', $pk_id)->find();
if(!$pk_info){
return ['code' => 0, 'msg' => '失败', 'data' => ''];
}
if($type == 1){//1、关闭2、开启
//有就返回成功,没有就插入
if(strpos($pk_info['close_users'], $user_id) !== false){
return ['code' => 1, 'msg' => '成功', 'data' => ''];
}else{
$close = $pk_info['close_users'] .',' . $user_id;
$res = db::name('vs_room_pk')->where('pk_id', $pk_id)->update(['close_users' => $close]);
}
}else{
//没有就返回成功,有就删掉
if(strpos($pk_info['close_users'], $user_id) === false){
return ['code' => 1, 'msg' => '成功', 'data' => ''];
}else{
//转成数组
$close_users = explode(',', $pk_info['close_users']);
array_splice($close_users, array_search($user_id, $close_users), 1);//删除
$close_users = implode(',', $close_users);//转成字符串
$res = db::name('vs_room_pk')->where('pk_id', $pk_id)->update(['close_users' => $close_users]);
}
}
if ($res) {
return ['code' => 1, 'msg' => '成功', 'data' => ''];
} else {
return ['code' => 0, 'msg' => '失败', 'data' => ''];
}
}
}