This commit is contained in:
root 2019-12-30 16:21:50 +08:00
parent 157a97b35d
commit 5070c851ed
4 changed files with 43 additions and 6 deletions

View File

@ -41,23 +41,30 @@ class SendRemindMail extends Command
{ {
$users = User::all(); $users = User::all();
foreach ($users as $user) { foreach ($users as $user) {
if ($user->remind_expire) { if ($user->remind_expire) $this->remindExpire($user);
$this->remindExpire($user); if ($user->remind_traffic) $this->remindTraffic($user);
}
} }
} }
private function remindExpire ($user) { private function remindExpire ($user) {
if (($user->expired_at - 86400) < time() && $user->expired_at > time()) { if (($user->expired_at - 86400) < time() && $user->expired_at > time()) {
$this->dispatch(new SendEmail([ SendEmail::dispatch([
'email' => $user->email, 'email' => $user->email,
'subject' => '在' . config('v2board.app_name', 'V2board') . '的服务即将到期', 'subject' => '在' . config('v2board.app_name', 'V2board') . '的服务即将到期',
'template_name' => 'mail.sendRemindExpire', 'template_name' => 'mail.sendRemindExpire',
'template_value' => [ 'template_value' => [
'name' => config('v2board.app_name', 'V2Board') 'name' => config('v2board.app_name', 'V2Board')
] ]
])); ]);
} }
} }
private function remindTraffic ($user) {
if ((($user->u + $user->d) / $user->transfer_enable * 100) >= 80) {
}
}
} }

View File

@ -8,6 +8,7 @@ use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels; use Illuminate\Queue\SerializesModels;
use Illuminate\Support\Facades\Mail; use Illuminate\Support\Facades\Mail;
use App\Models\MailLog;
class SendEmail implements ShouldQueue class SendEmail implements ShouldQueue
{ {
@ -40,5 +41,12 @@ class SendEmail implements ShouldQueue
$message->to($email)->subject($subject); $message->to($email)->subject($subject);
} }
); );
MailLog::create([
'email' => $params['email'],
'subject' => $params['subject'],
'template_name' => $params['template_name'],
'error' => count(Mail::failures()) > 0 ? Mail::failures()[0] : NULL
]);
} }
} }

12
app/Models/MailLog.php Normal file
View File

@ -0,0 +1,12 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class MailLog extends Model
{
protected $table = 'v2_mail_log';
protected $dateFormat = 'U';
protected $guarded = ['id'];
}

View File

@ -80,3 +80,13 @@ CHANGE `year_price` `year_price` int(11) NULL DEFAULT '0' AFTER `half_year_price
ALTER TABLE `v2_server` ALTER TABLE `v2_server`
ADD `parent_id` int(11) NULL AFTER `group_id`; ADD `parent_id` int(11) NULL AFTER `group_id`;
CREATE TABLE `v2_mail_log` (
`id` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
`email` varchar(64) NOT NULL,
`subject` varchar(255) NOT NULL,
`template_name` varchar(255) NOT NULL,
`error` varchar(255) DEFAULT NULL,
`created_at` int(11) NOT NULL,
`updated_at` int(11) NOT NULL
);