diff --git a/application/api/controller/RoomHourRanking.php b/application/api/controller/RoomHourRanking.php index 80d2b55..bf0e60b 100644 --- a/application/api/controller/RoomHourRanking.php +++ b/application/api/controller/RoomHourRanking.php @@ -31,74 +31,4 @@ class RoomHourRanking extends BaseCom return V($reslut['code'], $reslut['msg'], $reslut['data']); } - //房间小时榜 测试 等会删除 - public function room_hour_rankings() - { - $page = input('page', 1); - $page_limit = input('page_limit', 20); - //判断是否开启 - $open_time = db::name('vs_hour_ranking_config')->order('id', 'desc')->value('open_time'); - if ($open_time == 0) { // 修复比较运算符 -// return V(0, '排行榜暂未开启'); - } - - //是否开启巡乐会 - $is_open_xlh = db::name('vs_hour_ranking_config')->order('id', 'desc')->value('is_open_xlh'); - //是否开启红包(下面的不要删掉) -// $is_open_red_pack = db::name('vs_hour_ranking_config')->order('id', 'desc')->value('is_open_red_pack'); - $is_open_red_pack = 0 ; - - //当前小时开始时间 - $start_time = strtotime(date('Y-m-d H:00:00')); - - // 先查询所有符合条件的房间 - $rooms = db::name('vs_room')->alias('a') - ->join('vs_room_label c', 'a.label_id = c.id','left') - ->field('a.id as room_id,a.room_name,a.label_id,a.room_cover,0 as total_price,c.label_icon') - ->where('a.room_status', 1) - ->where('a.apply_status', 2) - ->page($page, $page_limit) - ->select(); - - if ($rooms) { - // 获取房间ID列表 - $room_ids = array_column($rooms, 'room_id'); - - // 查询这些房间在当前小时的礼物总额 - $gift_data = db::name('vs_give_gift') - ->field('from_id as room_id, sum(total_price) as total_price') - ->where('from', 2) - ->where('from_id', 'in', $room_ids) - ->where('createtime', 'between', [$start_time, time()]) - ->group('from_id') - ->select(); - - // 将礼物数据合并到房间数据中 - $gift_map = []; - foreach ($gift_data as $gift) { - $gift_map[$gift['room_id']] = $gift['total_price'] * get_system_config_value('coin_charm_exp');; - } - - // 更新房间数据 - foreach ($rooms as &$room) { - $room['total_price'] = isset($gift_map[$room['room_id']]) ? $gift_map[$room['room_id']] : 0; - - if($room['room_id'] > 0 && $is_open_xlh == 1){ - $xlh_status = model('BlindBoxTurntableGift')->get_user_xlh_info($room['room_id']); - $room['xlh_status'] = $xlh_status['xlh_status']; - }else{ - $room['xlh_status'] = 0; - } - } - - // 按礼物总额排序 - usort($rooms, function($a, $b) { - return $b['total_price'] <=> $a['total_price']; - }); - } - //当前小时开始时间 和结束时间 00:00-00:59 这样的格式 - $time_range = date('H:') . '00-' . date('H:'). '59'; - - return V(1, '获取成功', ['time_range' => $time_range, 'lists' =>$rooms]); - } } \ No newline at end of file diff --git a/application/api/model/Room.php b/application/api/model/Room.php index c6bbffc..31913f8 100644 --- a/application/api/model/Room.php +++ b/application/api/model/Room.php @@ -850,7 +850,16 @@ class Room extends Model } $xlh_info['xlh_info'] = model('BlindBoxTurntableGift')->get_user_xlh_info($room_id); - + $open_time = db::name('vs_hour_ranking_config')->order('id', 'desc')->value('open_time'); + if($open_time > 0){ + if($open_time <= time()){ + $hour_open = 1;//开启 + }else{ + $hour_open = 0;//关闭 + } + }else{ + $hour_open = 0;//关闭 + } return ['code' => 1, 'msg' => '成功', 'data' => ['room_info' => $room_info, @@ -864,6 +873,7 @@ class Room extends Model 'song_pit_list' => $song_pit_list, 'friend_info' => $friend, 'gift_cycle' => $xlh_info, + 'hour_ranking_open' => $hour_open ] ]; } @@ -2006,6 +2016,16 @@ class Room extends Model } $xlh_info['xlh_info'] = model('BlindBoxTurntableGift')->get_user_xlh_info($room_id); + $open_time = db::name('vs_hour_ranking_config')->order('id', 'desc')->value('open_time'); + if($open_time > 0){ + if($open_time <= time()){ + $hour_open = 1;//开启 + }else{ + $hour_open = 0;//关闭 + } + }else{ + $hour_open = 0;//关闭 + } return ['code' => 1, 'msg' => '成功', @@ -2020,6 +2040,7 @@ class Room extends Model 'song_pit_list'=>$song_pit_list, 'friend_info' => $friend, 'gift_cycle' => $xlh_info, + 'hour_ranking_open' => $hour_open ] ]; }