房间小时榜相关

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]['user_id'] = $v['user_id'];
$room_owner[$i]['room_name'] = $v['room_name']; $room_owner[$i]['room_name'] = $v['room_name'];
$room_owner[$i]['room_id'] = $v['room_id']; $room_owner[$i]['room_id'] = $v['room_id'];
$room_owner[$i]['total_price'] = $v['total_price'];
} }
$i++; $i++;
} }
@@ -80,7 +81,7 @@ 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']); $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){ }elseif ($v['gift_type'] == 2){
$res = $this->add_gift($v['gift_id'], $room_owner[$k]['user_id']); $res = $this->add_gift($v['gift_id'], $room_owner[$k]['user_id']);
}elseif ($v['gift_type'] == 3){ }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 = [ $data = [
'user_id' => $user_id, 'user_id' => $user_id,
'change_value' => $coin, 'change_value' => $coin,
@@ -146,21 +147,58 @@ class RoomHourRanking
if(!$res1){ if(!$res1){
Db::rollback(); 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(); Db::commit();
return true; 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,"小时榜获得"); $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");
} }
//添加到排行表
$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; 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(); $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");
@@ -169,6 +207,24 @@ class RoomHourRanking
if($res['code'] == 0){ if($res['code'] == 0){
Log::record("小时榜获取装扮失败:".$res['msg']."-".$avatar_id,"info"); 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; return true;
} }