小时榜礼物配置

This commit is contained in:
2025-09-30 22:36:27 +08:00
parent b448d77d05
commit 35953326c6
2 changed files with 35 additions and 32 deletions

View File

@@ -23,7 +23,7 @@ class RoomHourRanking extends Model
//判断是否开启
$open_time = db::name('vs_hour_ranking_config')->where('id', 1)->value('open_time');
if ($open_time == 0) {
// return ['code' => 0, 'msg' => '排行榜暂未开启', 'data' => null];
return ['code' => 0, 'msg' => '排行榜暂未开启', 'data' => null];
}
//是否开启巡乐会

View File

@@ -70,8 +70,8 @@ class RoomHourRanking
$distributionResult = $this->distributeByRank($groupedRewards);
//获取上个数组的个数,从而获取配置了多少个名次
$count = count($gift_list);
// echo "上个时间段的配置总数:" .$count."\n";
$count = count($distributionResult);
echo "上个时间段的配置总数:" .$count."\n";
//获取前一个小时的 前$count名房间排行
$room_list = model('api/RoomHourRanking')->room_hour_ranking(1, $count, $start_time, $end_time);
$room_owner = [];
@@ -79,26 +79,31 @@ class RoomHourRanking
//获取房间排行奖励最低值
$min_price = db::name('vs_hour_ranking_config')->where('id', 1)->value('min_price');
if ($room_list['data']['lists']) {
$i = 0;
foreach ($room_list['data']['lists'] as $k => $v){
echo "房间列表:" .json_encode($room_list['data']['lists'])."\n";
foreach ($room_list['data']['lists'] as $v){
if ($v['total_price'] >= $min_price) {
$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'];
$room_owner[] = [
'user_id' => $v['user_id'],
'room_name' => $v['room_name'],
'room_id' => $v['room_id'],
'total_price' => $v['total_price']
];
}
$i++;
}
}
}
if ($distributionResult && $room_owner) {
$text_list_new = [];
// echo "礼物数:" .json_encode($distributionResult)."\n";
echo "礼物数:" .json_encode($distributionResult)."\n";
echo "房主:" .json_encode($room_owner)."\n";
foreach ($distributionResult as $k => $value) {
//礼物全部给他偷偷放在装扮表及金额 中
//有几个用户就发几个
if(count($room_owner) > $k){
// 为每个房间添加一个标志,表示是否已处理推送信息
$hasProcessedPush = false;
foreach ($value['rewards'] as $v){
if($v['type'] == 0){//1金币2礼物3头像4坐骑
echo "发金币:" .$v['value'].'==>'.$room_owner[$k]['user_id']."\n";
@@ -111,28 +116,26 @@ class RoomHourRanking
}elseif ($v['type'] == 3){
$res = $this->add_decorate($v['value'], $room_owner[$k]['user_id'],$k + 1,$room_owner[$k]['room_id'],$room_owner[$k]['total_price'],$is_piao,4);
}
if(isset($res) && $res){
if($is_piao == 1){
// 只有在第一次处理奖励时添加推送信息,避免重复推送
if(!$hasProcessedPush && $is_piao == 1) {
$room_name = $room_owner[$k]['room_name'];
//推送礼物横幅
if($k == 0){
$text = '新科状元!【'.$room_name.'】独占鳌头!';
}
elseif($k == 1){
$text = '金榜榜眼!【'.$room_name.'】才气逼人!';
}
elseif($k == 2){
$text = '风采探花!【'.$room_name.'】实力绽放!';
if ($k == 0) {
$text = '新科状元!【' . $room_name . '】独占鳌头!';
} elseif ($k == 1) {
$text = '金榜榜眼!【' . $room_name . '】才气逼人!';
} elseif ($k == 2) {
$text = '风采探花!【' . $room_name . '】实力绽放!';
}
$text_list_new[] = [
'text' => $text ?? '恭喜【'.$room_name.'】获得礼物!',
'text' => $text ?? '恭喜【' . $room_name . '】获得礼物!',
'room_id' => $room_owner[$k]['room_id'],
'room_name' => $room_name,
'rank_number' => $k + 1,
];
}
$hasProcessedPush = true; // 标记已处理推送
}
}