fix: notif

This commit is contained in:
2025-12-13 15:56:47 +03:30
parent ccc5c9e16f
commit 6be6c367ca
+15 -14
View File
@@ -25,20 +25,19 @@ class SendDueReminders extends Command
*/
public function handle(): int
{
$now = now();
$yesterday = now()->subDay();
$reminders = Reminder::with(['user', 'packageName'])->where(function ($query) use ($now) {
$now = now();
$reminders = Reminder::with(['user', 'packageName'])
->where('time', '<=', $now->toTimeString())
->where(function ($query) use ($now) {
// Non-repeatable reminders: send once
$query->where('repeatable', false)
->where('time', '<=', $now)
->whereNull('last_repeat');
})
->orWhere(function ($query) use ($now, $yesterday) {
$query->where('repeatable', true)
->where('time', '<=', $now)
->where(function ($sub) use ($now, $yesterday) {
->whereNull('last_repeat')
// OR repeatable reminders that haven't been sent today
->orWhere('repeatable', true)
->where(function ($sub) use ($now) {
$sub->whereNull('last_repeat')
->orWhere('last_repeat', '<=', $yesterday);
->orWhereDate('last_repeat', '<', $now->toDateString());
});
})
->get();
@@ -79,8 +78,10 @@ public function handle(): int
);
}
$reminder->last_repeat = now();
$reminder->save();
$scheduledTime = Carbon::parse($reminder->time);
$scheduledTime->setDate($now->year, $now->month, $now->day);
$reminder->last_repeat = $scheduledTime;
$reminder->save();
$this->info("Queued push notification for reminder {$reminder->id}.");
}