修改房间类型 及房间类型列表
This commit is contained in:
@@ -2943,31 +2943,22 @@ class Room extends Model
|
||||
|
||||
|
||||
//修改房间类型
|
||||
// $type 1-交友,2-拍卖,7-互娱,8-交友(不要了),9-点唱,10-签约,11-酒吧房
|
||||
// $type 1-交友,2-拍卖,7-互娱,9-点唱,10-签约,11-酒吧房 99-练歌
|
||||
public function change_room_type($uid,$room_id,$type)
|
||||
{
|
||||
if(!$uid || !$room_id || !$type){
|
||||
return ['code' => 0, 'msg' => '参数错误', 'data' => null];
|
||||
}
|
||||
$owner = db::name('vs_room')->where(['id' => $room_id, 'user_id' => $uid])->field('id')->find();
|
||||
$host = db::name('vs_room_host')->where(['room_id' => $room_id, 'user_id' => $uid,'delete_time' => null])->find();
|
||||
if(!$owner && !$host){
|
||||
return ['code' => 0, 'msg' => '没有权限操作', 'data' => null];
|
||||
}
|
||||
|
||||
$roomInfo = db::name('vs_room')->where(['id' => $room_id])->find();
|
||||
if($roomInfo['type_id'] == $type && $roomInfo['type_id'] != 1){
|
||||
return ['code' => 0, 'msg' => '房间类型已存在', 'data' => null];
|
||||
}
|
||||
|
||||
if($roomInfo['type_id'] == 7 && ($roomInfo['step'] == 2 || $roomInfo['step'] == 3)){
|
||||
return ['code' => 0, 'msg' => '请先结束交友后在修改房间类型', 'data' => null];
|
||||
return ['code' => 0, 'msg' => '请先结束交友后再修改房间类型', 'data' => null];
|
||||
}
|
||||
|
||||
if($roomInfo['type_id'] == 2){
|
||||
$room_auction = db::name('vs_room_auction')->where(['room_id' => $room_id,'status' => 2])->select();
|
||||
if($room_auction){
|
||||
return ['code' => 0, 'msg' => '请先结束竞拍后在修改房间类型', 'data' => null];
|
||||
return ['code' => 0, 'msg' => '请先结束竞拍后再修改房间类型', 'data' => null];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2976,11 +2967,97 @@ class Room extends Model
|
||||
}
|
||||
|
||||
if($roomInfo['type_id'] == 10 && $roomInfo['sign_type'] != 0){
|
||||
return ['code' => 0, 'msg' => '请先结束签约后在修改房间类型', 'data' => null];
|
||||
return ['code' => 0, 'msg' => '请先结束签约再在修改房间类型', 'data' => null];
|
||||
}
|
||||
|
||||
//开启事务
|
||||
db::startTrans();
|
||||
if($roomInfo['type_id'] == 1){
|
||||
$is_pk = db::name('vs_room_pk')->where(['room_id_a' => $room_id])->where(['status' => ['in',[2,3,4]]])->find();
|
||||
$is_pk1 = db::name('vs_room_pk')->where(['room_id_b' => $room_id])->where(['status' => ['in',[2,3,4]]])->find();
|
||||
if($is_pk || $is_pk1){
|
||||
return ['code' => 0, 'msg' => '请先结束PK再在修改房间类型', 'data' => null];
|
||||
}
|
||||
}
|
||||
|
||||
$data = [];
|
||||
//1-交友
|
||||
if($type == 1 || $type == 3 || $type == 4 || $type == 8){
|
||||
$data = [
|
||||
'label_id' => 1,
|
||||
'type_id' => $type,
|
||||
'room_up_pit_type' => 1,//1-排麦模式,2-自由模式
|
||||
'is_song' => 1 //1-等待点歌申请
|
||||
];
|
||||
}
|
||||
|
||||
//拍卖
|
||||
if($type == 2){
|
||||
$data = [
|
||||
'label_id' => 3,
|
||||
'type_id' => $type,
|
||||
'room_up_pit_type' => 1,//1-排麦模式,2-自由模式
|
||||
'is_song' => 1 //1-等待点歌申请
|
||||
];
|
||||
//清除房间此前的魅力值
|
||||
db::name('vs_room_user_charm')->where(['room_id' => $room_id])->update(['charm' => 0,'clear_time' => time()]);
|
||||
}
|
||||
|
||||
//(互娱)
|
||||
if($type == 7){
|
||||
$data = [
|
||||
'label_id' => 5,
|
||||
'type_id' => $type,
|
||||
'room_up_pit_type' => 1,//1-排麦模式,2-自由模式
|
||||
'step' => 1 //1-等待开始
|
||||
];
|
||||
}
|
||||
|
||||
//点唱房 (让别人唱歌)
|
||||
if($type == 9){
|
||||
$data = [
|
||||
'label_id' => 6,
|
||||
'type_id' => $type,
|
||||
'room_up_pit_type' => 1,//1-排麦模式,2-自由模式
|
||||
];
|
||||
}
|
||||
|
||||
//签约房
|
||||
if($type == 10){
|
||||
$data = [
|
||||
'label_id' => 7,
|
||||
'type_id' => $type,
|
||||
'room_up_pit_type' => 1,//1-排麦模式,2-自由模式
|
||||
'sign_type' => 0 //0-等待签约
|
||||
];
|
||||
}
|
||||
|
||||
//酒吧房
|
||||
if($type == 11){
|
||||
$data = [
|
||||
'label_id' => 8,
|
||||
'type_id' => $type,
|
||||
'room_up_pit_type' => 1,
|
||||
'room_background' => db::name('vs_room_background')->where(['id' => 11])->value('image_url')
|
||||
];
|
||||
}
|
||||
|
||||
//练歌房
|
||||
if($type == 99){
|
||||
if($roomInfo['type_id'] == 1 && $roomInfo['type_id'] == 2){
|
||||
return ['code' => 0, 'msg' => '房间类型已存在', 'data' => null];
|
||||
}
|
||||
$res1 = model('RoomSong')->agree_song($uid,$room_id,1);
|
||||
if($res1['code'] == 0){
|
||||
return ['code' => 0, 'msg' => $res1['msg'], 'data' => null];
|
||||
}else{
|
||||
$res = 1;
|
||||
}
|
||||
}else{
|
||||
$res = db::name('vs_room')->where(['id' => $room_id])->update($data);
|
||||
}
|
||||
|
||||
if(!$res){
|
||||
return ['code' => 0, 'msg' => '修改失败', 'data' => null];
|
||||
}
|
||||
|
||||
//在麦位上的用户 全部下麦
|
||||
$on_pit = db::name('vs_room_pit')->where(['room_id' => $room_id,'user_id' => ['>',0],'pit_number' => ['<>',9]])->select();
|
||||
@@ -2998,70 +3075,6 @@ class Room extends Model
|
||||
}
|
||||
}
|
||||
|
||||
$data = [];
|
||||
//1-交友,3、4、8-不要了
|
||||
if($type == 1 || $type == 3 || $type == 4 || $type == 8){
|
||||
$data = [
|
||||
'label_id' => 1,
|
||||
'type_id' => $type,
|
||||
'room_up_pit_type' => 1,
|
||||
'is_song' => 1
|
||||
];
|
||||
}
|
||||
|
||||
//拍卖
|
||||
if($type == 2){
|
||||
$data = [
|
||||
'label_id' => 3,
|
||||
'type_id' => $type,
|
||||
'room_up_pit_type' => 1,
|
||||
'is_song' => 1
|
||||
];
|
||||
}
|
||||
|
||||
//(互娱)
|
||||
if($type == 7){
|
||||
$data = [
|
||||
'label_id' => 5,
|
||||
'type_id' => $type,
|
||||
'room_up_pit_type' => 1,
|
||||
];
|
||||
}
|
||||
|
||||
//点唱房 (让别人唱歌)
|
||||
if($type == 9){
|
||||
$data = [
|
||||
'label_id' => 6,
|
||||
'type_id' => $type,
|
||||
'room_up_pit_type' => 1,
|
||||
];
|
||||
}
|
||||
|
||||
//签约房
|
||||
if($type == 10){
|
||||
$data = [
|
||||
'label_id' => 7,
|
||||
'type_id' => $type,
|
||||
'room_up_pit_type' => 1,
|
||||
];
|
||||
}
|
||||
|
||||
//酒吧房
|
||||
if($type == 11){
|
||||
$data = [
|
||||
'label_id' => 8,
|
||||
'type_id' => $type,
|
||||
'room_up_pit_type' => 1,
|
||||
'room_background' => db::name('vs_room_background')->where(['id' => 11])->value('image_url')
|
||||
];
|
||||
}
|
||||
$res = db::name('vs_room')->where(['id' => $room_id])->update($data);
|
||||
|
||||
if(!$res){
|
||||
db::rollback();
|
||||
return ['code' => 0, 'msg' => '修改失败', 'data' => null];
|
||||
}
|
||||
|
||||
//如果房间正在点唱中,结束点唱
|
||||
$romm_song = db::name('vs_room_song')->where(['room_id' => $room_id])->order('did desc')->find();
|
||||
if(isset($romm_song) && ($romm_song['status'] == 1 || $romm_song['status'] == 2)){
|
||||
@@ -3075,32 +3088,6 @@ class Room extends Model
|
||||
//申请上麦的全部下麦
|
||||
model('RoomPit')->clear_apply_pit_list($uid, $room_id);
|
||||
|
||||
if($type == 1 || $type == 3 || $type == 4 || $type == 7 || $type == 8 || $type == 9 || $type == 10 || $type == 11){
|
||||
//查询拍卖房的状态
|
||||
$room_auction = db::name('vs_room_auction')->where(['room_id' => $room_id,'status' => 2])->select();
|
||||
if($room_auction){
|
||||
foreach ($room_auction as $v){
|
||||
model('RoomAuction')->room_auction_end($room_id,$v['auction_id']);
|
||||
}
|
||||
}
|
||||
//拍卖位上是否有人
|
||||
$an = Cache::get('auction_user_'.$room_id);
|
||||
if($an){
|
||||
//拍卖位下麦
|
||||
model('api/RoomPit')->host_user_pit($uid,$room_id,888,$an,2);
|
||||
}
|
||||
}
|
||||
if($type == 2){
|
||||
//清除房间此前的魅力值
|
||||
db::name('vs_room_user_charm')->where(['room_id' => $room_id])->update(['charm' => 0,'clear_time' => time()]);
|
||||
//10号麦有人就下去
|
||||
$pit_10 = db::name('vs_room_pit')->where(['room_id' => $room_id,'pit_number' => 10])->find();
|
||||
if($pit_10 && $pit_10['user_id'] > 0){
|
||||
model('RoomPit')->DownPit($pit_10['user_id'], $room_id,10);
|
||||
}
|
||||
}
|
||||
|
||||
db::commit();
|
||||
//推送给前端
|
||||
$text = [
|
||||
'room_id' => $room_id,
|
||||
|
||||
Reference in New Issue
Block a user