update reset traffic method

This commit is contained in:
Tokumeikoi 2020-03-02 00:04:07 +08:00
parent 47d8dfd7c8
commit bb49fb15d1
5 changed files with 27 additions and 11 deletions

View File

@ -3,8 +3,6 @@
namespace App\Console\Commands;
use Illuminate\Console\Command;
use Illuminate\Support\Facades\DB;
use App\Models\Plan;
use App\Models\User;
class ResetTraffic extends Command
@ -40,12 +38,25 @@ class ResetTraffic extends Command
*/
public function handle()
{
// get plans of cycle type
$plans = Plan::where('type', 0)->get();
$users = User::whereIn('plan_id', $plans);
$users->update([
'u' => 0,
'd' => 0
]);
$user = User::where('expired_at', '!=', NULL);
$resetTrafficMethod = config('v2board.reset_traffic_method', 0);
switch ($resetTrafficMethod) {
// 1 a month
case 0:
$user->update([
'u' => 0,
'd' => 0
]);
break;
// expire day
case 1:
$startAt = strtotime(date('Y-m-d', time()));
$user->where('expired_at', '>=', $startAt)
->where('expired_at', '<', $startAt + 24 * 3600)
->update([
'u' => 0,
'd' => 0
]);
}
}
}

View File

@ -30,7 +30,7 @@ class Kernel extends ConsoleKernel
$schedule->command('check:order')->everyMinute();
$schedule->command('check:commission')->everyMinute();
// reset
$schedule->command('reset:traffic')->monthly();
$schedule->command('reset:traffic')->daily();
$schedule->command('reset:serverLog')->monthly();
// send
$schedule->command('send:remindMail')->dailyAt('11:30');

View File

@ -34,7 +34,8 @@ class ConfigController extends Controller
'email_whitelist_suffix' => config('v2board.email_whitelist_suffix', Dict::EMAIL_WHITELIST_SUFFIX_DEFAULT)
],
'subscribe' => [
'plan_change_enable' => (int)config('v2board.plan_change_enable', 1)
'plan_change_enable' => (int)config('v2board.plan_change_enable', 1),
'reset_traffic_method' => (int)config('v2board.reset_traffic_method', 0)
],
'pay' => [
// alipay

View File

@ -25,6 +25,7 @@ class ConfigSave extends FormRequest
'email_whitelist_suffix' => '',
// subscribe
'plan_change_enable' => 'in:0,1',
'reset_traffic_method' => 'in:0,1',
// server
'server_token' => 'nullable|min:16',
'server_license' => 'nullable',

View File

@ -178,3 +178,6 @@ ADD `onetime_price` int(11) NULL AFTER `year_price`;
ALTER TABLE `v2_user`
DROP `banned`;
ALTER TABLE `v2_user`
CHANGE `expired_at` `expired_at` bigint(20) NULL DEFAULT '0' AFTER `token`;