房间小时榜相关

This commit is contained in:
2025-09-29 19:50:09 +08:00
parent bb1d02a0df
commit fbe69d1fee

View File

@@ -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;
}