签约 相关 参数调整

This commit is contained in:
2025-11-27 18:00:27 +08:00
parent 87eb493259
commit 6d75474d17
4 changed files with 107 additions and 15 deletions

View File

@@ -10,7 +10,8 @@ class Sign extends BaseCom
//签约出价价格列表
public function sign_coin_list()
{
$user_id = input('user_id', 0);//签约麦 用户id
$sign_id = input('sign_id', 0);//场次id
$user_id = db::name('vs_room_sign')->where('id', $sign_id)->value('sign_user_id');
//获取当前用户的身价
$market_value = db::name('user')->where('id', $user_id)->value('market_value');
$sign_market_value = get_system_config_value('sign_market_value');
@@ -40,14 +41,16 @@ class Sign extends BaseCom
//签约出价
public function sign_coin()
{
$user_id = input('user_id', 0);
$sign_id = input('sign_id', 0);//场次id
$sign_value = input('sign_value', 0);
$room_id = input('room_id', 0);
$sign_time = input('sign_id', 0);
if ($sign_value <= 0 || $user_id <= 0 || $room_id <= 0) {
if ($sign_value <= 0 || $sign_id <= 0) {
return ['code' => 0, 'msg' => '参数错误'];
}
$reslut = model('Sign')->sign_coin($this->uid, $room_id, $user_id, $sign_value,$sign_time);
$sign = db::name('vs_room_sign')->where('id', $sign_id)->field('room_id,sign_user_id')->find();
$user_id = $sign['sign_user_id'];
$room_id = $sign['room_id'];
$reslut = model('Sign')->sign_coin($this->uid, $room_id, $user_id, $sign_value,$sign_id);
return V($reslut['code'], $reslut['msg'], $reslut['data']);
}
@@ -56,13 +59,15 @@ class Sign extends BaseCom
//签约结束
public function end_sign()
{
$sign_time = input('sign_id', 0);
$room_id = input('room_id', 0);
$user_id = input('user_id', 0);
if ($sign_time <= 0 || $room_id <= 0) {
$sign_id = input('sign_id', 0);
if ($sign_id <= 0) {
return ['code' => 0, 'msg' => '参数错误'];
}
$reslut = model('Sign')->end_sign($this->uid, $room_id, $sign_time,$user_id);
$sign = db::name('vs_room_sign')->where('id', $sign_id)->field('room_id,sign_user_id')->find();
$user_id = $sign['sign_user_id'];
$room_id = $sign['room_id'];
$reslut = model('Sign')->end_sign($this->uid, $room_id, $sign_id,$user_id);
return V($reslut['code'], $reslut['msg'], $reslut['data']);
}
@@ -71,10 +76,11 @@ class Sign extends BaseCom
public function sign_delay()
{
$sign_id = input('sign_id', 0);
$room_id = input('room_id', 0);
if ($sign_id <= 0 || $room_id <= 0) {
if ($sign_id <= 0) {
return ['code' => 0, 'msg' => '参数错误'];
}
$sign = db::name('vs_room_sign')->where('id', $sign_id)->field('room_id,sign_user_id')->find();
$room_id = $sign['room_id'];
$reslut = model('Sign')->sign_delay($this->uid, $room_id, $sign_id);
return V($reslut['code'], $reslut['msg'], $reslut['data']);
}

View File

@@ -631,7 +631,7 @@ class Room extends Model
$user_pit = 0;
$pit_list = [];
$cp_users = null;
if($room['type_id'] == 1 || $room['type_id'] == 3 || $room['type_id'] == 4 || $room['type_id'] == 7 || $room['type_id'] == 8 || $room['type_id'] == 9) {//1点唱3男神4女神
if($room['type_id'] == 1 || $room['type_id'] == 3 || $room['type_id'] == 4 || $room['type_id'] == 7 || $room['type_id'] == 8 || $room['type_id'] == 9 || $room['type_id'] == 10) {//1点唱3男神4女神
if($room['label_id'] == 2){//K歌
$song = $this->get_song_info($room_id,$user_id);
$song_list = $song['song_user_info'];
@@ -929,6 +929,7 @@ class Room extends Model
$room_sign = db::name('vs_room_sign')->where('room_id', $room_id)->order('id desc')->find();
if($room_sign){
$sign_info = [
'sign_id' => $room_sign['id'],
'sign_status' => $room_sign['sign_type'],
'sign_day' => $room_sign['sign_day'],
'current_body_value' => db::name('user')->where('id', $room_sign['sign_user_id'])->value('market_value'),
@@ -936,6 +937,7 @@ class Room extends Model
];
}else{
$sign_info = [
'sign_id' => 0,
'sign_status' => 0,
'sign_day' => 0,
'current_body_value' => 0,

View File

@@ -172,7 +172,7 @@ class RoomPit extends Model
if($pit_number <= 0){
$pit_number = db::name('vs_room_pit')->where(['room_id' => $room_id, 'user_id' => $user_id])->value('pit_number');
}
$down = $this->where(['room_id' => $room_id, 'user_id' => $user_id])->update(['user_id' => 0]);
$down = $this->where(['room_id' => $room_id, 'user_id' => $user_id])->update(['user_id' => 0, 'before_pit_number' => 0]);
if(!$down){
return ['code' => 0, 'msg' => '下麦失败', 'data' => null];
}

View File

@@ -127,6 +127,8 @@ class Sign extends Model
}
//提交数据
db::commit();
//处理麦位
$this->pit_number($room_id,$sign_user['user_id'],1);
//给前端推送数据
$FromUserInfo = db::name('user')->where('id',$sign_user['user_id'])->field('id as user_id,nickname,avatar,sex')->find();
$FromUserInfo['icon'][0] = model('api/UserData')->user_wealth_icon($sign_user['user_id']);//财富图标
@@ -333,11 +335,93 @@ class Sign extends Model
$text['ToUserInfo'] = $ToUserInfo;
$text['sign_value'] = $max_sign_user['sign_value'];
model('api/Chat')->sendMsg(1092,$room_id,$text);
//处理麦位
$this->pit_number($room_id,0,0);
return ['code' => 1, 'msg' => '操作成功', 'data' => null];
}
/*
* 麦位处理
*
*/
public function pit_number($room_id,$user_id = 0,$type = 0){
if($type == 1){//上麦或者换麦
//获取房间2号位上的用户
$on_pit_user = db::name('vs_room_pit')
->where(['room_id' => $room_id,'pit_number' => 2])->field('before_pit_number,user_id')->find();
//处理2号位
if($on_pit_user['user_id']){
//获取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');
//有用户 就下麦
if($before_pit_number){
model('api/RoomPit')->DownPit($on_pit_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']]);
$FromUserInfo = db::name('user')->where('id',$on_pit_user['user_id'])->field('id as user_id,nickname,avatar,sex')->find();
$FromUserInfo['icon'][0] = model('UserData')->user_wealth_icon($on_pit_user['user_id']);//财富图标
$FromUserInfo['icon'][1] = model('UserData')->user_charm_icon($on_pit_user['user_id']);//魅力图标
$FromUserInfo['dress'] = model('Decorate')->user_decorate_detail($on_pit_user['user_id'],1);
$FromUserInfo['charm'] = db::name('vs_room_user_charm')->where(['user_id' => $on_pit_user['user_id'],'room_id' => $room_id])->value('charm');
$Nobility = model('api/Nobility')->getUserNobilityInfo($on_pit_user['user_id']);
$FromUserInfo['nobility_info'] = $Nobility;
$FromUserInfo['mic_cycle'] = model('api/Decorate')->user_decorate_detail($on_pit_user['user_id'],3);
$FromUserInfo['nobility_image'] = $Nobility['play_image'];
$FromUserInfo['nickname_color'] = $Nobility['nick_name_color'];
$text['text'] = $FromUserInfo['nickname'].' 换到老板位';
$text['FromUserInfo'] = $FromUserInfo;
$text['from_pit_number'] = 2;
$text['to_pit_number'] = $on_pit_user['before_pit_number'];
model('Chat')->sendMsg(1039,$room_id,$text);
}
}else{
//判断是否在麦位上
$on_pit = db::name('vs_room_pit')->where(['room_id' => $room_id,'user_id'=>$user_id])->value('pit_number');
if($on_pit){
db::name('vs_room_pit')->where(['room_id' => $room_id, 'pit_number' => $on_pit])
->update([ 'before_pit_number' => $on_pit,'pit_number' => 0]);
db::name('vs_room_pit')->where(['room_id' => $room_id, 'pit_number' => 2])
->update(['user_id'=>$user_id]);
$FromUserInfo = db::name('user')->where('id',$on_pit_user['user_id'])->field('id as user_id,nickname,avatar,sex')->find();
$FromUserInfo['icon'][0] = model('UserData')->user_wealth_icon($on_pit_user['user_id']);//财富图标
$FromUserInfo['icon'][1] = model('UserData')->user_charm_icon($on_pit_user['user_id']);//魅力图标
$FromUserInfo['dress'] = model('Decorate')->user_decorate_detail($on_pit_user['user_id'],1);
$FromUserInfo['charm'] = db::name('vs_room_user_charm')->where(['user_id' => $on_pit_user['user_id'],'room_id' => $room_id])->value('charm');
$Nobility = model('api/Nobility')->getUserNobilityInfo($on_pit_user['user_id']);
$FromUserInfo['nobility_info'] = $Nobility;
$FromUserInfo['mic_cycle'] = model('api/Decorate')->user_decorate_detail($on_pit_user['user_id'],3);
$FromUserInfo['nobility_image'] = $Nobility['play_image'];
$FromUserInfo['nickname_color'] = $Nobility['nick_name_color'];
$text['text'] = $FromUserInfo['nickname'].' 换到老板位';
$text['FromUserInfo'] = $FromUserInfo;
$text['from_pit_number'] = $on_pit;
$text['to_pit_number'] = 2;
model('Chat')->sendMsg(1039,$room_id,$text);
}else{
model('api/RoomPit')->OnPit($user_id, $room_id, 2);
}
}
}else{//下麦
//在麦位上的用户 全部下麦
$on_pit = db::name('vs_room_pit')->where(['room_id' => $room_id,'status' => 1,'user_id'=>['>',0],'pit_number' => ['<',3]])->select();
if($on_pit){
foreach ($on_pit as $v){
model('RoomPit')->DownPit($v['user_id'], $room_id,$v['pit_number']);
}
}
}
return true;
}
/*
* 签约延时
* @param $user_id 用户id