Merge remote-tracking branch 'origin/develop' into develop

This commit is contained in:
2026-01-07 12:28:20 +08:00
3 changed files with 293 additions and 145 deletions

View File

@@ -195,6 +195,7 @@ class BarRoom extends Model
//记录小房间
$datda = [
'room_id' => $room_ids['data'],
'p_room_id' => $room_id,
'user_id' => $user_id,
'meet_user_id' => $meet_user_id,
'end_time' => time() + get_system_config_value('bar_room_timea') * 60,

View File

@@ -60,6 +60,7 @@ class SendGift extends Model
}
$room_type = model('Room')->get_room_type($room_id);
$room_label = db::name('vs_room')->where(['id' => $room_id])->value('label_id');
//获取送礼用户信息
$FromUserInfo = model('User')->get_user_base_info($uid);
@@ -73,149 +74,76 @@ class SendGift extends Model
//送礼 开启事务
Db::startTrans();
//金币购买送礼 1金币购买 2送背包礼物
if($type == 1){
//送给所有人的总价格
$all_gift_price = $gift_price;
//判断是否有足够的金币
if ($user_coin < $all_gift_price) {
return ['code' => 0, 'msg' => '金币不足,请充值购买!', 'data' => null];
}
//扣除用户金币并记录日志
$wallet_update = model('api/UserWallet')->change_user_cion_log($uid,$all_gift_price,$room_id,10,'购买礼物');
if(!$wallet_update){
Db::rollback();
return ['code' => 0, 'msg' => '网络错误-1', 'data' => null];
}
}else{
//背包礼物是否充足
$user_gift_pack = db::name('vs_user_gift_pack')->where(['user_id'=>$uid,'gid'=>$gid])->find();
if (empty($user_gift_pack)) {
return ['code' => 0, 'msg' => '用户背包礼物不足', 'data' => null];
}
if ($user_gift_pack['num'] < $num) {
return ['code' => 0, 'msg' => '用户背包礼物不足', 'data' => null];
}
//扣除背包礼物并记录日志
$gift_pack = $this -> change_user_gift_pack_log(3,$uid,$gid,$num,'房间送礼');
if(!$gift_pack){
Db::rollback();
return ['code' => 0, 'msg' => '网络错误-2', 'data' => null];
}
}
$receive_gift_total = 0;//收礼人收到的礼物总值
$give_gift = 0;//送礼记录表ID雪花ID
$gift_box = [];//开出的盲盒
//查询礼物是否是盲盒
if($gift_info['label'] == 2){//趣味礼物(盲盒)
for($i = 0; $i < $num; $i++){
//开盲盒
$gift_box1[$i] = $this -> open_box($gid,$uid,$to_uid,$room_id,$gift_bag_id);
if($gift_box1[$i]['code'] != 1){
Db::rollback();
return ['code' => 0, 'msg' => '网络错误-3', 'data' => null];
if($room_label == 8){//酒吧房下的小黑屋 房间流水和送礼记录、收益 都记录在酒吧房
$p_room_id = db::name('vs_room_bar_movie')->where('room_id',$room_id)->value('p_room_id');
//金币购买送礼 1金币购买 2送背包礼物
if($type == 1){
//判断是否有足够的金币
if ($user_coin < $gift_price) {
return ['code' => 0, 'msg' => '金币不足,请充值购买!', 'data' => null];
}
$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){
//扣除用户金币并记录日志(酒吧房下的小黑屋 记录记在所属酒吧房)
$wallet_update = model('api/UserWallet')->change_user_cion_log($uid,$gift_price,$p_room_id,10,'小黑屋-购买礼物');
if(!$wallet_update){
Db::rollback();
return ['code' => 0, 'msg' => '送礼失败,请重试!!', 'data' => null];
return ['code' => 0, 'msg' => '网络错误-1', 'data' => null];
}
Log::record("送礼开出盲盒礼物信息:".json_encode($gift_box1),"info");
}else{
Db::rollback();
return ['code' => 0, 'msg' => '类型错误', 'data' => null];
}
}else{
$receive_gift_total = $gift_price;//收礼人收到的礼物总值
$gift_box = [];//开出的盲盒
//收礼记录行为日志
$give_gift = $this -> change_user_give_gift_log($uid,$gid,$gift_price,$num,$to_uid,2,$type,$room_id);
$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){
//增加收益并记录日志
$receiver = model('api/UserWallet')->change_user_earnings_log($to_uid,$receiver_earnings,$room_id,11,'收礼增加收益');
if(!$receiver){
//计算收礼人得益 //1聊天送礼物 2房间语聊送礼 3直播送礼 4动态打赏 99房主收益 98主持人收益
$receiver_earnings = model('GiveGift') -> receiver_earnings($to_uid,$receive_gift_total,2);
if($receiver_earnings > 0){
//增加收益并记录日志
$receiver = model('api/UserWallet')->change_user_earnings_log($to_uid,$receiver_earnings,$p_room_id,11,'小黑屋-收礼增加收益');
if(!$receiver){
Db::rollback();
return ['code' => 0, 'msg' => '网络错误-4', 'data' => null];
}
}
//用户魅力等级更新(这个里面有推送魅力 所以房间使用原房间)
$user_level = model('Level')->user_level_data_update($to_uid,$receive_gift_total,2,$room_id);
if(!$user_level){
Db::rollback();
return ['code' => 0, 'msg' => '网络错误-4', 'data' => null];
}
}
//用户魅力等级更新
$user_level = model('Level')->user_level_data_update($to_uid,$receive_gift_total,2,$room_id);
if(!$user_level){
Db::rollback();
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){
Db::rollback();
return ['code' => 0, 'msg' => '网络错误-5', '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];
}
}
}
return ['code' => 0, 'msg' => '用户等级更新失败', 'data' => null];
}
}else{
$room_owner = Db::name('vs_room')->where(['id'=>$room_id,'apply_status'=>2])->value('user_id');
$guild_earnings = 0;//公会会长收益
$guid_ratio = 0;//公会长收益率
$receive_ratio = get_system_config_value('room_gift_ratio');//房间收礼人收益
//房主收益 计算酒吧房去
$room_owner = Db::name('vs_room')->where(['id' => $p_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');
//在主持位的主持人 计算酒吧房去
$host_id = Db::name('vs_room_pit')->where(['room_id'=>$p_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');
$ratio = db::name('vs_room_host')->where(['room_id'=>$p_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,'主持人收益');
$host_earnings_earning = model('api/UserWallet')->change_user_earnings_log($host_id,$host_earnings,$p_room_id,19,'小黑屋-主持人收益');
if(!$host_earnings_earning){
Db::rollback();
return ['code' => 0, 'msg' => '网络错误-7', 'data' => null];
@@ -223,7 +151,7 @@ class SendGift extends Model
//增加房主收益并记录日志
$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,'房主收益');
$room_owner_earning = model('api/UserWallet')->change_user_earnings_log($room_owner,$room_owner_earningss,$p_room_id,18,'小黑屋-房主收益');
if(!$room_owner_earning){
Db::rollback();
return ['code' => 0, 'msg' => '网络错误-8', 'data' => null];
@@ -232,7 +160,7 @@ class SendGift extends Model
}else{
//增加房主收益并记录日志
$room_owner_earning = model('api/UserWallet')->change_user_earnings_log($room_owner,$room_owner_earnings,$room_id,18,'房主收益');
$room_owner_earning = model('api/UserWallet')->change_user_earnings_log($room_owner,$room_owner_earnings,$p_room_id,18,'小黑屋-房主收益');
if(!$room_owner_earning){
Db::rollback();
return ['code' => 0, 'msg' => '网络错误-9', 'data' => null];
@@ -240,7 +168,7 @@ class SendGift extends Model
}
}else{
//增加房主收益并记录日志
$room_owner_earning = model('api/UserWallet')->change_user_earnings_log($room_owner,$room_owner_earnings,$room_id,18,'房主收益');
$room_owner_earning = model('api/UserWallet')->change_user_earnings_log($room_owner,$room_owner_earnings,$p_room_id,18,'小黑屋-房主收益');
if(!$room_owner_earning){
Db::rollback();
return ['code' => 0, 'msg' => '网络错误-10', 'data' => null];
@@ -261,7 +189,7 @@ class SendGift extends Model
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,'工会长收益');
->change_user_earnings_log($guild_user,$guild_earnings,$p_room_id,21,'小黑屋-工会长收益');
if(!$guild_earnings_in){
Db::rollback();
return ['code' => 0, 'msg' => '网络错误-11', 'data' => null];
@@ -269,25 +197,241 @@ class SendGift extends Model
}
}
}
//记录送礼利率和各方收益
//平台收益 = 总金额 - 收礼人收益 - 房主收益 - 工会长收益
$room_owner_ratio = get_system_config_value('room_author_ratio');
$app_ratio = 100 - $receive_ratio - $room_owner_ratio - $guid_ratio;
$app_earning = coin_earning($gift_price, $app_ratio);
$gift_rate = $this->change_give_gift_profit($give_gift, $receive_ratio, $receiver_earnings, $room_owner_ratio, $room_owner_earnings, $app_ratio, $app_earning,$guid_ratio,$guild_earnings);
if(!$gift_rate){
Db::rollback();
return ['code' => 0, 'msg' => '网络错误-12', 'data' => null];
}
//增加房间火热值hot_value
$gift_totalaa = $receive_gift_total * get_system_config_value('coin_charm_exp');
db::name('vs_room')->where(['id' => $p_room_id])->inc('hot_value', $gift_totalaa)->inc('today_hot_value', $gift_totalaa)->update();
Db::commit();
}else{
//金币购买送礼 1金币购买 2送背包礼物
if($type == 1){
//判断是否有足够的金币
if ($user_coin < $gift_price) {
return ['code' => 0, 'msg' => '金币不足,请充值购买!', 'data' => null];
}
//扣除用户金币并记录日志
$wallet_update = model('api/UserWallet')->change_user_cion_log($uid,$gift_price,$room_id,10,'购买礼物');
if(!$wallet_update){
Db::rollback();
return ['code' => 0, 'msg' => '网络错误-1', 'data' => null];
}
}else{
//背包礼物是否充足
$user_gift_pack = db::name('vs_user_gift_pack')->where(['user_id'=>$uid,'gid'=>$gid])->find();
if (empty($user_gift_pack)) {
return ['code' => 0, 'msg' => '用户背包礼物不足', 'data' => null];
}
if ($user_gift_pack['num'] < $num) {
return ['code' => 0, 'msg' => '用户背包礼物不足', 'data' => null];
}
//扣除背包礼物并记录日志
$gift_pack = $this -> change_user_gift_pack_log(3,$uid,$gid,$num,'房间送礼');
if(!$gift_pack){
Db::rollback();
return ['code' => 0, 'msg' => '网络错误-2', 'data' => null];
}
}
$receive_gift_total = 0;//收礼人收到的礼物总值
$give_gift = 0;//送礼记录表ID雪花ID
$gift_box = [];//开出的盲盒
//查询礼物是否是盲盒
if($gift_info['label'] == 2){//趣味礼物(盲盒)
for($i = 0; $i < $num; $i++){
//开盲盒
$gift_box1[$i] = $this -> open_box($gid,$uid,$to_uid,$room_id,$gift_bag_id);
if($gift_box1[$i]['code'] != 1){
Db::rollback();
return ['code' => 0, 'msg' => '网络错误-3', 'data' => null];
}
$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主持人收益
$receiver_earnings = model('GiveGift') -> receiver_earnings($to_uid,$receive_gift_total,2);
if($receiver_earnings > 0){
//增加收益并记录日志
$receiver = model('api/UserWallet')->change_user_earnings_log($to_uid,$receiver_earnings,$room_id,11,'收礼增加收益');
if(!$receiver){
Db::rollback();
return ['code' => 0, 'msg' => '网络错误-4', 'data' => null];
}
}
//用户魅力等级更新
$user_level = model('Level')->user_level_data_update($to_uid,$receive_gift_total,2,$room_id);
if(!$user_level){
Db::rollback();
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){
Db::rollback();
return ['code' => 0, 'msg' => '网络错误-5', '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,'房主收益');
if(!$room_owner_earning){
Db::rollback();
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];
}
}
}
}
}
//记录送礼利率和各方收益
//平台收益 = 总金额 - 收礼人收益 - 房主收益 - 工会长收益
$room_owner_ratio = get_system_config_value('room_author_ratio');
$app_ratio = 100 - $receive_ratio - $room_owner_ratio - $guid_ratio;
$app_earning = coin_earning($gift_price, $app_ratio);
$gift_rate = $this->change_give_gift_profit($give_gift, $receive_ratio, $receiver_earnings, $room_owner_ratio, $room_owner_earnings, $app_ratio, $app_earning,$guid_ratio,$guild_earnings);
if(!$gift_rate){
Db::rollback();
return ['code' => 0, 'msg' => '网络错误-12', 'data' => null];
}
//增加房间火热值hot_value
$gift_totalaa = $receive_gift_total * get_system_config_value('coin_charm_exp');
db::name('vs_room')->where(['id' => $room_id])->inc('hot_value', $gift_totalaa)->inc('today_hot_value', $gift_totalaa)->update();
Db::commit();
}
//记录送礼利率和各方收益
//平台收益 = 总金额 - 收礼人收益 - 房主收益 - 工会长收益
$room_owner_ratio = get_system_config_value('room_author_ratio');
$app_ratio = 100 - $receive_ratio - $room_owner_ratio - $guid_ratio;
$app_earning = coin_earning($gift_price, $app_ratio);
$gift_rate = $this->change_give_gift_profit($give_gift, $receive_ratio, $receiver_earnings, $room_owner_ratio, $room_owner_earnings, $app_ratio, $app_earning,$guid_ratio,$guild_earnings);
if(!$gift_rate){
Db::rollback();
return ['code' => 0, 'msg' => '网络错误-12', 'data' => null];
}
//增加房间火热值hot_value
$gift_totalaa = $receive_gift_total * get_system_config_value('coin_charm_exp');
db::name('vs_room')->where(['id' => $room_id])->inc('hot_value', $gift_totalaa)->inc('today_hot_value', $gift_totalaa)->update();
Db::commit();
//各种需要的及时推送
$room_pk = Db::name('vs_room_pk')->where(['status' => 3, 'room_id_a' => $room_id])->field('pk_id')->find();
@@ -619,7 +763,7 @@ class SendGift extends Model
//开出的礼物价值
$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);
$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];
@@ -629,7 +773,7 @@ class SendGift extends Model
}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);
$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];
@@ -945,12 +1089,12 @@ class SendGift extends Model
//送礼 开启事务
Db::startTrans();
$receive_gift_total = 0;//收礼人收到的礼物总值
$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);
$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];
@@ -1161,6 +1305,7 @@ class SendGift extends Model
return ['code' => 1, 'msg' => '送礼成功', 'data' => null];
}
//记录用户赠送背包礼物日志
public function change_user_gift_pack_log($packType,$uid,$gid,$num,$remark)
{
@@ -1271,7 +1416,7 @@ class SendGift extends Model
//记录用户送礼日志
public function change_user_give_gift_log($uid,$gid,$gift_price,$num,$to_id,$from_type,$type,$from_id,$pit_number = 0,$gitf_type =1)
public function change_user_give_gift_log($uid,$gid,$gift_price,$num,$to_id,$from_type,$type,$from_id,$remarks,$pit_number = 0,$gitf_type =1)
{
$data = [
'id' => Snowflake::generate(),// 生成雪花ID
@@ -1285,6 +1430,7 @@ class SendGift extends Model
'total_price' => $gift_price,
'from' => $from_type,//1聊天送礼物 2房间语聊送礼 3直播送礼 4动态打赏 6Cp电影房
'type' => $type,//1金币购买 2送背包礼物
'remarks' => $remarks??'',
'createtime' => time(),
];

View File

@@ -60,6 +60,7 @@ class GiftTableManager
`total_price` decimal(16,2) NOT NULL COMMENT '礼物总价值',
`type` int NOT NULL DEFAULT '1' COMMENT '1金币购买 2送背包礼物',
`from` int NOT NULL DEFAULT '1' COMMENT '1私聊送礼物 2语聊房送礼 3视频直播房送礼暂时不用 4动态打赏 6私密房间送礼',
`remarks` varchar(255) NULL COMMENT '备注',
`createtime` bigint NOT NULL COMMENT '创建时间(秒时间戳)',
`updatetime` bigint DEFAULT NULL COMMENT '更新时间(秒时间戳)',
PRIMARY KEY (`id`),