From fa5c3645568eac5bcdd8a8cd04a13863aa7c5b90 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Thu, 24 Nov 2022 21:07:20 +1100 Subject: [PATCH] Add checks to prevent duplicate reminders from being sent --- app/Jobs/Util/ReminderJob.php | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/app/Jobs/Util/ReminderJob.php b/app/Jobs/Util/ReminderJob.php index 3e6d3914a942..64e6faf13cef 100644 --- a/app/Jobs/Util/ReminderJob.php +++ b/app/Jobs/Util/ReminderJob.php @@ -88,6 +88,13 @@ class ReminderJob implements ShouldQueue }) ->with('invitations')->cursor()->each(function ($invoice) { if ($invoice->isPayable()) { + + //Attempts to prevent duplicates from sending + if($invoice->reminder_last_sent && Carbon::parse($invoice->reminder_last_sent)->startOfDay()->eq(now()->startOfDay())){ + nlog("caught a duplicate reminder for invoice {$invoice->number}"); + return; + } + $reminder_template = $invoice->calculateTemplate('invoice'); nlog("reminder template = {$reminder_template}"); $invoice = $this->calcLateFee($invoice, $reminder_template);