From bec1b251dd4de37a91b242939746c3d05c5adfbc Mon Sep 17 00:00:00 2001 From: "iVampireSP.com" Date: Fri, 30 Dec 2022 20:55:45 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=20=E7=94=9F=E6=97=A5?= =?UTF-8?q?=E6=8F=90=E9=86=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.example | 3 + app/Jobs/SetBirthdayGroupJob.php | 4 +- app/Notifications/TodayIsUserBirthday.php | 109 +++++++++++++++++++++ resources/views/admin/users/edit.blade.php | 18 ++++ 4 files changed, 132 insertions(+), 2 deletions(-) create mode 100644 app/Notifications/TodayIsUserBirthday.php diff --git a/.env.example b/.env.example index 0f6a077..a5e77c4 100644 --- a/.env.example +++ b/.env.example @@ -99,3 +99,6 @@ EMQX_API_KEY= EMQX_API_SECRET_KEY= USER_GROUP_BIRTHDAY=1 + +DASHBOARD_BASE_URL=https://dash.laecloud.com +DASHBOARD_BIRTHDAY_PATH=/birthdays diff --git a/app/Jobs/SetBirthdayGroupJob.php b/app/Jobs/SetBirthdayGroupJob.php index c16fe7f..1f30869 100644 --- a/app/Jobs/SetBirthdayGroupJob.php +++ b/app/Jobs/SetBirthdayGroupJob.php @@ -4,6 +4,7 @@ use App\Models\User; use App\Models\UserGroup; +use App\Notifications\TodayIsUserBirthday; use Illuminate\Bus\Queueable; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Foundation\Bus\Dispatchable; @@ -40,9 +41,8 @@ public function handle(): void User::birthday()->chunk(100, function ($users) use ($birthday_group) { foreach ($users as $user) { $birthday_group->setTempGroup($user, $birthday_group, now()->addDay()); + $user->notify(new TodayIsUserBirthday()); } }); - - } } diff --git a/app/Notifications/TodayIsUserBirthday.php b/app/Notifications/TodayIsUserBirthday.php new file mode 100644 index 0000000..e1d384e --- /dev/null +++ b/app/Notifications/TodayIsUserBirthday.php @@ -0,0 +1,109 @@ +subject('Happy Birthday!') + ->greeting('Happy Birthday!'); + + foreach ($lyric as $line) { + $email->line($line); + } + + $email->line('生日快乐🎂') + ->line('在生日当天,我们还为您提供了专属用户组,您可以前往仪表盘查看。') + ->action('前往仪表盘', $url) + ->line('感谢您继续使用 ' . config('app.display_name') . '。'); + + return $email; + } + + /** + * Get the array representation of the notification. + * + * @param mixed $notifiable + * + * @return array + */ + public function toArray($notifiable) + { + return [ + // + ]; + } +} diff --git a/resources/views/admin/users/edit.blade.php b/resources/views/admin/users/edit.blade.php index cd718e1..d539105 100644 --- a/resources/views/admin/users/edit.blade.php +++ b/resources/views/admin/users/edit.blade.php @@ -17,6 +17,24 @@

邮箱: {{ $user->email }}

+ + +

生日: {{ $user->birthday_at }}, + {{-- 是不是今天 --}} + @if ($user->birthday_at->isToday()) + 今天就是。 + @else + {{-- 距离下次生日的时间 --}} + @if ($user->birthday_at->isFuture()) + 还有 {{ $user->birthday_at->diffInDays() }} 天 {{ $user->birthday_at->diffInHours() }} 小时 + @else + 已经过去 {{ $user->birthday_at->diffInDays() }} 天 {{ $user->birthday_at->diffInHours() }} 小时 + @endif + 。 + @endif +

+ + {{-- hosts --}}

主机列表