Browse Source

add onetime plan

Tokumeikoi 5 years ago
parent
commit
e7fd81bf4c

+ 0 - 53
app/Console/Commands/CheckExpire.php

@@ -1,53 +0,0 @@
-<?php
-
-namespace App\Console\Commands;
-
-use Illuminate\Console\Command;
-use App\Models\Order;
-use App\Models\User;
-
-class CheckExpire extends Command
-{
-    /**
-     * The name and signature of the console command.
-     *
-     * @var string
-     */
-    protected $signature = 'check:expire';
-
-    /**
-     * The console command description.
-     *
-     * @var string
-     */
-    protected $description = '过期检查';
-
-    /**
-     * Create a new command instance.
-     *
-     * @return void
-     */
-    public function __construct()
-    {
-        parent::__construct();
-    }
-
-    /**
-     * Execute the console command.
-     *
-     * @return mixed
-     */
-    public function handle()
-    {
-        $users = User::all();
-        foreach ($users as $user) {
-            if ($user->expired_at < time() || $user->u + $user->d >= $user->transfer_enable) {
-                $user->enable = 0;
-            } else {
-                $user->enable = 1;
-            }
-            $user->save();
-        }
-    }
-
-}

+ 0 - 1
app/Console/Kernel.php

@@ -28,7 +28,6 @@ class Kernel extends ConsoleKernel
         $schedule->command('v2board:cache')->hourly();
         // check
         $schedule->command('check:order')->everyMinute();
-        $schedule->command('check:expire')->everyMinute();
         $schedule->command('check:commission')->everyMinute();
         // reset
         $schedule->command('reset:traffic')->monthly();

+ 4 - 1
app/Http/Controllers/Client/ClientController.php

@@ -3,10 +3,12 @@
 namespace App\Http\Controllers\Client;
 
 use App\Http\Controllers\Controller;
+use App\Http\Middleware\User;
 use Illuminate\Http\Request;
 use App\Models\Server;
 use App\Utils\Helper;
 use Symfony\Component\Yaml\Yaml;
+use App\Services\UserService;
 
 class ClientController extends Controller
 {
@@ -15,7 +17,8 @@ class ClientController extends Controller
         $user = $request->user;
         $server = [];
         // account not expired and is not banned.
-        if ($user->expired_at > time() && !$user->banned) {
+        $userService = new UserService($user);
+        if ($userService->isAvailable()) {
             $servers = Server::where('show', 1)
                 ->orderBy('name')
                 ->get();

+ 3 - 1
app/Http/Controllers/User/ServerController.php

@@ -3,6 +3,7 @@
 namespace App\Http\Controllers\User;
 
 use App\Http\Controllers\Controller;
+use App\Services\UserService;
 use Illuminate\Http\Request;
 use Illuminate\Support\Facades\Cache;
 use App\Models\Server;
@@ -17,7 +18,8 @@ class ServerController extends Controller
     {
         $user = User::find($request->session()->get('id'));
         $server = [];
-        if ($user->expired_at > time()) {
+        $userService = new UserService($user);
+        if ($userService->isAvailable()) {
             $servers = Server::where('show', 1)
                 ->orderBy('name')
                 ->get();

+ 1 - 0
app/Services/ServerService.php

@@ -14,6 +14,7 @@ class ServerService
                 $query->where('expired_at', '>=', time())
                     ->orWhere('expired_at', 0);
             })
+            ->where('enable', 1)
             ->select([
                 'id',
                 'email',

+ 23 - 0
app/Services/UserService.php

@@ -0,0 +1,23 @@
+<?php
+
+namespace App\Services;
+
+use App\Models\User;
+
+class UserService
+{
+    public $user;
+
+    public function __construct(User $user)
+    {
+        $this->user = $user;
+    }
+
+    public function isAvailable()
+    {
+        if ($this->user->transfer_enable && ($this->user->expired_at > time() || $this->user->expired_at == 0)) {
+            return true;
+        }
+        return false;
+    }
+}