mirror of
https://github.com/ProxyPanel/ProxyPanel.git
synced 2026-04-13 07:59:20 +00:00
加入新支付方式 PayJS ← 未实装,后续版本实装。目前本人还卡在他们的账号注册上面,没法测试代码o(╥﹏╥)o 用户注册等地方添加新字段: 昵称; 用于后续邮件,页面显示;还需要更多优化与应用; 用户头像获取与昵称获取; 前提是用户有填写QQ信息或者注册邮箱为正常的QQ邮箱; 添加 维护模式; 模式开启后,用户界面将自动导到维护界面,管理后台正常运行。哀悼日网站可以添加大厂一样的哀悼维护了 3.1 维护模式定时关闭功能; 3.2 维护模式自定义提示语; Ping检测与定时记录; 4.1 添加Ping记录界面; 4.2 节点界面添加检测独立Ping按钮; 4.3 针对用户界面添加Ping参考信息; 余额充值自定义功能 部分界面js显示优化 模块化页面;
65 lines
2.1 KiB
PHP
65 lines
2.1 KiB
PHP
<?php
|
||
|
||
namespace App\Console\Commands;
|
||
|
||
use App\Http\Models\User;
|
||
use Illuminate\Console\Command;
|
||
use Log;
|
||
|
||
class upgradeUserResetTime extends Command
|
||
{
|
||
protected $signature = 'upgradeUserResetTime';
|
||
protected $description = '升级用户重置日期';
|
||
|
||
public function __construct()
|
||
{
|
||
parent::__construct();
|
||
}
|
||
|
||
public function handle()
|
||
{
|
||
Log::info('----------------------------【升级用户重置日期】开始----------------------------');
|
||
|
||
$userList = User::query()->get();
|
||
foreach($userList as $user){
|
||
$reset_time = NULL;
|
||
if($user->traffic_reset_day){
|
||
$today = date('d');// 今天 日期
|
||
$last_day = date('t'); //本月最后一天
|
||
$next_last_day = date('t', strtotime("+1 month"));//下个月最后一天
|
||
$resetDay = $user->traffic_reset_day;// 用户原本的重置日期
|
||
// 案例:31 29,重置日 大于 本月最后一天
|
||
if($resetDay > $last_day){
|
||
//往后推一个月
|
||
$resetDay = $resetDay-$last_day;
|
||
$reset_time = date('Y-m-'.$resetDay, strtotime("+1 month"));
|
||
//案例:20<30<31
|
||
}elseif($resetDay < $last_day && $resetDay > $today){
|
||
$reset_time = date('Y-m-'.$resetDay);
|
||
// 本日为重置日
|
||
}elseif($resetDay == $today){
|
||
$reset_time = date('Y-m-d', strtotime("+1 month"));
|
||
//本月已经重置过了
|
||
}elseif($resetDay < $today){
|
||
//类似第一种情况,向后推一月
|
||
if($resetDay > $next_last_day){
|
||
$resetDay = $resetDay-$next_last_day;
|
||
$reset_time = date('Y-m-'.$resetDay, strtotime("+1 month"));
|
||
}else{
|
||
$reset_time = date('Y-m-'.$resetDay, strtotime("+1 month"));
|
||
}
|
||
}
|
||
// 用户账号有效期大于重置日期
|
||
if($reset_time > $user->expire_time){
|
||
$reset_time = NULL;
|
||
}
|
||
User::query()->where('id', $user->id)->update(['reset_time' => $reset_time]);
|
||
}
|
||
|
||
Log::info('---用户[ID:'.$user->id.' - '.$user->username.' ('.$user->email.')]的新重置日期为'.($reset_time != NULL? '【'.$reset_time.'】' : '【无】').'---');
|
||
}
|
||
|
||
Log::info('----------------------------【升级用户重置日期】结束----------------------------');
|
||
}
|
||
}
|