App\Console\Commands\ChargeRenewalInvoices::fire PHP Метод

fire() публичный Метод

public fire ( )
    public function fire()
    {
        $this->info(date('Y-m-d') . ' ChargeRenewalInvoices...');
        $ninjaAccount = $this->accountRepo->getNinjaAccount();
        $invoices = Invoice::whereAccountId($ninjaAccount->id)->whereDueDate(date('Y-m-d'))->where('balance', '>', 0)->with('client')->orderBy('id')->get();
        $this->info(count($invoices) . ' invoices found');
        foreach ($invoices as $invoice) {
            // check if account has switched to free since the invoice was created
            $account = Account::find($invoice->client->public_id);
            if (!$account) {
                continue;
            }
            $company = $account->company;
            if (!$company->plan || $company->plan == PLAN_FREE) {
                continue;
            }
            try {
                $this->info("Charging invoice {$invoice->invoice_number}");
                $this->paymentService->autoBillInvoice($invoice);
            } catch (Exception $exception) {
                $this->info('Error: ' . $exception->getMessage());
            }
        }
        $this->info('Done');
    }