mirror of
				https://github.com/v2board/v2board.git
				synced 2025-10-31 17:31:49 +08:00 
			
		
		
		
	add onetime plan
This commit is contained in:
		| @@ -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(); | ||||
|         } | ||||
|     } | ||||
|  | ||||
| } | ||||
| @@ -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(); | ||||
|   | ||||
| @@ -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,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(); | ||||
|   | ||||
| @@ -14,6 +14,7 @@ class ServerService | ||||
|                 $query->where('expired_at', '>=', time()) | ||||
|                     ->orWhere('expired_at', 0); | ||||
|             }) | ||||
|             ->where('enable', 1) | ||||
|             ->select([ | ||||
|                 'id', | ||||
|                 'email', | ||||
|   | ||||
							
								
								
									
										23
									
								
								app/Services/UserService.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								app/Services/UserService.php
									
									
									
									
									
										Normal file
									
								
							| @@ -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; | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user