房间小时榜相关

This commit is contained in:
2025-09-29 21:00:30 +08:00
parent 6e86199ea5
commit f21032aa56
2 changed files with 115 additions and 8 deletions

View File

@@ -0,0 +1,104 @@
<?php
namespace app\adminapi\controller;
use think\Db;
class RoomHourRanking
{
//房间小时榜列表
public function room_hour_ranking()
{
$page = input('page', 1);
$page_limit = input('page_limit', 20);
$search_ranking = input('search_ranking', '');
$search_stime = input('search_stime', '');
$search_etime = input('search_etime', '');
$where = [];
if ($search_ranking) {
$where[] = ['room_name', 'like', '%' . $search_ranking . '%'];
}
if ($search_stime) {
$where[] = ['stime', '>=', $search_stime];
}
if ($search_etime) {
$where[] = ['etime', '<=', $search_etime];
}
$count = db::name('vs_hour_ranking')->where($where)->count();
$list = db::name('vs_hour_ranking')->where($where)->page($page, $page_limit)->order('id desc')->select();
if($list){
foreach ($list as &$v){
$v['room_name'] = db::name('vs_room')->where(['id'=>$v['room_id']])->value('room_name');
$v['user_id'] = db::name('vs_room')->where(['id'=>$v['room_id']])->value('user_id');
if($v['user_id']){
$v['nickname'] = db::name('vs_user')->where(['id'=>$v['user_id']])->value('nickname');
}
}
}
$return_data = [
'page' =>$page,
'page_limit' => $page_limit,
'count' => $count,
'lists' => $list
];
return V(1,"成功", $return_data);
}
//房间小时榜配置
public function room_hour_ranking_config()
{
$list = db::name('vs_hour_ranking_config')->order('id', 'desc')->find();
return V(1,"成功", $list);
}
//房间小时榜配置修改
public function room_hour_ranking_config_edit()
{
$data = input('post.');
$data['is_open_red_pack'] = 0;//暂时不开启
$data['createtime'] = time();
$data['updatetime'] = time();
$res = db::name('vs_hour_ranking_config')->insert($data);
if ($res) {
return V(1, "成功");
} else {
return V(0, "失败");
}
}
//时间段对应关系
public function time_period_correspondence()
{
$list = [
[25 => '全时段'],
[0 => '00:00-01:00'],
[1 => '01:00-02:00'],
[2 => '02:00-03:00'],
[3 => '03:00-04:00'],
[4 => '04:00-05:00'],
[5 => '05:00-06:00'],
[6 => '06:00-07:00'],
[7 => '07:00-08:00'],
[8 => '08:00-09:00'],
[9 => '09:00-10:00'],
[10 => '10:00-11:00'],
[11 => '11:00-12:00'],
[12 => '12:00-13:00'],
[13 => '13:00-14:00'],
[14 => '14:00-15:00'],
[15 => '15:00-16:00'],
[16 => '16:00-17:00'],
[17 => '17:00-18:00'],
[18 => '18:00-19:00'],
[19 => '19:00-20:00'],
[20 => '20:00-21:00'],
[21 => '21:00-22:00'],
[22 => '22:00-23:00'],
[23 => '23:00-00:00'],
];
return V(1,"成功", $list);
}
}

View File

@@ -81,13 +81,13 @@ class RoomHourRanking
//有几个用户就发几个 //有几个用户就发几个
if(count($room_owner) > $k){ if(count($room_owner) > $k){
if($v['gift_type'] == 1){//1金币2礼物3头像4坐骑 if($v['gift_type'] == 1){//1金币2礼物3头像4坐骑
$res = $this->add_coin($v['coin'], $room_owner[$k]['user_id'],$k + 1,$room_owner[$k]['room_id'],$room_owner[$k]['total_price']); $res = $this->add_coin($v['coin'], $room_owner[$k]['user_id'],$k + 1,$room_owner[$k]['room_id'],$room_owner[$k]['total_price'],$is_piao);
}elseif ($v['gift_type'] == 2){ }elseif ($v['gift_type'] == 2){
$res = $this->add_gift($v['gift_id'], $room_owner[$k]['user_id'],$k + 1,$room_owner[$k]['room_id'],$room_owner[$k]['total_price']); $res = $this->add_gift($v['gift_id'], $room_owner[$k]['user_id'],$k + 1,$room_owner[$k]['room_id'],$room_owner[$k]['total_price'],$is_piao);
}elseif ($v['gift_type'] == 3){ }elseif ($v['gift_type'] == 3){
$res = $this->add_decorate($v['gift_id'], $room_owner[$k]['user_id'],$k + 1,$room_owner[$k]['room_id'],$room_owner[$k]['total_price']); $res = $this->add_decorate($v['gift_id'], $room_owner[$k]['user_id'],$k + 1,$room_owner[$k]['room_id'],$room_owner[$k]['total_price'],$is_piao,3);
}elseif ($v['gift_type'] == 4){ }elseif ($v['gift_type'] == 4){
$res = $this->add_decorate($v['gift_id'], $room_owner[$k]['user_id'],$k + 1,$room_owner[$k]['room_id'],$room_owner[$k]['total_price']); $res = $this->add_decorate($v['gift_id'], $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(isset($res) && $res){
if($is_piao == 1){ if($is_piao == 1){
@@ -123,7 +123,7 @@ class RoomHourRanking
} }
//添加金币到钱包 //添加金币到钱包
public function add_coin($coin,$user_id,$ranking,$room_id,$total_price){ public function add_coin($coin,$user_id,$ranking,$room_id,$total_price,$is_piao){
$data = [ $data = [
'user_id' => $user_id, 'user_id' => $user_id,
'change_value' => $coin, 'change_value' => $coin,
@@ -161,6 +161,7 @@ class RoomHourRanking
'etime' => $end_time, 'etime' => $end_time,
'createtime' => time(), 'createtime' => time(),
'updatetime' => time(), 'updatetime' => time(),
'is_public_server' => $is_piao
]); ]);
if(!$res2){ if(!$res2){
Db::rollback(); Db::rollback();
@@ -170,7 +171,7 @@ class RoomHourRanking
} }
//添加礼物到背包 //添加礼物到背包
public function add_gift($gift_id,$user_id,$ranking,$room_id,$total_price){ public function add_gift($gift_id,$user_id,$ranking,$room_id,$total_price,$is_piao){
$res = model('api/UserGiftPack')->change_user_gift_pack($user_id,$gift_id,1,model('UserGiftPack')::HOUR_RANK_GET,"小时榜获得"); $res = model('api/UserGiftPack')->change_user_gift_pack($user_id,$gift_id,1,model('UserGiftPack')::HOUR_RANK_GET,"小时榜获得");
if($res['code'] == 0){ if($res['code'] == 0){
Log::record("小时榜获取礼物失败:".$res['msg'],"info"); Log::record("小时榜获取礼物失败:".$res['msg'],"info");
@@ -190,6 +191,7 @@ class RoomHourRanking
'etime' => $end_time, 'etime' => $end_time,
'createtime' => time(), 'createtime' => time(),
'updatetime' => time(), 'updatetime' => time(),
'is_public_server' => $is_piao
]); ]);
if(!$res2){ if(!$res2){
Log::record("小时榜礼物锁定失败","info"); Log::record("小时榜礼物锁定失败","info");
@@ -198,7 +200,7 @@ class RoomHourRanking
} }
//添加装扮到背包 //添加装扮到背包
public function add_decorate($avatar_id,$user_id,$ranking,$room_id,$total_price){ public function add_decorate($avatar_id,$user_id,$ranking,$room_id,$total_price,$is_piao,$type){
$decorate_price_info = db::name('vs_decorate_price')->where(['id'=>$avatar_id])->find(); $decorate_price_info = db::name('vs_decorate_price')->where(['id'=>$avatar_id])->find();
if(empty($decorate_price_info)){ if(empty($decorate_price_info)){
Log::record("小时榜获取装扮失败:没有找到装扮!".$avatar_id,"info"); Log::record("小时榜获取装扮失败:没有找到装扮!".$avatar_id,"info");
@@ -215,12 +217,13 @@ class RoomHourRanking
'room_id' => $room_id, 'room_id' => $room_id,
'flowing_water' => $total_price, 'flowing_water' => $total_price,
'gift_id' => $avatar_id, 'gift_id' => $avatar_id,
// 'gift_type' => 2, 'gift_type' => $type,
'time_id' => date('H', strtotime('-1 hour')), 'time_id' => date('H', strtotime('-1 hour')),
'stime' => $start_time, 'stime' => $start_time,
'etime' => $end_time, 'etime' => $end_time,
'createtime' => time(), 'createtime' => time(),
'updatetime' => time(), 'updatetime' => time(),
'is_public_server' => $is_piao,
]); ]);
if(!$res2){ if(!$res2){
Log::record("小时榜咋装扮锁定失败","info"); Log::record("小时榜咋装扮锁定失败","info");