Browse Source

fix: remind traffic

Tokumeikoi 4 years ago
parent
commit
76f0b4d4d0

+ 0 - 28
app/Console/Commands/SendRemindMail.php

@@ -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;
-    }
-
 }

+ 1 - 1
app/Http/Controllers/Admin/ConfigController.php

@@ -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');

+ 26 - 0
app/Services/MailService.php

@@ -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;
+    }
 }

+ 2 - 0
app/Services/UserService.php

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