connection = 'redis'; $this->onQueue('miningtaxes'); } /** * Execute the job. * * @return void */ public function handle() { //Declare variables $lookup = new LookupHelper; $config = config('esi'); $mailDelay = 15; $today = Carbon::now(); //Get all of the invoices that are still pending. $invoices = Invoice::where([ 'status' => 'Pending', ])->get(); //Cycle through the invoices, and see if they are late or not. foreach($invoices as $invoice) { $dueDate = Carbon::create($invoice->date_due); if($dueDate->greaterThan($today->subDays(7))) { //Update the invoice in the database Invoice::where([ 'invoice_id' => $invoice->invoice_id, ])->update([ 'status' => 'Late', ]); //Build the mail $subject = 'Warped Intentions Mining Taxes - Invoice Late'; $sender = $config['primary']; $recipientType = 'character'; $recipient = $invoice->character_id; $body = "Dear " . $invoice->character_name . ",

"; $body .= "The Mining Invoice: " . $invoice->invoice_id . " is late.
"; $body .= "Please remite " . number_format($invoice->invoice_amount, 2, ".", ",") . "to Spatial Forces.
"; $body .= "
Sincerely,
Warped Intentions Leadership
"; //Send a reminder to the user through eve mail about the late invoice SendEveMail::dispatch($body, $recipient, $recipientType, $subject, $sender)->delay(Carbon::now()->addSeconds($mailDelay)); $mailDelay += 20; } } } /** * Set the tags for Horzion * * @var array */ public function tags() { return ['UpdateMiningTaxesLateInvoices', 'MiningTaxes', 'Invoices']; } }