线上bug修改

This commit is contained in:
2026-01-02 12:36:46 +08:00
parent c438fb049e
commit 4be7ddc1c2
3 changed files with 215 additions and 28 deletions

View File

@@ -78,13 +78,13 @@ class BlindBoxTurntable extends BaseCom
/*
* 获取全服抽奖记录
*/
public function get_all_record(){
$gift_bag_id = input('gift_bag_id',0);
$page = input('page',1);
$page_size = input('page_size',12);
$reslut = model('BlindBoxTurntableGift')->get_all_record($gift_bag_id,$page,$page_size);
return v($reslut['code'], $reslut['msg'], $reslut['data']);
}
// public function get_all_record(){
// $gift_bag_id = input('gift_bag_id',0);
// $page = input('page',1);
// $page_size = input('page_size',12);
// $reslut = model('BlindBoxTurntableGift')->get_all_record($gift_bag_id,$page,$page_size);
// return v($reslut['code'], $reslut['msg'], $reslut['data']);
// }
/*
* 巡乐会
*/

View File

@@ -177,12 +177,12 @@ class Nobility extends Model
}else{ //升级
$is_renew = 2;
if($user_nobility_info['end_time'] > time()){
$old_end_time = $user_nobility_info['end_time'];
}else{
$old_end_time = time();
}
$end_time = $old_end_time + $nobility_info['day'] * 86400;
// if($user_nobility_info['end_time'] > time()){
// $old_end_time = $user_nobility_info['end_time'];
// }else{
// $old_end_time = time();
// }
$end_time = time() + $nobility_info['day'] * 86400; //结束时间重置
$data = [
'lid' => $lid,
'user_id' => $user_id,
@@ -219,17 +219,7 @@ class Nobility extends Model
'createtime' => time(),
];
db::name('vs_user_nobility_log')->insert($log_data);
//发放装扮
$nobility_decorate = db::name('vs_nobility_decorate')
->field('id,did,dpid,day')
->where('delete_time', 0)
->where('lid', $lid)
->select();
if($nobility_decorate){
foreach ($nobility_decorate as $key => $value) {
model('api/Decorate')->pay_decorate($user_id,$value['did'],$value['day'],9);
}
}
//发放金币
if($is_renew == 1){
$pay_coin = $nobility_info['renew_coin'] ?? 0;
@@ -260,6 +250,18 @@ class Nobility extends Model
return ['code' => 0, 'msg' => '失败', 'data' => null];
}
}
//发放装扮
$nobility_decorate = db::name('vs_nobility_decorate')
->field('id,did,dpid,day')
->where('delete_time', 0)
->where('lid', $lid)
->select();
if($nobility_decorate){
foreach ($nobility_decorate as $key => $value) {
model('api/Decorate')->pay_decorate($user_id,$value['did'],$value['day'],9);
}
}
//更新装备缓存
$cache_key = 'user_base_info_'.$user_id;
Cache::rm($cache_key);
@@ -302,7 +304,7 @@ class Nobility extends Model
}
}else{ //升级
$old_nobility_info = db::name('vs_nobility')
->field('lid,name,pay_price,pay_coin')
->field('lid,name,pay_price,pay_coin,day')
->where('delete_time', 0)
->where('lid', $user_nobility_info['lid'])
->find();
@@ -312,8 +314,12 @@ class Nobility extends Model
if($surplus_time > 0){
//小时
$surplus_time_hour = floor($surplus_time / 3600); //向下取整
if($nobility_info['pay_price']!=0 && $nobility_info['day']!=0){
$price = $nobility_info['pay_price'] - bcmul($surplus_time_hour * (($old_nobility_info['pay_price'] / $nobility_info['day']) / 24),1,2); //一小时的价格算
if($surplus_time_hour / 24 > $old_nobility_info['day']*2){
return ['code' => 0, 'msg' => '已超过2倍有效期,无法升级', 'data' => null];
// $surplus_time_hour = $old_nobility_info['day'] * 24 * 2;
}
if($nobility_info['pay_price']!=0 && $old_nobility_info['day']!=0){
$price = $nobility_info['pay_price'] - bcmul($surplus_time_hour * (($old_nobility_info['pay_price'] / $old_nobility_info['day']) / 24),1,2); //一小时的价格算
}
}else{
$price = $nobility_info['pay_price'];

View File

@@ -27,7 +27,8 @@ class Test
//
// $this->clean_guild_flow();
$this->createGuildSubsidyData();
// $this->giftSend();
// $this->createGuildSubsidyDataNewNew();
}
@@ -783,4 +784,184 @@ class Test
}
echo $time_value . "工会周补贴数据生成完成-共" . $data_count . "条数据\n";
}
/*
* 生成工会补贴数据
* 配置:定时脚本每周一 执行
* 配置:/cron/Subsidy/createGuildSubsidyData
*/
public function createGuildSubsidyDataNewNew(){
//获取上周第一天时间
$week_start_time = strtotime('last week Monday');
$week_end_time = strtotime(date('Y-m-d 23:59:59',strtotime('last week Sunday')));
// $week_start_time = strtotime('2025-12-08');
// $week_end_time = strtotime('2025-12-15');
$week_start_time = strtotime('2025-12-22');
$week_end_time = strtotime('2025-12-31');
//获取上周时间
$time_value = date('o-W', $week_start_time);
echo $time_value . "工会周补贴数据生成开始\n";
//查询所有工会
$guild_list = db::name('vs_guild')->where(['delete_time'=>0])->field('id')->select();
$data_count = 0;
foreach ($guild_list as $key => $value) {
$transaction = Db::name('vs_guild_flow')
->where(['guild_id' => $value['id']])
->where(['createtime' => ['between', [$week_start_time, $week_end_time]]])
->sum('flow_price');
if($transaction > 0){
//判断是否已经生成过
// if (db::name('vs_guild_subsidy')->where(['guild_id'=>$value['id'],'week'=>$time_value])->find()) {
// continue;
// }
//获取补贴配置
$config = db::name('vs_guild_subsidy_config')->where(['status' => 1])->order('end_amount desc')->select(); //配置查询
if (!$config) {
echo '补贴配置为空\n';
die;
}
$subsidy_ratio = 0;
$subsidy_amount = 0;
foreach ($config as $k => $v) {
if ($transaction >= $v['end_amount']) {
$subsidy_ratio = $v['subsidy_ratio'];
$subsidy_amount = ($transaction * ($subsidy_ratio / 100)) / get_system_config_value('rmb_coin_ratio');//转为钻石
break; // 找到匹配项后提前退出循环
}
}
//生成补贴数据
$data = [
'guild_id' => $value['id'],
'week' => $time_value,
'start_time' => date('Y-m-d H:i:s', $week_start_time),
'end_time' =>date('Y-m-d H:i:s', $week_end_time),
'total_transaction' => $transaction,
'subsidy_amount' => $subsidy_amount,
'subsidy_ratio' => $subsidy_ratio,
'status' => 0,
'createtime' => time(),
];
echo "工会".$value['id']."生成数据:流水金额:{$transaction} 补贴比例:{$subsidy_ratio}% 补贴金额:{$subsidy_amount}\n";
// $subsidy_id = Db::name('vs_guild_subsidy_1')->insertGetId($data);。。。。11
// if ($subsidy_id) {
// echo "工会".$value['id']."生成成功(补贴ID".$subsidy_id." 补贴金额:".$subsidy_amount.")\n";
// $data_count++;
// }
}
}
echo $time_value . "工会周补贴数据生成完成-共" . $data_count . "条数据\n";
}
//礼物发放
public function giftSend(){
die;
// 用户补偿12963 3个白马王子 (礼物ID399
// 10012 5个白马王子(礼物ID399
// $user_id = 24224; //拿大锤
// $gift_id = 399; //白马王子
// $num = 3;
echo $user_id."开始执行\n";die;
$res = model('api/UserGiftPack')->change_user_gift_pack($user_id,$gift_id,$num,model('api/UserGiftPack')::SYSTEM_ADJUSTMENT,"补偿:巡乐会卡顿赠送");
print_r($res);
// $user_id = 21222; //娃哈哈
// $gift_id = 399; //白马王子
// $num = 5;
echo $user_id."开始执行\n";die;
$res = model('api/UserGiftPack')->change_user_gift_pack($user_id,$gift_id,$num,model('api/UserGiftPack')::SYSTEM_ADJUSTMENT,"补偿:巡乐会卡顿赠送");
print_r($res);die;
}
//禁言
public function mute_member(){
$guild_id = 77;
$guild_user_ids = db::name('vs_guild_user')
->where(['delete_time'=>0])
->where(['status'=>1])
->where(['guild_id'=>$guild_id])
->field('user_id')->select();
$user_ids =[];
foreach ($guild_user_ids as $key => $value) {
$user_ids[] = 'u'.$value['user_id'];
}
model('api/Tencent')->mute_member('g'.$guild_id, $user_ids, 86400*7);
}
public function cesjs(){
$user_nobility_info = db::name('vs_user_nobility')
->field('id,user_id,lid,end_time')
->where('delete_time', 0)
->where(['end_time'=>['>',time()]])
->select();
foreach ($user_nobility_info as $key => $value) {
$nobility_info = db::name('vs_nobility')
->field('lid,name,image,pay_price,renew_price,day,power_ids')
->where('delete_time', 0)
->where('lid', $value['lid'])
->find();
if($value['end_time'] > time() + $nobility_info['day']*86400){
echo $value['user_id']. "续费时间:".date('Y-m-d H:i:s',$value['end_time'])."\n";
}
}
die();
// echo (1772977260-time()) / (3600*24) ;die;
//金币:
// $surplus_time = 1769664342 - 1767187765;
// if($surplus_time > 0){
// //小时
// $surplus_time_hour = floor($surplus_time / 3600); //向下取整
// $pay_coin = 49999.00 - bcmul($surplus_time_hour * ((10990.00 / 30) / 24),1,2); //一小时的价格算
//echo floor($pay_coin);die;
$old_nobility_info = db::name('vs_nobility')
->field('lid,name,pay_price,pay_coin')
->where('delete_time', 0)
->where('lid',7)
->find();
$nobility_info = db::name('vs_nobility')
->field('lid,name,image,pay_price,renew_price,day,power_ids')
->where('delete_time', 0)
->where('lid', 8)
->find();
$old_end_time = 1774848342;
$pay_time = 1767278104;
$surplus_time = $old_end_time - $pay_time;
// echo $surplus_time;
if($surplus_time > 0){
//小时
$surplus_time_hour = floor($surplus_time / 3600); //向下取整
// echo $surplus_time_hour;die;
// echo ($old_nobility_info['pay_price'] / $nobility_info['day']) / 24;die;
$price = $nobility_info['pay_price'] - bcmul($surplus_time_hour * (($old_nobility_info['pay_price'] / $nobility_info['day']) / 24),1,2);
//使用时间
$use_time = $old_nobility_info['1767072342'] - time();
$price = $nobility_info['pay_price'] - $old_nobility_info['pay_price'] + ((($old_nobility_info['pay_price'] / $nobility_info['day']) / 24) * $use_time);
//价格=
//一小时的价格算
}
// $end_time = time() + $nobility_info['day'] * 86400;
echo $price;
// }
// $re = model('api/Decorate')->pay_decorate(20150,46,30,9);
// print_r($re);die;
}
}