update
This commit is contained in:
@@ -5,6 +5,7 @@ namespace App\Services;
|
||||
use App\Enums\Invoice\InvoiceStatus;
|
||||
use App\Enums\Order\OrderStatus;
|
||||
use App\Enums\TransactionStatus;
|
||||
use App\Jobs\Hosting\ProvisionHostingAccountJob;
|
||||
use App\Jobs\VirtualMachine\Action\VMJobs;
|
||||
use App\Jobs\VirtualMachine\Create\CreateVirtualMachineJob;
|
||||
use App\Models\Addon;
|
||||
@@ -135,6 +136,10 @@ class InvoicePaymentService
|
||||
}
|
||||
|
||||
foreach ($order->orderItems as $item) {
|
||||
$isHostingProvision = ! $item->os_id
|
||||
&& $item->server_name
|
||||
&& $item->product?->product_type === 'hosting';
|
||||
|
||||
$service = Service::firstOrCreate(
|
||||
['order_item_id' => $item->id],
|
||||
[
|
||||
@@ -142,7 +147,7 @@ class InvoicePaymentService
|
||||
'product_id' => $item->product_id,
|
||||
'invoice_id' => $invoice->id,
|
||||
'server_name' => $item->server_name,
|
||||
'status' => $item->os_id ? 'pending' : 'active',
|
||||
'status' => ($item->os_id || $isHostingProvision) ? 'pending' : 'active',
|
||||
'auto_renew' => false,
|
||||
'started_at' => now(),
|
||||
'expires_at' => now()->addMonths($item->months ?: $this->cycleToMonths($item->billing_cycle)),
|
||||
@@ -151,8 +156,12 @@ class InvoicePaymentService
|
||||
|
||||
$this->attachServiceAddons($service, $item);
|
||||
|
||||
if ($service->wasRecentlyCreated && $item->product_id && $item->os_id) {
|
||||
dispatch(new CreateVirtualMachineJob($item));
|
||||
if ($service->wasRecentlyCreated && $item->product_id) {
|
||||
if ($item->os_id) {
|
||||
dispatch(new CreateVirtualMachineJob($item));
|
||||
} elseif ($isHostingProvision) {
|
||||
dispatch(new ProvisionHostingAccountJob($item));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user