Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

ProcessOverdueInvoices.php 748B

123456789101112131415161718192021222324252627282930
  1. <?php
  2. namespace App\Jobs;
  3. use App\Enums\Accounting\InvoiceStatus;
  4. use App\Models\Accounting\Invoice;
  5. use Illuminate\Contracts\Queue\ShouldQueue;
  6. use Illuminate\Foundation\Bus\Dispatchable;
  7. use Illuminate\Foundation\Queue\Queueable;
  8. use Illuminate\Queue\InteractsWithQueue;
  9. use Illuminate\Queue\SerializesModels;
  10. class ProcessOverdueInvoices implements ShouldQueue
  11. {
  12. use Dispatchable;
  13. use InteractsWithQueue;
  14. use Queueable;
  15. use SerializesModels;
  16. /**
  17. * Execute the job.
  18. */
  19. public function handle(): void
  20. {
  21. Invoice::query()
  22. ->whereIn('status', InvoiceStatus::canBeOverdue())
  23. ->where('due_date', '<', today())
  24. ->update(['status' => InvoiceStatus::Overdue]);
  25. }
  26. }