From fbe69d1fee8cc7246505d5124f2fad5ce927f204 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E5=8D=8E=E6=B8=85?= <18691022700@163.com> Date: Mon, 29 Sep 2025 19:50:09 +0800 Subject: [PATCH] =?UTF-8?q?=E6=88=BF=E9=97=B4=E5=B0=8F=E6=97=B6=E6=A6=9C?= =?UTF-8?q?=E7=9B=B8=E5=85=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cron/controller/RoomHourRanking.php | 64 +++++++++++++++++-- 1 file changed, 60 insertions(+), 4 deletions(-) diff --git a/application/cron/controller/RoomHourRanking.php b/application/cron/controller/RoomHourRanking.php index 08968f6..9a9fcc2 100644 --- a/application/cron/controller/RoomHourRanking.php +++ b/application/cron/controller/RoomHourRanking.php @@ -67,6 +67,7 @@ class RoomHourRanking $room_owner[$i]['user_id'] = $v['user_id']; $room_owner[$i]['room_name'] = $v['room_name']; $room_owner[$i]['room_id'] = $v['room_id']; + $room_owner[$i]['total_price'] = $v['total_price']; } $i++; } @@ -80,7 +81,7 @@ class RoomHourRanking //有几个用户就发几个 if(count($room_owner) > $k){ if($v['gift_type'] == 1){//1金币2礼物3头像4坐骑 - $res = $this->add_coin($v['coin'], $room_owner[$k]['user_id']); + $res = $this->add_coin($v['coin'], $room_owner[$k]['user_id'],$k + 1,$room_owner[$k]['room_id'],$room_owner[$k]['total_price']); }elseif ($v['gift_type'] == 2){ $res = $this->add_gift($v['gift_id'], $room_owner[$k]['user_id']); }elseif ($v['gift_type'] == 3){ @@ -122,7 +123,7 @@ class RoomHourRanking } //添加金币到钱包 - public function add_coin($coin,$user_id){ + public function add_coin($coin,$user_id,$ranking,$room_id,$total_price){ $data = [ 'user_id' => $user_id, 'change_value' => $coin, @@ -146,21 +147,58 @@ class RoomHourRanking if(!$res1){ Db::rollback(); } + + //添加到排行表 + $start_time = strtotime(date('Y-m-d H:00:00', strtotime('-1 hour'))); + $end_time = strtotime(date('Y-m-d H:00:00')) - 1; + $res2 = db::name('vs_hour_ranking')->insert([ + 'ranking' => $ranking, + 'room_id' => $room_id, + 'flowing_water' => $total_price, + 'coin' => $coin, + 'time_id' => date('H', strtotime('-1 hour')), + 'stime' => $start_time, + 'etime' => $end_time, + 'createtime' => time(), + 'updatetime' => time(), + ]); + if(!$res2){ + Db::rollback(); + } Db::commit(); return true; } //添加礼物到背包 - public function add_gift($gift_id,$user_id){ + public function add_gift($gift_id,$user_id,$ranking,$room_id,$total_price){ $res = model('api/UserGiftPack')->change_user_gift_pack($user_id,$gift_id,1,model('UserGiftPack')::HOUR_RANK_GET,"小时榜获得"); if($res['code'] == 0){ Log::record("小时榜获取礼物失败:".$res['msg'],"info"); } + + //添加到排行表 + $start_time = strtotime(date('Y-m-d H:00:00', strtotime('-1 hour'))); + $end_time = strtotime(date('Y-m-d H:00:00')) - 1; + $res2 = db::name('vs_hour_ranking')->insert([ + 'ranking' => $ranking, + 'room_id' => $room_id, + 'flowing_water' => $total_price, + 'gift_id' => $gift_id, + 'gift_type' => 2, + 'time_id' => date('H', strtotime('-1 hour')), + 'stime' => $start_time, + 'etime' => $end_time, + 'createtime' => time(), + 'updatetime' => time(), + ]); + if(!$res2){ + Log::record("小时榜礼物锁定失败","info"); + } return true; } //添加装扮到背包 - public function add_decorate($avatar_id,$user_id){ + public function add_decorate($avatar_id,$user_id,$ranking,$room_id,$total_price){ $decorate_price_info = db::name('vs_decorate_price')->where(['id'=>$avatar_id])->find(); if(empty($decorate_price_info)){ Log::record("小时榜获取装扮失败:没有找到装扮!".$avatar_id,"info"); @@ -169,6 +207,24 @@ class RoomHourRanking if($res['code'] == 0){ Log::record("小时榜获取装扮失败:".$res['msg']."-".$avatar_id,"info"); } + //添加到排行表 + $start_time = strtotime(date('Y-m-d H:00:00', strtotime('-1 hour'))); + $end_time = strtotime(date('Y-m-d H:00:00')) - 1; + $res2 = db::name('vs_hour_ranking')->insert([ + 'ranking' => $ranking, + 'room_id' => $room_id, + 'flowing_water' => $total_price, + 'gift_id' => $avatar_id, +// 'gift_type' => 2, + 'time_id' => date('H', strtotime('-1 hour')), + 'stime' => $start_time, + 'etime' => $end_time, + 'createtime' => time(), + 'updatetime' => time(), + ]); + if(!$res2){ + Log::record("小时榜咋装扮锁定失败","info"); + } return true; }