From 4eaa1efdbf3cd05945e6ee827433b8ac20972ed8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E9=92=8A?= Date: Tue, 13 Jan 2026 14:01:57 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=EF=BC=9AGive=5FGift=20?= =?UTF-8?q?=E8=A1=A8=E6=9F=A5=E8=AF=A2=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- application/adminapi/controller/Lottery.php | 10 ++- application/adminapi/controller/Room.php | 82 ++++++++++++--------- 2 files changed, 56 insertions(+), 36 deletions(-) diff --git a/application/adminapi/controller/Lottery.php b/application/adminapi/controller/Lottery.php index f8f8f8b8..cbe6533a 100644 --- a/application/adminapi/controller/Lottery.php +++ b/application/adminapi/controller/Lottery.php @@ -115,13 +115,19 @@ class Lottery extends adminApi ->sum('amount') ?: 0; //最近中奖用户 $last_winner_user_id = db::name('bb_lottery_winner_record')->where(['status'=>1])->order('id desc')->find(); - $last_winner_user_info = db::name('user')->where(['id'=>$last_winner_user_id['uid']])->find(); + if($last_winner_user_id){ + $last_winner_user_info = db::name('user')->where(['id'=>$last_winner_user_id['uid']])->find(); + $last_winner_user_text = "用户ID:".$last_winner_user_info['user_code']." 获得 ".$last_winner_user_id['prize_amount']." 金币 (".$last_winner_user_id['ratio']."%)"; + }else{ + $last_winner_user_text = "无"; + } + //平台累计收入 $platform_total_income = db::name('bb_lottery_pool_flow')->where(['type'=>4])->sum('amount'); $return_data=[ 'pool_progress' => $pool_progress_str, 'pool_amount_now' => ($bigAddGold)."金币 (".(($bigAddGold)/$bb_config['big_pool_threshold']['value'])."%)", - 'last_winner_user' => "用户ID:".$last_winner_user_info['user_code']." 获得 ".$last_winner_user_id['prize_amount']." 金币 (".$last_winner_user_id['ratio']."%)", + 'last_winner_user' => $last_winner_user_text, 'platform_total_income' => $platform_total_income." 金币", ]; return V(1,"成功", $return_data); diff --git a/application/adminapi/controller/Room.php b/application/adminapi/controller/Room.php index 25f9a206..c70f1dae 100644 --- a/application/adminapi/controller/Room.php +++ b/application/adminapi/controller/Room.php @@ -4,6 +4,7 @@ namespace app\adminapi\controller; use app\admin\model\AdminLog; use app\common\controller\adminApi; +use app\common\library\GiftTableManager; use think\Cache; use think\Config; use think\Db; @@ -719,45 +720,58 @@ class Room extends adminApi $type = input('type', 1);//1:全部流水 2:日流水 3:周流水 4:月流水 $stime = input('stime', ''); $etime = input('etime', ''); + + $firstDay = date('Y-m-01'); + $lastDay = date('Y-m-t 23:59:59'); + $begin_time_table = empty($stime) ? $firstDay : $stime; + $end_time_table = empty($etime) ? $lastDay : $etime; + if($room_id == ''){ return V(0,"参数错误"); } - if($type == 1){ - $begin_time = 1748676768;//2025-06-00 15:32:48 - $end_time = time(); - $where['a.createtime'] = ['between', [$begin_time, $end_time]]; - }elseif ($type == 2){ - //日流水 - $begin_time = strtotime(date('Y-m-d 00:00:00',time())); +// if($type == 1){ +// $begin_time = 1748676768;//2025-06-00 15:32:48 +// $end_time = time(); +// $where['a.createtime'] = ['between', [$begin_time, $end_time]]; +// }elseif ($type == 2){ +// //日流水 +// $begin_time = strtotime(date('Y-m-d 00:00:00',time())); +// $end_time = time(); +// $where['a.createtime'] = ['between', [$begin_time, $end_time]]; +// } +// elseif ($type == 3){ +// //周流水 +// //本周一 +// $begin_time = strtotime(date('Y-m-d 00:00:00', strtotime('this week'))); +// $end_time = time(); +// $where['a.createtime'] = ['between', [$begin_time, $end_time]]; +// } +// elseif ($type == 4){ +// $begin_time = strtotime(date('Y-m-01')); +// $end_time = time(); +// $where['a.createtime'] = ['between', [$begin_time, $end_time]]; +// } + if($begin_time_table != '' && $end_time_table != ''){ + $begin_time = strtotime($begin_time_table); + $end_time = strtotime($end_time_table); + $where['a.createtime'] = ['between', [$begin_time, $end_time]]; + }elseif($begin_time_table != '' && $end_time_table == ''){ + $begin_time = strtotime($begin_time_table); $end_time = time(); $where['a.createtime'] = ['between', [$begin_time, $end_time]]; + }elseif($begin_time_table != '' && $end_time_table == ''){ + $end_time = strtotime($end_time_table); + $where['a.createtime'] = ['<=', $end_time]; } - elseif ($type == 3){ - //周流水 - //本周一 - $begin_time = strtotime(date('Y-m-d 00:00:00', strtotime('this week'))); - $end_time = time(); - $where['a.createtime'] = ['between', [$begin_time, $end_time]]; + $tables = GiftTableManager::getTablesByTimeRange( + strtotime($begin_time_table), + strtotime($end_time_table) + ); + if(empty($tables)){ + $tables[0] = "fa_vs_give_gift"; } - elseif ($type == 4){ - $begin_time = strtotime(date('Y-m-01')); - $end_time = time(); - $where['a.createtime'] = ['between', [$begin_time, $end_time]]; - } - if($stime != '' && $etime != ''){ - $begin_time = strtotime($stime); - $end_time = strtotime($etime); - $where['a.createtime'] = ['between', [$begin_time, $end_time]]; - }elseif($stime != '' && $etime == ''){ - $begin_time = strtotime($stime); - $end_time = time(); - $where['a.createtime'] = ['between', [$begin_time, $end_time]]; - }elseif($etime != '' && $stime == ''){ - $end_time = strtotime($etime); - $where['a.createtime'] = ['<=', $etime]; - } - - $count = db::name('vs_give_gift')->alias('a') + $table_name = substr($tables[0], 3);//截取可查询的表名 + $count = db::name($table_name)->alias('a') ->field('a.id') ->join('user b', 'a.user_id = b.id', 'left') ->join('user c', 'a.gift_user = c.id', 'left') @@ -766,7 +780,7 @@ class Room extends adminApi ->where('a.from_id',$room_id) ->where($where) ->count(); - $list = db::name('vs_give_gift')->alias('a') + $list = db::name($table_name)->alias('a') ->field('a.number,a.createtime,a.total_price,a.type,b.nickname,b.avatar,c.nickname as gift_nickname,c.avatar as gift_avatar,d.gift_name,a.from,a.from_id') ->join('user b', 'a.user_id = b.id', 'left') ->join('user c', 'a.gift_user = c.id', 'left') @@ -794,7 +808,7 @@ class Room extends adminApi 'count' => $count, 'lists' => $list, 'total' =>[ - 'total_price' => db::name('vs_give_gift')->alias('a') + 'total_price' => db::name($table_name)->alias('a') ->join('user b', 'a.user_id = b.id', 'left') ->where('a.from',2) ->where('a.from_id',$room_id)