签约房 上麦 抱麦 收礼涨身价

This commit is contained in:
2025-11-25 17:10:19 +08:00
parent aebef67454
commit 5618d9e80c
4 changed files with 98 additions and 8 deletions

View File

@@ -266,7 +266,7 @@ class Room extends BaseCom
public function change_room_type()
{
$room_id = input('room_id', 0);
$type = input('type', 1);//1-交友,2-拍卖7-互娱8-交友不要了9-点唱
$type = input('type', 1);//1-交友,2-拍卖7-互娱8-交友不要了9-点唱10-签约
$reslut = model('Room')->change_room_type($this->uid, $room_id, $type);
return V($reslut['code'], $reslut['msg'], $reslut['data']);
}

View File

@@ -196,7 +196,11 @@ class GiveGift extends Model
return ['code' => 0, 'msg' => '收礼人收益配置有误', 'data' => null];
}
//收礼人认证歌手等级升级
model('SingerSong')->singerLevelUp($to_id,$gift_price);
model('api/SingerSong')->singerLevelUp($to_id,$gift_price);
//收礼人身价计算
$coin_market_values = explode(',', get_system_config_value('coin_market_value'));
$change_value = ceil($gift_price / ($coin_market_values[0] ?? 100) * ($coin_market_values[1] ?? 1));
model('api/MarketValue')->change($to_id,$change_value,0);
//1聊天送礼物 2房间语聊送礼 3直播送礼 4动态打赏 5系统任务 6-cp房间送礼
if($from_type == 1 || $from_type == 2 || $from_type == 3 ||$from_type == 4 || $from_type == 6){

View File

@@ -1818,7 +1818,7 @@ class Room extends Model
//修改房间类型
// $type //1-交友,2-拍卖7-互娱8-交友不要了9-点唱
// $type 1-交友,2-拍卖7-互娱8-交友不要了9-点唱10-签约
public function change_room_type($uid,$room_id,$type)
{
if(!$uid || !$room_id || !$type){
@@ -1846,10 +1846,14 @@ class Room extends Model
}
}
if($roomInfo['type_id'] == 10 && $roomInfo['sign_type'] != 0){
return ['code' => 0, 'msg' => '请先结束签约后在修改房间类型', 'data' => null];
}
//开启事务
db::startTrans();
$data = [];
if($type == 1 || $type == 3 || $type == 4 || $type == 8 || $type == 9){
if($type == 1 || $type == 3 || $type == 4 || $type == 8 || $type == 9 || $type == 10){
$data = [
'label_id' => 1,
'type_id' => $type,
@@ -1894,12 +1898,19 @@ class Room extends Model
model('RoomPit')->DownPit($v['user_id'], $room_id,$v['pit_number']);
}
}
// db::name('vs_room_pit')->where(['room_id' => $room_id])->update(['user_id' => 0]);
//转到type= 10 签约房 嘉宾麦有人也下麦
if($type == 10){
$jiabin = db::name('vs_room_pit')->where(['room_id' => $room_id,'pit_number' => 10])->value('user_id');
if($jiabin){
model('RoomPit')->DownPit($jiabin, $room_id,10);
}
}
db::name('vs_room_pit_simulate')->where(['room_id' => $room_id])->delete();
//申请上麦的全部下麦
model('RoomPit')->clear_apply_pit_list($uid, $room_id);
if($type == 1 || $type == 3 || $type == 4 || $type == 7 || $type == 8 || $type == 9){
if($type == 1 || $type == 3 || $type == 4 || $type == 7 || $type == 8 || $type == 9 || $type == 10){
//查询拍卖房的状态
$room_auction = db::name('vs_room_auction')->where(['room_id' => $room_id,'status' => 2])->select();
if($room_auction){

View File

@@ -566,6 +566,8 @@ class RoomPit extends Model
$apply_type = 3;//拍卖
}elseif($room_type == 7){
$apply_type = 7;//交友
}elseif($room_type == 10){
$apply_type = 10;//签约
}else{
$apply_type = 1;//聊天
}
@@ -752,6 +754,45 @@ class RoomPit extends Model
];
model('Chat')->sendMsg(1034,$room_id,$text);
return ['code' => 1, 'msg' => $i . '位用户上麦成功', 'data' => null];
}elseif($apply_type == 10){
//签约房1号麦位是 被签约者【徒弟麦】2号麦位是【师傅麦位】3、4、5是老板麦位9号是主持位
$uid = $to_user[0];
//查询是否已经上麦
$on_pit_number = db::name('vs_room_pit')->where(['room_id' => $room_id, 'user_id' => $uid])->value('pit_number');
if ($on_pit_number == 1) {
return ['code' => 0, 'msg' => '用户已在麦上', 'data' => null];
}
//查询1号麦位是否有人
$is_one_pit = db::name('vs_room_pit')->where(['room_id' => $room_id, 'pit_number' => 1])->value('user_id');
if ($is_one_pit) {
return ['code' => 0, 'msg' => '麦位上有人', 'data' => null];
}
//制造上麦信息
$FromUserInfo = db::name('user')->where('id',$uid)->field('id as user_id,nickname,avatar,sex')->find();
$FromUserInfo['icon'][0] = model('UserData')->user_wealth_icon($uid);//财富图标
$FromUserInfo['icon'][1] = model('UserData')->user_charm_icon($uid);//魅力图标
$FromUserInfo['dress'] = model('Decorate')->user_decorate_detail($uid,1);
$FromUserInfo['charm'] = db::name('vs_room_user_charm')->where(['user_id' => $uid,'room_id' => $room_id])->value('charm');
$Nobility = model('api/Nobility')->getUserNobilityInfo($uid);
$FromUserInfo['mic_cycle'] = model('api/Decorate')->user_decorate_detail($uid,3);
$FromUserInfo['nobility_image'] = $Nobility['play_image'];
$FromUserInfo['nickname_color'] = $Nobility['nick_name_color'];
//推送告诉前端上了几号麦位
$text['text'] = $FromUserInfo['nickname'].' 上了签约麦位';
$text['FromUserInfo'] = $FromUserInfo;
$text['pit_number'] = 1;
//聊天室推送系统消息
model('Chat')->sendMsg(1003,$room_id,$text);
//删除他的申请上麦
db::name('vs_room_pit_apply')->where(['user_id' => $uid, 'room_id' => $room_id, 'status' => 0])->delete();
$count = db::name('vs_room_pit_apply')->where(['room_id' => $room_id,'status' => 0])->count();
//申请上麦推送消息
$text = [
'text' => '申请上麦',
'count' => $count
];
model('Chat')->sendMsg(1034,$room_id,$text);
}
}
return ['code' => 0, 'msg' => '请选择申请上麦的用户', 'data' => null];
@@ -881,8 +922,8 @@ class RoomPit extends Model
if($pit_type == 1){
//房间模式
$room_type = db::name('vs_room')->where(['id' => $room_id])->value('type_id');
if($room_type == 2){
return ['code' => 0, 'msg' => '房间模式下,不允许切换麦模式', 'data' => null];
if($room_type == 2 || $room_type == 10){
return ['code' => 0, 'msg' => '房间模式下,不允许切换麦模式', 'data' => null];
}
$type = 2;
}else{
@@ -915,6 +956,40 @@ class RoomPit extends Model
}
if($type == 1){//抱麦
$room_type = db::name('vs_room')->where(['id' => $room_id])->value('type_id');
if($room_type == 10){
//$pit_number 只能是1、3、4、5
if(!in_array($pit_number, [1,3,4,5])){
return ['code' => 0, 'msg' => '签约房抱麦位只能是1、3、4、5', 'data' => null];
}
//麦位上否有人
$on_pit = db::name('vs_room_pit')->where(['room_id' => $room_id, 'pit_number' => $pit_number])->value('user_id');
if($on_pit){
return ['code' => 0, 'msg' => '麦位有人', 'data' => null];
}
//制造上麦信息
$FromUserInfo = db::name('user')->where('id',$accept_user_id)->field('id as user_id,nickname,avatar,sex,market_value')->find();
$FromUserInfo['icon'][0] = model('UserData')->user_wealth_icon($accept_user_id);//财富图标
$FromUserInfo['icon'][1] = model('UserData')->user_charm_icon($accept_user_id);//魅力图标
$FromUserInfo['dress'] = model('Decorate')->user_decorate_detail($accept_user_id,1);
$FromUserInfo['charm'] = db::name('vs_room_user_charm')->where(['user_id' => $accept_user_id,'room_id' => $room_id])->value('charm');
$Nobility = model('api/Nobility')->getUserNobilityInfo($accept_user_id);
$FromUserInfo['mic_cycle'] = model('api/Decorate')->user_decorate_detail($accept_user_id,3);
$FromUserInfo['nobility_image'] = $Nobility['play_image'];
$FromUserInfo['nickname_color'] = $Nobility['nick_name_color'];
//推送告诉前端上了几号麦位
if($pit_number == 1){
$pit_text = '签约麦';
}else{
$pit_text = '老板麦';
}
$text['text'] = $FromUserInfo['nickname'].' 上了 ' . $pit_text;
$text['FromUserInfo'] = $FromUserInfo;
$text['pit_number'] = $pit_number;
//聊天室推送系统消息
model('Chat')->sendMsg(1003,$room_id,$text);
return ['code' => 1, 'msg' => '操作成功', 'data' => null];
}
if($pit_number == 10){
$on_9_pit = db::name('vs_room_pit')->where(['room_id' => $room_id, 'pit_number' => 9])->value('user_id');
if($on_9_pit != $user_id){