修改房间类型 及房间类型列表
This commit is contained in:
@@ -194,30 +194,6 @@ class Room extends BaseCom
|
||||
}
|
||||
|
||||
|
||||
//直播间送礼【1.6废弃】
|
||||
//
|
||||
public function room_give_gift()
|
||||
{
|
||||
$key_name = "api:room:gift:" . $this->uid;
|
||||
redis_lock_exit($key_name);
|
||||
$room_id = input('room_id', 0);
|
||||
$gift_id = input('gift_id', 0);
|
||||
$gift_num = input('gift_num', 1);
|
||||
$to_uid = input('to_uid', 0);//收礼人ID,逗号隔开的字符串
|
||||
$type = input('type', 1);//1金币购买 2送背包礼物
|
||||
$pit_number = input('pit_number', 0);
|
||||
$heart_id = input('heart_id', 0);
|
||||
|
||||
$pool_gift_id = db::name('bb_lottery_config')->where(['key' => 'pool_gift_id'])->value('value');
|
||||
if($gift_id == $pool_gift_id){
|
||||
$reslut = model('Lottery')->gift($this->uid, $to_uid, $gift_id, $room_id,$gift_num);
|
||||
}else{
|
||||
$reslut = model('Room')->room_gift($this->uid, $to_uid, $gift_id, $gift_num, $type, $room_id, $pit_number,$heart_id);
|
||||
}
|
||||
redis_unlock($key_name);
|
||||
return V($reslut['code'], $reslut['msg'], $reslut['data']);
|
||||
}
|
||||
|
||||
//房间送礼 背包一键全清
|
||||
public function room_gift_all_clear()
|
||||
{
|
||||
@@ -281,6 +257,8 @@ class Room extends BaseCom
|
||||
$reslut = model('HeadLine')->current_headline();
|
||||
return V(1, '成功', $reslut);
|
||||
}
|
||||
|
||||
|
||||
//发(抢)头条
|
||||
public function send_headline()
|
||||
{
|
||||
@@ -331,11 +309,77 @@ class Room extends BaseCom
|
||||
}
|
||||
|
||||
|
||||
//房间类型列表
|
||||
public function room_type_list()
|
||||
{
|
||||
$http = get_system_config_value("web_site");
|
||||
//1-交友,2-拍卖,7-互娱,8-交友(不要了),9-点唱,10-签约,11-酒吧房
|
||||
$reslut = [
|
||||
[
|
||||
'id' => 1,
|
||||
'name' => '交友',
|
||||
'icon' => $http.'/data/avatar/head_pic.png',
|
||||
'sort' => 1,
|
||||
],
|
||||
[
|
||||
'id' => 2,
|
||||
'name' => '拍卖',
|
||||
'icon' => $http.'/data/avatar/head_pic.png',
|
||||
'sort' => 2,
|
||||
],
|
||||
[
|
||||
'id' => 7,
|
||||
'name' => '互娱',
|
||||
'icon' => $http.'/data/avatar/head_pic.png',
|
||||
'sort' => 3,
|
||||
],
|
||||
[
|
||||
'id' => 9,
|
||||
'name' => '点唱',
|
||||
'icon' => $http.'/data/avatar/head_pic.png',
|
||||
'sort' => 4,
|
||||
],
|
||||
[
|
||||
'id' => 10,
|
||||
'name' => '签约',
|
||||
'icon' => $http.'/data/avatar/head_pic.png',
|
||||
'sort' => 5,
|
||||
],
|
||||
[
|
||||
'id' => 11,
|
||||
'name' => '酒吧',
|
||||
'icon' => $http.'/data/avatar/head_pic.png',
|
||||
'sort' => 6,
|
||||
],
|
||||
[
|
||||
'id' => 99,
|
||||
'name' => '练歌',
|
||||
'icon' => $http.'/data/avatar/head_pic.png',
|
||||
'sort' => 7,
|
||||
],
|
||||
];
|
||||
//根据sort 排序
|
||||
usort($reslut, function ($a, $b) {
|
||||
return $a['sort'] - $b['sort'];
|
||||
});
|
||||
return V(1, '成功', $reslut);
|
||||
}
|
||||
|
||||
|
||||
//修改房间类型
|
||||
public function change_room_type()
|
||||
{
|
||||
$room_id = input('room_id', 0);
|
||||
$type = input('type', 1);//1-交友,2-拍卖,7-互娱,8-交友(不要了),9-点唱,10-签约,11-酒吧房
|
||||
$type = input('type', 1);//1-交友,2-拍卖,7-互娱,9-点唱,10-签约,11-酒吧房,99-练歌
|
||||
|
||||
if(!$room_id || !$type){
|
||||
return V(0, '参数错误');
|
||||
}
|
||||
$owner = db::name('vs_room')->where(['id' => $room_id, 'user_id' => $this->uid])->field('id')->find();
|
||||
$host = db::name('vs_room_host')->where(['room_id' => $room_id, 'user_id' => $this->uid,'delete_time' => null])->find();
|
||||
if(!$owner && !$host){
|
||||
return V(0, '没有权限操作');
|
||||
}
|
||||
$reslut = model('Room')->change_room_type($this->uid, $room_id, $type);
|
||||
return V($reslut['code'], $reslut['msg'], $reslut['data']);
|
||||
}
|
||||
|
||||
@@ -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