diff --git a/application/api/controller/BlindBoxTurntable.php b/application/api/controller/BlindBoxTurntable.php index 977bb105..f58ba837 100644 --- a/application/api/controller/BlindBoxTurntable.php +++ b/application/api/controller/BlindBoxTurntable.php @@ -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']); +// } /* * 巡乐会 */ diff --git a/application/api/model/Nobility.php b/application/api/model/Nobility.php index 91c20cde..eb5ccef1 100644 --- a/application/api/model/Nobility.php +++ b/application/api/model/Nobility.php @@ -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']; diff --git a/application/cron/controller/Test.php b/application/cron/controller/Test.php index 6f53e8b6..0fb5db33 100644 --- a/application/cron/controller/Test.php +++ b/application/cron/controller/Test.php @@ -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个白马王子 (礼物ID:399) + // 10012 5个白马王子(礼物ID:399) + + // $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; + } } \ No newline at end of file