mirror of
https://github.com/v2board/v2board.git
synced 2024-11-10 17:49:11 +08:00
fix: remind traffic
This commit is contained in:
parent
76f0b4d4d0
commit
ac48f90678
@ -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)
|
||||||
|
Loading…
Reference in New Issue
Block a user