fix: remind traffic

This commit is contained in:
Tokumeikoi 2020-09-23 22:40:20 +08:00
parent 29fc4206c0
commit 76f0b4d4d0
4 changed files with 29 additions and 29 deletions

View File

@ -43,7 +43,6 @@ class SendRemindMail extends Command
$users = User::all();
foreach ($users as $user) {
if ($user->remind_expire) $this->remindExpire($user);
if ($user->remind_traffic) $this->remindTraffic($user);
}
}
@ -61,31 +60,4 @@ class SendRemindMail extends Command
]);
}
}
private function remindTraffic($user)
{
if ($this->remindTrafficIsWarnValue(($user->u + $user->d), $user->transfer_enable)) {
$sendCount = MailLog::where('created_at', '>=', strtotime(date('Y-m-1')))
->where('template_name', 'like', '%remindTraffic%')
->count();
if ($sendCount > 0) return;
SendEmailJob::dispatch([
'email' => $user->email,
'subject' => '在' . config('v2board.app_name', 'V2board') . '的流量使用已达到80%',
'template_name' => 'remindTraffic',
'template_value' => [
'name' => config('v2board.app_name', 'V2Board'),
'url' => config('v2board.app_url')
]
]);
}
}
private function remindTrafficIsWarnValue($ud, $transfer_enable)
{
if ($ud <= 0) return false;
if (($ud / $transfer_enable * 100) < 80) return false;
return true;
}
}

View File

@ -148,7 +148,7 @@ class ConfigController extends Controller
}
if (function_exists('opcache_reset')) {
if (!opcache_reset()) {
abort(500, '保存失败请删除或检查opcache状态');
abort(500, '缓存清除失败请卸载或检查opcache配置状态');
}
}
\Artisan::call('config:cache');

View File

@ -2,6 +2,32 @@
namespace App\Services;
use App\Jobs\SendEmailJob;
use App\Models\User;
class MailService
{
public function remindTraffic (User $user)
{
if (!$user->remind_traffic) return;
if (!$this->remindTrafficIsWarnValue(($user->u + $user->d), $user->transfer_enable)) {
return;
}
SendEmailJob::dispatch([
'email' => $user->email,
'subject' => '在' . config('v2board.app_name', 'V2board') . '的流量使用已达到80%',
'template_name' => 'remindTraffic',
'template_value' => [
'name' => config('v2board.app_name', 'V2Board'),
'url' => config('v2board.app_url')
]
]);
}
private function remindTrafficIsWarnValue($ud, $transfer_enable)
{
if ($ud <= 0) return false;
if (($ud / $transfer_enable * 100) < 80) return false;
return true;
}
}

View File

@ -88,6 +88,8 @@ class UserService
if (!$user->save()) {
return false;
}
$mailService = new MailService();
$mailService->remindTraffic($user);
return true;
}
}