<?php

namespace App\Console\Commands;

use App\Services\Billing\InvoiceService;
use Illuminate\Console\Command;

class ProcessBillingSchedules extends Command
{
    protected $signature = 'billing:process-schedules';

    protected $description = 'Membuat tagihan customer dan memperbarui status sesuai jadwal profile tagihan';

    public function handle(InvoiceService $service): int
    {
        $result = $service->processSchedules();

        $this->info(
            "Scheduler tagihan selesai: {$result['created']} dibuat, {$result['updated']} status diperbarui.",
        );

        return self::SUCCESS;
    }
}
