签约结束
This commit is contained in:
@@ -580,46 +580,50 @@ class Room extends Model
|
|||||||
}
|
}
|
||||||
|
|
||||||
//用户是否在其他房间
|
//用户是否在其他房间
|
||||||
$room_user = db::name('vs_room_visitor')->where(['user_id' => $user_id])->order('id desc')->value('room_id');
|
// $room_user = db::name('vs_room_visitor')->where(['user_id' => $user_id])->order('id desc')->value('room_id');
|
||||||
if (isset($room_user) && $room_user != $room_id && $room_user != 0) {
|
// if (isset($room_user) && $room_user != $room_id && $room_user != 0) {
|
||||||
//根据所在房间状态判断是否要退出房间并且下麦
|
// //根据所在房间状态判断是否要退出房间并且下麦
|
||||||
$roomInfo = db::name('vs_room')->where(['id' => $room_user,'apply_status' => 2])->find();
|
// $roomInfo = db::name('vs_room')->where(['id' => $room_user,'apply_status' => 2])->find();
|
||||||
if(($roomInfo['type_id'] == 1 || $roomInfo['type_id'] == 3 || $roomInfo['type_id'] == 4 || $roomInfo['type_id'] == 8)&& $roomInfo['label_id'] == 1){
|
// if(($roomInfo['type_id'] == 1 || $roomInfo['type_id'] == 3 || $roomInfo['type_id'] == 4 || $roomInfo['type_id'] == 8)&& $roomInfo['label_id'] == 1){
|
||||||
//退出其他房间
|
// //退出其他房间
|
||||||
$this->quit_room($user_id, $room_user,$user_id);
|
// $this->quit_room($user_id, $room_user,$user_id);
|
||||||
}elseif(($roomInfo['type_id'] == 1 || $roomInfo['type_id'] == 3 || $roomInfo['type_id'] == 4 || $roomInfo['type_id'] == 8)&& $roomInfo['label_id'] == 2){//k歌
|
// }elseif(($roomInfo['type_id'] == 1 || $roomInfo['type_id'] == 3 || $roomInfo['type_id'] == 4 || $roomInfo['type_id'] == 8)&& $roomInfo['label_id'] == 2){//k歌
|
||||||
//他的点歌列表
|
// //他的点歌列表
|
||||||
$song_list = db::name('vs_room_song')->where(['room_id' => $room_user, 'user_id' => $user_id])->select();
|
// $song_list = db::name('vs_room_song')->where(['room_id' => $room_user, 'user_id' => $user_id])->select();
|
||||||
if(count($song_list) > 0){
|
// if(count($song_list) > 0){
|
||||||
foreach ($song_list as $value){
|
// foreach ($song_list as $value){
|
||||||
if($value['status'] == 2 && $value['times_status'] == 1){
|
// if($value['status'] == 2 && $value['times_status'] == 1){
|
||||||
//切歌
|
// //切歌
|
||||||
model('api/RoomSong')->change_song($room_id,$value['did']);
|
// model('api/RoomSong')->change_song($room_id,$value['did']);
|
||||||
}
|
// }
|
||||||
if($value['status'] == 1){
|
// if($value['status'] == 1){
|
||||||
db::name('vs_room_song')->where(['did' => $value['did']])->update(['status' => 3]);
|
// db::name('vs_room_song')->where(['did' => $value['did']])->update(['status' => 3]);
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
//记录用户退出房
|
// //记录用户退出房
|
||||||
$this->quit_room($user_id, $room_user,$user_id);
|
// $this->quit_room($user_id, $room_user,$user_id);
|
||||||
}elseif($roomInfo['type_id'] == 2){
|
// }elseif($roomInfo['type_id'] == 2){
|
||||||
//是否在拍卖位
|
// //是否在拍卖位
|
||||||
$pitNumber = Cache::get('auction_user_'.$room_user);
|
// $pitNumber = Cache::get('auction_user_'.$room_user);
|
||||||
if(isset($pitNumber) && $pitNumber == $user_id){
|
// if(isset($pitNumber) && $pitNumber == $user_id){
|
||||||
//用户在竞拍位 退出且不下麦
|
// //用户在竞拍位 退出且不下麦
|
||||||
//记录用户退出房
|
// //记录用户退出房
|
||||||
db::name('vs_room_visitor')->where(['room_id' => $room_user, 'user_id' => $user_id])->delete();
|
// db::name('vs_room_visitor')->where(['room_id' => $room_user, 'user_id' => $user_id])->delete();
|
||||||
$nickname = db::name('user')->where('id', $user_id)->value('nickname');
|
// $nickname = db::name('user')->where('id', $user_id)->value('nickname');
|
||||||
$text['text'] = '用户 ' . $nickname .' 退出了房间';
|
// $text['text'] = '用户 ' . $nickname .' 退出了房间';
|
||||||
model('api/Chat')->sendMsg(1002,$room_user,$text,$user_id);
|
// model('api/Chat')->sendMsg(1002,$room_user,$text,$user_id);
|
||||||
}else{
|
// }else{
|
||||||
//退出其他房间
|
// //退出其他房间
|
||||||
$this->quit_room($user_id, $room_user,$user_id);
|
// $this->quit_room($user_id, $room_user,$user_id);
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
|
// }
|
||||||
|
|
||||||
}
|
//用户是否在其他房间(重构)
|
||||||
|
//1:其他房间游戏中不让退出 给前端返回房间ID,
|
||||||
|
//2:允许退出,强行退出……
|
||||||
|
|
||||||
//K歌模式下获取歌曲信息
|
//K歌模式下获取歌曲信息
|
||||||
$song_pit_list = null;
|
$song_pit_list = null;
|
||||||
|
|||||||
@@ -35,12 +35,14 @@ class Sign extends Model
|
|||||||
'sign_type' => 1,//签约房状态:0-等待开始,1-进行中
|
'sign_type' => 1,//签约房状态:0-等待开始,1-进行中
|
||||||
'updatetime' => time()
|
'updatetime' => time()
|
||||||
]);
|
]);
|
||||||
|
$market_value = db::name('user')->where('id', $sign_user_id)->value('market_value');
|
||||||
$res = db::name('vs_room_sign')->insertGetId([
|
$res = db::name('vs_room_sign')->insertGetId([
|
||||||
'room_id' => $room_id,
|
'room_id' => $room_id,
|
||||||
'sign_type' => 1,
|
'sign_type' => 1,
|
||||||
'end_time' => time() + 60 * 5,//签约时长5分钟
|
'end_time' => time() + 60 * 5,//签约时长5分钟
|
||||||
'sign_user_id' => $sign_user_id,
|
'sign_user_id' => $sign_user_id,
|
||||||
'sign_day' => $sign_times,
|
'sign_day' => $sign_times,
|
||||||
|
'market_value' => $market_value,
|
||||||
'createtime' => time()
|
'createtime' => time()
|
||||||
]);
|
]);
|
||||||
if($res){
|
if($res){
|
||||||
@@ -48,7 +50,7 @@ class Sign extends Model
|
|||||||
$text['text'] = '开始签约';
|
$text['text'] = '开始签约';
|
||||||
$text['sign_id'] = $res;
|
$text['sign_id'] = $res;
|
||||||
$text['sign_day'] = $sign_times;
|
$text['sign_day'] = $sign_times;
|
||||||
$text['current_body_value'] = db::name('user')->where('id', $sign_user_id)->value('market_value');
|
$text['current_body_value'] = $market_value;
|
||||||
$text['end_time'] = time() + 60 * 5;//签约时长5分钟
|
$text['end_time'] = time() + 60 * 5;//签约时长5分钟
|
||||||
model('api/Chat')->sendMsg(1090,$room_id,$text);
|
model('api/Chat')->sendMsg(1090,$room_id,$text);
|
||||||
|
|
||||||
@@ -219,11 +221,48 @@ class Sign extends Model
|
|||||||
return ['code' => 0, 'msg' => '网络错误,请重试', 'data' => null];
|
return ['code' => 0, 'msg' => '网络错误,请重试', 'data' => null];
|
||||||
}
|
}
|
||||||
//签约
|
//签约
|
||||||
if($sign_user_type == 2 && $before_sign_user == $max_sign_user['user_id']){
|
//根据被签约的用户类型计算给响应用户的金额
|
||||||
$resultt = db::name('vs_user_sign')
|
//减去平台抽成 剩余的给相应的人
|
||||||
->where(['id' => $is_sign['id']])
|
$sign_user_cion = $max_sign_user['sign_value'] * (100 - $sign_app_ratio) / 100;//金币数
|
||||||
->update(['end_time' => time() + $sign_times*24*60*60,'sign_user_type' => $sign_user_type,'type'=>3]);
|
//计算收益
|
||||||
if(!$resultt){
|
$shouyizs = coin_earning($sign_user_cion,100);
|
||||||
|
|
||||||
|
//签过没过期
|
||||||
|
if($sign_user_type == 2){
|
||||||
|
//本次签的还是上次的师傅
|
||||||
|
if($before_sign_user == $max_sign_user['user_id']){
|
||||||
|
$resultt = db::name('vs_user_sign')
|
||||||
|
->where(['id' => $is_sign['id']])
|
||||||
|
->update(['end_time' => time() + $sign_times*24*60*60,'sign_user_type' => $sign_user_type]);
|
||||||
|
if(!$resultt){
|
||||||
|
db::rollback();
|
||||||
|
return ['code' => 0, 'msg' => '网络错误,请重试', 'data' => null];
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
$result5 = db::name('vs_user_sign')->where(['id' => $is_sign['id']])
|
||||||
|
->update(['end_time' => time(),'type' => 3]);
|
||||||
|
if(!$result5){
|
||||||
|
db::rollback();
|
||||||
|
return ['code' => 0, 'msg' => '网络错误,请重试', 'data' => null];
|
||||||
|
}
|
||||||
|
$data = [
|
||||||
|
'parent_user_id' => $max_sign_user['user_id'],
|
||||||
|
'sign_user_id' => $max_sign_user['sign_user_id'],
|
||||||
|
'sign_user_type' => $sign_user_type,
|
||||||
|
'sign_times' => $sign_times*24*60*60,
|
||||||
|
'end_time' => time() + $sign_times*24*60*60,
|
||||||
|
'createtime' => time(),
|
||||||
|
];
|
||||||
|
$result11 = db::name('vs_user_sign')->insert($data);
|
||||||
|
if(!$result11){
|
||||||
|
db::rollback();
|
||||||
|
return ['code' => 0, 'msg' => '网络错误,请重试', 'data' => null];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//签过没过期 给上任签约者
|
||||||
|
$result4 = model('api/GiveGift') -> change_user_cion_or_earnings_log($before_sign_user,$shouyizs,$room_id,2,54,'解约补偿');
|
||||||
|
if(!$result4){
|
||||||
db::rollback();
|
db::rollback();
|
||||||
return ['code' => 0, 'msg' => '网络错误,请重试', 'data' => null];
|
return ['code' => 0, 'msg' => '网络错误,请重试', 'data' => null];
|
||||||
}
|
}
|
||||||
@@ -241,6 +280,33 @@ class Sign extends Model
|
|||||||
db::rollback();
|
db::rollback();
|
||||||
return ['code' => 0, 'msg' => '网络错误,请重试', 'data' => null];
|
return ['code' => 0, 'msg' => '网络错误,请重试', 'data' => null];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if($sign_user_type == 0){
|
||||||
|
//首次签约 给被签约的人
|
||||||
|
$result4 = model('api/GiveGift') -> change_user_cion_or_earnings_log($max_sign_user['sign_user_id'],$shouyizs,$room_id,2,52,'被首次签约成功收入');
|
||||||
|
if(!$result4){
|
||||||
|
db::rollback();
|
||||||
|
return ['code' => 0, 'msg' => '网络错误,请重试', 'data' => null];
|
||||||
|
}
|
||||||
|
}elseif ($sign_user_type == 1){
|
||||||
|
//签过 给被签约的人分七天给他
|
||||||
|
// 数据插入 循环插入7条数据 day 取值是今天开始连续七天 的每一天的值 到天
|
||||||
|
for ($i = 0; $i < 7; $i++){
|
||||||
|
$data1 = [
|
||||||
|
'user_id' => $max_sign_user['sign_user_id'],
|
||||||
|
'value' => round($shouyizs/7, 4),
|
||||||
|
'day' => date('Y-m-d', strtotime("+$i days")), // 从今天开始连续七天的日期
|
||||||
|
'times' => $i+1,
|
||||||
|
'createtime' => time()
|
||||||
|
];
|
||||||
|
// 插入数据库
|
||||||
|
$result[$i] = db::name('vs_user_sign_task')->insert($data1);
|
||||||
|
if(!$result[$i]){
|
||||||
|
db::rollback();
|
||||||
|
return ['code' => 0, 'msg' => '网络错误,请重试', 'data' => null];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//查看当前出价用户是否创建家族
|
//查看当前出价用户是否创建家族
|
||||||
@@ -287,68 +353,6 @@ class Sign extends Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//根据被签约的用户类型计算给响应用户的金额
|
|
||||||
//减去平台抽成 剩余的给相应的人
|
|
||||||
$sign_user_cion = $max_sign_user['sign_value'] * (100 - $sign_app_ratio) / 100;//金币数
|
|
||||||
//计算收益
|
|
||||||
$shouyizs = coin_earning($sign_user_cion,100);
|
|
||||||
if($sign_user_type == 0){
|
|
||||||
//首次签约 给被签约的人
|
|
||||||
$result4 = model('api/GiveGift') -> change_user_cion_or_earnings_log($max_sign_user['sign_user_id'],$shouyizs,$room_id,2,52,'被首次签约成功收入');
|
|
||||||
if(!$result4){
|
|
||||||
db::rollback();
|
|
||||||
return ['code' => 0, 'msg' => '网络错误,请重试', 'data' => null];
|
|
||||||
}
|
|
||||||
}elseif ($sign_user_type == 1){
|
|
||||||
//签过 给被签约的人分七天给他
|
|
||||||
// 数据插入 循环插入7条数据 day 取值是今天开始连续七天 的每一天的值 到天
|
|
||||||
for ($i = 0; $i < 7; $i++){
|
|
||||||
$data1 = [
|
|
||||||
'user_id' => $max_sign_user['sign_user_id'],
|
|
||||||
'value' => round($shouyizs/7, 4),
|
|
||||||
'day' => date('Y-m-d', strtotime("+$i days")), // 从今天开始连续七天的日期
|
|
||||||
'times' => $i+1,
|
|
||||||
'createtime' => time()
|
|
||||||
];
|
|
||||||
// 插入数据库
|
|
||||||
$result[$i] = db::name('vs_user_sign_task')->insert($data1);
|
|
||||||
if(!$result[$i]){
|
|
||||||
db::rollback();
|
|
||||||
return ['code' => 0, 'msg' => '网络错误,请重试', 'data' => null];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}elseif ($sign_user_type == 2){
|
|
||||||
////签过没过期 本次签的还是上次的师傅
|
|
||||||
if($before_sign_user == $max_sign_user['user_id']){
|
|
||||||
//这里需要确定给徒弟给多少
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$sign_user_c = $max_sign_user['sign_value'] * (100 - get_system_config_value('first_sign_app_ratio')) / 100;//金币数
|
|
||||||
$money = coin_earning($sign_user_c,100);
|
|
||||||
$result4 = model('api/GiveGift') -> change_user_cion_or_earnings_log($max_sign_user['sign_user_id'],$money,$room_id,2,54,'解约补偿');
|
|
||||||
if(!$result4){
|
|
||||||
db::rollback();
|
|
||||||
return ['code' => 0, 'msg' => '网络错误,请重试', 'data' => null];
|
|
||||||
}
|
|
||||||
}else{
|
|
||||||
//签过没过期 给上任签约者
|
|
||||||
$result4 = model('api/GiveGift') -> change_user_cion_or_earnings_log($before_sign_user,$shouyizs,$room_id,2,54,'解约补偿');
|
|
||||||
if(!$result4){
|
|
||||||
db::rollback();
|
|
||||||
return ['code' => 0, 'msg' => '网络错误,请重试', 'data' => null];
|
|
||||||
}
|
|
||||||
//上任签约信息修改
|
|
||||||
if($is_sign){
|
|
||||||
$result5 = db::name('vs_user_sign')->where(['id' => $is_sign['id']])
|
|
||||||
->update(['end_time' => time(),'type' => 3]);
|
|
||||||
if(!$result5){
|
|
||||||
db::rollback();
|
|
||||||
return ['code' => 0, 'msg' => '网络错误,请重试', 'data' => null];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
//修改房间信息
|
//修改房间信息
|
||||||
$res1 = db::name('vs_room')->where('id',$room_id)->update([
|
$res1 = db::name('vs_room')->where('id',$room_id)->update([
|
||||||
'sign_type' => 0,
|
'sign_type' => 0,
|
||||||
@@ -371,8 +375,8 @@ class Sign extends Model
|
|||||||
return ['code' => 0, 'msg' => '用户等级更新失败', 'data' => null];
|
return ['code' => 0, 'msg' => '用户等级更新失败', 'data' => null];
|
||||||
}
|
}
|
||||||
|
|
||||||
//获取用户的身价
|
//获取用户签约开始的身价
|
||||||
$market_value = db::name('user')->where('id',$sign_user_id)->value('market_value');
|
$market_value = $sign['market_value'];
|
||||||
$sign_values = $max_sign_user['sign_value'] - $market_value;
|
$sign_values = $max_sign_user['sign_value'] - $market_value;
|
||||||
//更新用户的身价并且添加记录 此时增长的身价是出价 这个出价就是身价溢价
|
//更新用户的身价并且添加记录 此时增长的身价是出价 这个出价就是身价溢价
|
||||||
$dd = model('api/MarketValue')->change($sign_user_id,$sign_values,3);
|
$dd = model('api/MarketValue')->change($sign_user_id,$sign_values,3);
|
||||||
|
|||||||
Reference in New Issue
Block a user