fix: remind traffic

This commit is contained in:
Tokumeikoi 2020-09-23 23:15:43 +08:00
parent 76f0b4d4d0
commit ac48f90678
2 changed files with 11 additions and 5 deletions

View File

@ -4,15 +4,18 @@ namespace App\Services;
use App\Jobs\SendEmailJob;
use App\Models\User;
use App\Utils\CacheKey;
use Illuminate\Support\Facades\Cache;
class MailService
{
public function remindTraffic (User $user)
{
if (!$user->remind_traffic) return;
if (!$this->remindTrafficIsWarnValue(($user->u + $user->d), $user->transfer_enable)) {
return;
}
if (!$this->remindTrafficIsWarnValue(($user->u + $user->d), $user->transfer_enable)) 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([
'email' => $user->email,
'subject' => '在' . config('v2board.app_name', 'V2board') . '的流量使用已达到80%',
@ -27,7 +30,9 @@ class MailService
private function remindTrafficIsWarnValue($ud, $transfer_enable)
{
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;
}
}

View File

@ -11,7 +11,8 @@ class CacheKey
'SERVER_V2RAY_LAST_CHECK_AT' => '节点最后检查时间',
'SERVER_TROJAN_ONLINE_USER' => 'trojan节点在线用户',
'SERVER_TROJAN_LAST_CHECK_AT' => 'trojan节点最后检查时间',
'TEMP_TOKEN' => '临时令牌'
'TEMP_TOKEN' => '临时令牌',
'LAST_SEND_EMAIL_REMIND_TRAFFIC'
];
public static function get(string $key, $uniqueValue)