From b66474ed3eb6dea8f2196a187f04caa82a0ee5e7 Mon Sep 17 00:00:00 2001 From: Yoga Pangestu Date: Thu, 18 Dec 2025 09:48:50 +0700 Subject: [PATCH] refactor: simplify payroll close command scheduling and update payroll closing notification content --- app/Console/Commands/ClosePayrolls.php | 16 ++++++++++++++-- routes/console.php | 2 +- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/app/Console/Commands/ClosePayrolls.php b/app/Console/Commands/ClosePayrolls.php index 115ad67..a35db47 100644 --- a/app/Console/Commands/ClosePayrolls.php +++ b/app/Console/Commands/ClosePayrolls.php @@ -6,6 +6,7 @@ use App\Jobs\StorePushNotification; use App\Models\Payroll; use App\Models\PushNotification; +use App\Models\User; use Carbon\Carbon; use Illuminate\Console\Command; @@ -44,8 +45,19 @@ public function handle(): void StorePushNotification::dispatch( PushNotification::whereIn('user_id', $userIds)->get(), [ - 'title' => 'Gaji Sudah Cair 💸', - 'body' => 'Kerja kerasmu terbayar. Gaji bulan '.formatDateLocalized($targetMonth, 'F Y').' sudah kami transfer. Semoga harimu menyenangkan.', + 'title' => 'Hari Ditunggu Telah Tiba 🎉', + 'body' => 'Hari ini kamu gajian untuk periode '.formatDateLocalized($targetMonth, 'F Y').'. Terima kasih sudah berkontribusi.', + 'url' => route('studio.finance.payroll.index'), + ], + ); + + $userIds = User::role('Developer')->pluck('id')->toArray(); + StorePushNotification::dispatch( + PushNotification::whereIn('user_id', $userIds)->get(), + [ + 'title' => 'Hari Gajian Karyawan 💸', + 'body' => 'Hari ini karyawan dijadwalkan menerima gaji periode '.formatDateLocalized($targetMonth, 'F Y').'. Pastikan saldo dan proses transfer telah siap.', + 'url' => route('studio.finance.payroll.index'), ], ); diff --git a/routes/console.php b/routes/console.php index 30a59e6..88fef8b 100644 --- a/routes/console.php +++ b/routes/console.php @@ -3,5 +3,5 @@ use Illuminate\Support\Facades\Schedule; Schedule::command('payroll:generate --current')->monthly(); -Schedule::command('payroll:close --current')->lastDayOfMonth('23:59'); +Schedule::command('payroll:close --current')->lastDayOfMonth(); Schedule::command('stock-opname:generate')->monthlyOn(25, '00:00');