送礼记录往后放
This commit is contained in:
@@ -98,13 +98,6 @@ class SendGift extends Model
|
||||
$receive_gift_total = $gift_price;//收礼人收到的礼物总值
|
||||
$gift_box = [];//开出的盲盒
|
||||
|
||||
//收礼记录行为日志
|
||||
$give_gift = $this -> change_user_give_gift_log($uid,$gid,$gift_price,$num,$to_uid,2,$type,$p_room_id,'小黑屋房间');
|
||||
if(!$give_gift){
|
||||
Db::rollback();
|
||||
return ['code' => 0, 'msg' => '送礼失败,请重试!', 'data' => null];
|
||||
}
|
||||
|
||||
//计算收礼人得益 //1聊天送礼物 2房间语聊送礼 3直播送礼 4动态打赏 99房主收益 98主持人收益
|
||||
$receiver_earnings = model('GiveGift') -> receiver_earnings($to_uid,$receive_gift_total,2);
|
||||
if($receiver_earnings > 0){
|
||||
@@ -198,6 +191,13 @@ class SendGift extends Model
|
||||
}
|
||||
}
|
||||
|
||||
//收礼记录行为日志
|
||||
$give_gift = $this -> change_user_give_gift_log($uid,$gid,$gift_price,$num,$to_uid,2,$type,$p_room_id,'小黑屋房间');
|
||||
if(!$give_gift){
|
||||
Db::rollback();
|
||||
return ['code' => 0, 'msg' => '送礼失败,请重试!', 'data' => null];
|
||||
}
|
||||
|
||||
//记录送礼利率和各方收益
|
||||
//平台收益 = 总金额 - 收礼人收益 - 房主收益 - 工会长收益
|
||||
$room_owner_ratio = get_system_config_value('room_author_ratio');
|
||||
@@ -218,13 +218,11 @@ class SendGift extends Model
|
||||
Db::commit();
|
||||
|
||||
//推送消息 私密房 倒计时增加
|
||||
$value = db::name('vs_room_bar_movie')->where('room_id', $room_id)
|
||||
->value('end_time');
|
||||
if($value){
|
||||
$add_time_str = get_system_config_value('room_bar_movie_add_time') ?? '10,1';//默认10金币增加1秒
|
||||
//变成数组
|
||||
$add_time_array = explode(',', $add_time_str);
|
||||
$add_time = floor($receive_gift_total/$add_time_array[0])*$add_time_array[1];
|
||||
$add_time_str = get_system_config_value('room_bar_movie_add_time') ?? '10,1';//默认10金币增加1秒
|
||||
//变成数组
|
||||
$add_time_array = explode(',', $add_time_str);
|
||||
$add_time = floor($receive_gift_total/$add_time_array[0])*$add_time_array[1];
|
||||
if($add_time > 0){
|
||||
db::name('vs_room_bar_movie')->where('room_id', $room_id)
|
||||
->setInc('end_time', $add_time);//1金币加1秒
|
||||
$text111 = [
|
||||
@@ -269,7 +267,6 @@ class SendGift extends Model
|
||||
}
|
||||
|
||||
$receive_gift_total = 0;//收礼人收到的礼物总值
|
||||
$give_gift = 0;//送礼记录表ID(雪花ID)
|
||||
$gift_box = [];//开出的盲盒
|
||||
|
||||
//查询礼物是否是盲盒
|
||||
@@ -284,22 +281,12 @@ class SendGift extends Model
|
||||
$gift_box[$i] = $gift_box1[$i]['data'];
|
||||
//开出的礼物价值
|
||||
$receive_gift_total += $gift_box[$i]['gift_price'];
|
||||
//记录一下收礼记录
|
||||
$give_gift = $this -> change_user_give_gift_log($uid,$gift_box[$i]['gift_id'],$gift_box[$i]['gift_price'],1,$to_uid,2,$type,$room_id,'',0,2);
|
||||
if(!$give_gift){
|
||||
Db::rollback();
|
||||
return ['code' => 0, 'msg' => '送礼失败,请重试!!', 'data' => null];
|
||||
}
|
||||
|
||||
Log::record("送礼开出盲盒礼物信息:".json_encode($gift_box1),"info");
|
||||
}
|
||||
}else{
|
||||
$receive_gift_total = $gift_price;
|
||||
//收礼记录行为日志
|
||||
$give_gift = $this -> change_user_give_gift_log($uid,$gid,$gift_price,$num,$to_uid,2,$type,$room_id,'');
|
||||
if(!$give_gift){
|
||||
Db::rollback();
|
||||
return ['code' => 0, 'msg' => '送礼失败,请重试!', 'data' => null];
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//计算收礼人得益 //1聊天送礼物 2房间语聊送礼 3直播送礼 4动态打赏 99房主收益 98主持人收益
|
||||
@@ -433,6 +420,27 @@ class SendGift extends Model
|
||||
}
|
||||
}
|
||||
|
||||
$give_gift = 0;//送礼记录表ID(雪花ID)
|
||||
if($gift_info['label'] == 2) {//趣味礼物(盲盒)
|
||||
if($gift_box){
|
||||
foreach ($gift_box as $i => $v){
|
||||
//记录一下收礼记录
|
||||
$give_gift = $this -> change_user_give_gift_log($uid,$v['gift_id'],$v['gift_price'],1,$to_uid,2,$type,$room_id,'',0,2);
|
||||
if(!$give_gift){
|
||||
Db::rollback();
|
||||
return ['code' => 0, 'msg' => '送礼失败,请重试!!', 'data' => null];
|
||||
}
|
||||
}
|
||||
}
|
||||
}else{
|
||||
//收礼记录行为日志
|
||||
$give_gift = $this -> change_user_give_gift_log($uid,$gid,$gift_price,$num,$to_uid,2,$type,$room_id,'');
|
||||
if(!$give_gift){
|
||||
Db::rollback();
|
||||
return ['code' => 0, 'msg' => '送礼失败,请重试!', 'data' => null];
|
||||
}
|
||||
}
|
||||
|
||||
//记录送礼利率和各方收益
|
||||
//平台收益 = 总金额 - 收礼人收益 - 房主收益 - 工会长收益
|
||||
$room_owner_ratio = get_system_config_value('room_author_ratio');
|
||||
@@ -744,9 +752,6 @@ class SendGift extends Model
|
||||
|
||||
}
|
||||
|
||||
|
||||
$give_gift = 0;//送礼记录表ID(雪花ID)
|
||||
$gift_box = [];//开出的盲盒
|
||||
$room_hotvalue = 0;//房间热度(所有收礼人的礼物总值)
|
||||
$gift_user_data = [];//收礼人收礼金币总和,交友和参与拍卖使用;
|
||||
$label_text = '';//酒吧房撩TA的信息
|
||||
@@ -755,6 +760,8 @@ class SendGift extends Model
|
||||
foreach ($to_array as $k => $to_uid){
|
||||
$gift_user_data[]['user_id'] = $to_uid;
|
||||
$receive_gift_total = 0;//收礼人收到的礼物总值
|
||||
$gift_box = [];//开出的盲盒
|
||||
$give_gift = 0;//送礼记录表ID(雪花ID)
|
||||
//送礼 开启事务
|
||||
Db::startTrans();
|
||||
|
||||
@@ -786,22 +793,11 @@ class SendGift extends Model
|
||||
$gift_box[$i] = $gift_box1[$i]['data'];
|
||||
//开出的礼物价值
|
||||
$receive_gift_total += $gift_box[$i]['gift_price'];
|
||||
//记录一下收礼记录
|
||||
$give_gift = $this -> change_user_give_gift_log($uid,$gift_box[$i]['gift_id'],$gift_box[$i]['gift_price'],1,$to_uid,2,$type,$room_id,'',0,2);
|
||||
if(!$give_gift){
|
||||
Db::rollback();
|
||||
return ['code' => 0, 'msg' => '送礼失败,请重试!!', 'data' => null];
|
||||
}
|
||||
|
||||
Log::record("送礼开出盲盒礼物信息:".json_encode($gift_box1),"info");
|
||||
}
|
||||
}else{
|
||||
$receive_gift_total = $gift_price;
|
||||
//收礼记录行为日志
|
||||
$give_gift = $this -> change_user_give_gift_log($uid,$gid,$gift_price,$num,$to_uid,2,$type,$room_id,'');
|
||||
if(!$give_gift){
|
||||
Db::rollback();
|
||||
return ['code' => 0, 'msg' => '送礼失败,请重试!', 'data' => null];
|
||||
}
|
||||
}
|
||||
$gift_user_data[$k]['gift_price'] = $receive_gift_total;
|
||||
|
||||
@@ -897,6 +893,26 @@ class SendGift extends Model
|
||||
}
|
||||
}
|
||||
|
||||
if($gift_info['label'] == 2) {//趣味礼物(盲盒)
|
||||
if($gift_box){
|
||||
foreach ($gift_box as $i => $v){
|
||||
//记录一下收礼记录
|
||||
$give_gift = $this -> change_user_give_gift_log($uid,$v['gift_id'],$v['gift_price'],1,$to_uid,2,$type,$room_id,'',0,2);
|
||||
if(!$give_gift){
|
||||
Db::rollback();
|
||||
return ['code' => 0, 'msg' => '送礼失败,请重试!!', 'data' => null];
|
||||
}
|
||||
}
|
||||
}
|
||||
}else{
|
||||
//收礼记录行为日志
|
||||
$give_gift = $this -> change_user_give_gift_log($uid,$gid,$gift_price,$num,$to_uid,2,$type,$room_id,'');
|
||||
if(!$give_gift){
|
||||
Db::rollback();
|
||||
return ['code' => 0, 'msg' => '送礼失败,请重试!', 'data' => null];
|
||||
}
|
||||
}
|
||||
|
||||
//记录送礼利率和各方收益
|
||||
//平台收益 = 总金额 - 收礼人收益 - 房主收益 - 工会长收益
|
||||
$room_owner_ratio = get_system_config_value('room_author_ratio');
|
||||
@@ -1093,9 +1109,9 @@ class SendGift extends Model
|
||||
$gift_info = Db::name('vs_gift')->where(['gid'=>$gid])
|
||||
->field('gid as gift_id,gift_name,gift_price,file_type,base_image,play_image,gift_type,label,is_public_server')->find();
|
||||
|
||||
if(empty($gift_info)){
|
||||
return ['code' => 0, 'msg' => '礼物已下架,请重新选择!', 'data' => null];
|
||||
}
|
||||
// if(empty($gift_info)){
|
||||
// return ['code' => 0, 'msg' => '礼物已下架,请重新选择!', 'data' => null];
|
||||
// }
|
||||
|
||||
$mobile = Db::name('user')->where(['id'=>$to_uid])->value('mobile');
|
||||
$is_real = db::name('user_auth')->where('mobile' , $mobile)->value('is_real');
|
||||
@@ -1105,24 +1121,13 @@ class SendGift extends Model
|
||||
|
||||
$room_type = model('Room')->get_room_type($room_id);
|
||||
|
||||
//获取送礼用户信息
|
||||
$FromUserInfo = model('User')->get_user_base_info($uid);
|
||||
|
||||
//送给一人礼物的总价格
|
||||
$gift_price = $gift_info['gift_price'] * $num;
|
||||
|
||||
//送礼 开启事务
|
||||
Db::startTrans();
|
||||
$receive_gift_total = $gift_price;//收礼人收到的礼物总值
|
||||
$give_gift = 0;//送礼记录表ID(雪花ID)
|
||||
$gift_box = [];//开出的盲盒
|
||||
|
||||
//收礼记录行为日志
|
||||
$give_gift = $this -> change_user_give_gift_log($uid,$gid,$gift_price,$num,$to_uid,2,$type,$room_id,'');
|
||||
if(!$give_gift){
|
||||
Db::rollback();
|
||||
return ['code' => 0, 'msg' => '送礼失败,请重试!', 'data' => null];
|
||||
}
|
||||
//计算收礼人得益 //1聊天送礼物 2房间语聊送礼 3直播送礼 4动态打赏 99房主收益 98主持人收益
|
||||
$receiver_earnings = model('GiveGift') -> receiver_earnings($to_uid,$receive_gift_total,2);
|
||||
if($receiver_earnings > 0){
|
||||
@@ -1141,118 +1146,87 @@ class SendGift extends Model
|
||||
return ['code' => 0, 'msg' => '用户等级更新失败', 'data' => null];
|
||||
}
|
||||
|
||||
$room_owner_earnings = 0;//房主收益
|
||||
$guild_earnings = 0;//公会会长收益
|
||||
$guid_ratio = 0;//公会长收益率
|
||||
$receive_ratio = get_system_config_value('room_gift_ratio');//房间收礼人收益
|
||||
|
||||
if($room_type == 6){ //cp电影房
|
||||
//房主有收益 room_cp_room_user_ratio
|
||||
if(get_system_config_value('room_cp_room_user_ratio') > 0){
|
||||
$room_owner = Db::name('vs_room')->where(['id'=>$room_id,'apply_status'=>2])->value('user_id');
|
||||
//计算房主收益//room_author_ratio //1聊天送礼物 2房间语聊送礼 3直播送礼 4动态打赏 99房主收益 98主持人收益 699-cp房房主收益
|
||||
$room_owner_earnings = model('GiveGift') -> receiver_earnings($room_owner,$receive_gift_total,699);
|
||||
if($room_owner_earnings > 0){
|
||||
//增加收益并记录日志
|
||||
$room_owner_earning = model('api/UserWallet')
|
||||
->change_user_earnings_log($room_owner,$room_owner_earnings,$room_id,18,'私密房主收益');
|
||||
if(!$room_owner_earning){
|
||||
$room_owner = Db::name('vs_room')->where(['id'=>$room_id,'apply_status'=>2])->value('user_id');
|
||||
//计算房主收益//room_author_ratio
|
||||
$room_owner_earnings = model('GiveGift') -> receiver_earnings($room_owner,$receive_gift_total,99);//结果是钻石
|
||||
if($room_owner_earnings > 0){
|
||||
//在主持位的主持人
|
||||
$host_id = Db::name('vs_room_pit')->where(['room_id'=>$room_id,'pit_number'=>9])->value('user_id');
|
||||
if($host_id){
|
||||
//计算主持人收益
|
||||
$ratio = db::name('vs_room_host')->where(['room_id'=>$room_id,'user_id'=>$to_uid,'delete_time'=>null,'type'=>1])->value('ratio');
|
||||
if(!$ratio){
|
||||
$ratio = 0;
|
||||
}
|
||||
$host_earnings = round($room_owner_earnings * $ratio / 100,4);
|
||||
if($host_earnings > 0){
|
||||
//增加主持人收益并记录日志
|
||||
$host_earnings_earning = model('api/UserWallet')->change_user_earnings_log($host_id,$host_earnings,$room_id,19,'主持人收益');
|
||||
if(!$host_earnings_earning){
|
||||
Db::rollback();
|
||||
return ['code' => 0, 'msg' => '网络错误-5', 'data' => null];
|
||||
return ['code' => 0, 'msg' => '网络错误-7', 'data' => null];
|
||||
}
|
||||
}
|
||||
}
|
||||
//公会长收益
|
||||
if(get_system_config_value('room_cp_guild_user_ratio') > 0){
|
||||
$guild_id = Db::name('vs_guild_user')->where(['user_id'=>$to_uid,'status'=>1])->value('guild_id');
|
||||
if($guild_id){
|
||||
$room_guild = Db::name('vs_guild')->where(['id'=>$guild_id])->value('user_id');
|
||||
//计算会长收益 //1聊天送礼物 2房间语聊送礼 3直播送礼 4动态打赏 99房主收益 98主持人收益 699-cp房房主收益 698 - cp房里面收益 公会长收益
|
||||
$guild_earnings = model('GiveGift') -> receiver_earnings($room_guild,$receive_gift_total,698);
|
||||
if($guild_earnings > 0){
|
||||
//增加收益并记录日志
|
||||
$guild_earnings_in = model('api/UserWallet')
|
||||
->change_user_earnings_log($room_guild,$guild_earnings,$room_id,21,'私密房工会长收益');
|
||||
if(!$guild_earnings_in){
|
||||
Db::rollback();
|
||||
return ['code' => 0, 'msg' => '网络错误-6', 'data' => null];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}else{
|
||||
$room_owner = Db::name('vs_room')->where(['id'=>$room_id,'apply_status'=>2])->value('user_id');
|
||||
//计算房主收益//room_author_ratio
|
||||
$room_owner_earnings = model('GiveGift') -> receiver_earnings($room_owner,$receive_gift_total,99);//结果是钻石
|
||||
if($room_owner_earnings > 0){
|
||||
//在主持位的主持人
|
||||
$host_id = Db::name('vs_room_pit')->where(['room_id'=>$room_id,'pit_number'=>9])->value('user_id');
|
||||
if($host_id){
|
||||
//计算主持人收益
|
||||
$ratio = db::name('vs_room_host')->where(['room_id'=>$room_id,'user_id'=>$to_uid,'delete_time'=>null,'type'=>1])->value('ratio');
|
||||
if(!$ratio){
|
||||
$ratio = 0;
|
||||
}
|
||||
$host_earnings = round($room_owner_earnings * $ratio / 100,4);
|
||||
if($host_earnings > 0){
|
||||
//增加主持人收益并记录日志
|
||||
$host_earnings_earning = model('api/UserWallet')->change_user_earnings_log($host_id,$host_earnings,$room_id,19,'主持人收益');
|
||||
if(!$host_earnings_earning){
|
||||
Db::rollback();
|
||||
return ['code' => 0, 'msg' => '网络错误-7', 'data' => null];
|
||||
}
|
||||
//增加房主收益并记录日志
|
||||
$room_owner_earningss = $room_owner_earnings - $host_earnings;
|
||||
if($room_owner_earningss > 0){
|
||||
$room_owner_earning = model('api/UserWallet')->change_user_earnings_log($room_owner,$room_owner_earningss,$room_id,18,'房主收益');
|
||||
if(!$room_owner_earning){
|
||||
Db::rollback();
|
||||
return ['code' => 0, 'msg' => '网络错误-8', 'data' => null];
|
||||
}
|
||||
}
|
||||
|
||||
}else{
|
||||
//增加房主收益并记录日志
|
||||
$room_owner_earning = model('api/UserWallet')->change_user_earnings_log($room_owner,$room_owner_earnings,$room_id,18,'房主收益');
|
||||
//增加房主收益并记录日志
|
||||
$room_owner_earningss = $room_owner_earnings - $host_earnings;
|
||||
if($room_owner_earningss > 0){
|
||||
$room_owner_earning = model('api/UserWallet')->change_user_earnings_log($room_owner,$room_owner_earningss,$room_id,18,'房主收益');
|
||||
if(!$room_owner_earning){
|
||||
Db::rollback();
|
||||
return ['code' => 0, 'msg' => '网络错误-9', 'data' => null];
|
||||
return ['code' => 0, 'msg' => '网络错误-8', 'data' => null];
|
||||
}
|
||||
}
|
||||
|
||||
}else{
|
||||
//增加房主收益并记录日志
|
||||
$room_owner_earning = model('api/UserWallet')->change_user_earnings_log($room_owner,$room_owner_earnings,$room_id,18,'房主收益');
|
||||
if(!$room_owner_earning){
|
||||
Db::rollback();
|
||||
return ['code' => 0, 'msg' => '网络错误-10', 'data' => null];
|
||||
return ['code' => 0, 'msg' => '网络错误-9', 'data' => null];
|
||||
}
|
||||
}
|
||||
}else{
|
||||
//增加房主收益并记录日志
|
||||
$room_owner_earning = model('api/UserWallet')->change_user_earnings_log($room_owner,$room_owner_earnings,$room_id,18,'房主收益');
|
||||
if(!$room_owner_earning){
|
||||
Db::rollback();
|
||||
return ['code' => 0, 'msg' => '网络错误-10', 'data' => null];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//收礼人是否加入公会
|
||||
$is_join_guild = Db::name('vs_guild_user')->where(['user_id'=>$to_uid,'status'=>1,'quit_time' => 0])->field('guild_id,settlement_ratio')->find();
|
||||
if($is_join_guild){
|
||||
//公会长收益 房间收礼人收益+房间收礼人加入公会后增加收益
|
||||
$max_settlement_ratio = get_system_config_value('room_gift_ratio') + get_system_config_value('room_gift_guild_ratio');
|
||||
$receive_ratio = $is_join_guild['settlement_ratio'] ?? 0;//加入公会后 公会长设置的收益
|
||||
$guid_ratio = $max_settlement_ratio - $receive_ratio;
|
||||
if($guid_ratio > 0){
|
||||
//公会长收益
|
||||
$guild_earnings = coin_earning($receive_gift_total,$guid_ratio);
|
||||
if($guild_earnings > 0){
|
||||
$guild_user = db::name('vs_guild')->where(['id' => $is_join_guild['guild_id']])->value('user_id');
|
||||
$guild_earnings_in = model('api/UserWallet')
|
||||
->change_user_earnings_log($guild_user,$guild_earnings,$room_id,21,'工会长收益');
|
||||
if(!$guild_earnings_in){
|
||||
Db::rollback();
|
||||
return ['code' => 0, 'msg' => '网络错误-11', 'data' => null];
|
||||
}
|
||||
//收礼人是否加入公会
|
||||
$is_join_guild = Db::name('vs_guild_user')->where(['user_id'=>$to_uid,'status'=>1,'quit_time' => 0])->field('guild_id,settlement_ratio')->find();
|
||||
if($is_join_guild){
|
||||
//公会长收益 房间收礼人收益+房间收礼人加入公会后增加收益
|
||||
$max_settlement_ratio = get_system_config_value('room_gift_ratio') + get_system_config_value('room_gift_guild_ratio');
|
||||
$receive_ratio = $is_join_guild['settlement_ratio'] ?? 0;//加入公会后 公会长设置的收益
|
||||
$guid_ratio = $max_settlement_ratio - $receive_ratio;
|
||||
if($guid_ratio > 0){
|
||||
//公会长收益
|
||||
$guild_earnings = coin_earning($receive_gift_total,$guid_ratio);
|
||||
if($guild_earnings > 0){
|
||||
$guild_user = db::name('vs_guild')->where(['id' => $is_join_guild['guild_id']])->value('user_id');
|
||||
$guild_earnings_in = model('api/UserWallet')
|
||||
->change_user_earnings_log($guild_user,$guild_earnings,$room_id,21,'工会长收益');
|
||||
if(!$guild_earnings_in){
|
||||
Db::rollback();
|
||||
return ['code' => 0, 'msg' => '网络错误-11', 'data' => null];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//收礼记录行为日志
|
||||
$give_gift = $this -> change_user_give_gift_log($uid,$gid,$gift_price,$num,$to_uid,2,$type,$room_id,'');
|
||||
if(!$give_gift){
|
||||
Db::rollback();
|
||||
return ['code' => 0, 'msg' => '送礼失败,请重试!', 'data' => null];
|
||||
}
|
||||
|
||||
//记录送礼利率和各方收益
|
||||
//平台收益 = 总金额 - 收礼人收益 - 房主收益 - 工会长收益
|
||||
$room_owner_ratio = get_system_config_value('room_author_ratio');
|
||||
@@ -1292,7 +1266,7 @@ class SendGift extends Model
|
||||
$room_pk_b = Db::name('vs_room_pk')->where(['status' => 3, 'room_id_b' => $room_id])->field('pk_id')->find();
|
||||
if (!empty($room_pk_b)) {
|
||||
// 当前 room_id 是 room_id_b
|
||||
$roomb = Db::name('vs_room_pk')->where('pk_id', $room_pk_b['pk_id'])->setInc('receive_value_b', $receive_gift_total * 10);
|
||||
Db::name('vs_room_pk')->where('pk_id', $room_pk_b['pk_id'])->setInc('receive_value_b', $receive_gift_total * 10);
|
||||
$roomPKinfo = Db::name('vs_room_pk')->where('pk_id', $room_pk_b['pk_id'])->find();
|
||||
//推送变化
|
||||
$text = [
|
||||
|
||||
Reference in New Issue
Block a user