mirror of
				https://github.com/v2board/v2board.git
				synced 2025-10-31 09:21:46 +08:00 
			
		
		
		
	fix: remind traffic
This commit is contained in:
		| @@ -4,15 +4,18 @@ namespace App\Services; | |||||||
|  |  | ||||||
| use App\Jobs\SendEmailJob; | use App\Jobs\SendEmailJob; | ||||||
| use App\Models\User; | use App\Models\User; | ||||||
|  | use App\Utils\CacheKey; | ||||||
|  | use Illuminate\Support\Facades\Cache; | ||||||
|  |  | ||||||
| class MailService | class MailService | ||||||
| { | { | ||||||
|     public function remindTraffic (User $user) |     public function remindTraffic (User $user) | ||||||
|     { |     { | ||||||
|         if (!$user->remind_traffic) return; |         if (!$user->remind_traffic) return; | ||||||
|         if (!$this->remindTrafficIsWarnValue(($user->u + $user->d), $user->transfer_enable)) { |         if (!$this->remindTrafficIsWarnValue(($user->u + $user->d), $user->transfer_enable)) return; | ||||||
|             return; |         $flag = CacheKey::get('LAST_SEND_EMAIL_REMIND_TRAFFIC', $user->id); | ||||||
|         } |         if (Cache::get($flag)) return; | ||||||
|  |         if (!Cache::put($flag, 1, 24 * 3600)) return; | ||||||
|         SendEmailJob::dispatch([ |         SendEmailJob::dispatch([ | ||||||
|             'email' => $user->email, |             'email' => $user->email, | ||||||
|             'subject' => '在' . config('v2board.app_name', 'V2board') . '的流量使用已达到80%', |             'subject' => '在' . config('v2board.app_name', 'V2board') . '的流量使用已达到80%', | ||||||
| @@ -27,7 +30,9 @@ class MailService | |||||||
|     private function remindTrafficIsWarnValue($ud, $transfer_enable) |     private function remindTrafficIsWarnValue($ud, $transfer_enable) | ||||||
|     { |     { | ||||||
|         if ($ud <= 0) return false; |         if ($ud <= 0) return false; | ||||||
|         if (($ud / $transfer_enable * 100) < 80) return false; |         $percentage = $ud / $transfer_enable * 100; | ||||||
|  |         if ($percentage < 80) return false; | ||||||
|  |         if ($percentage >= 100) return false; | ||||||
|         return true; |         return true; | ||||||
|     } |     } | ||||||
| } | } | ||||||
|   | |||||||
| @@ -11,7 +11,8 @@ class CacheKey | |||||||
|         'SERVER_V2RAY_LAST_CHECK_AT' => '节点最后检查时间', |         'SERVER_V2RAY_LAST_CHECK_AT' => '节点最后检查时间', | ||||||
|         'SERVER_TROJAN_ONLINE_USER' => 'trojan节点在线用户', |         'SERVER_TROJAN_ONLINE_USER' => 'trojan节点在线用户', | ||||||
|         'SERVER_TROJAN_LAST_CHECK_AT' => 'trojan节点最后检查时间', |         'SERVER_TROJAN_LAST_CHECK_AT' => 'trojan节点最后检查时间', | ||||||
|         'TEMP_TOKEN' => '临时令牌' |         'TEMP_TOKEN' => '临时令牌', | ||||||
|  |         'LAST_SEND_EMAIL_REMIND_TRAFFIC' | ||||||
|     ]; |     ]; | ||||||
|  |  | ||||||
|     public static function get(string $key, $uniqueValue) |     public static function get(string $key, $uniqueValue) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user