feat: send WhatsApp notification on sales order confirmed

This commit is contained in:
Ghassan Yusuf 2026-05-19 13:19:31 +03:00
parent 639282f707
commit 68c605bc69
2 changed files with 34 additions and 0 deletions

View File

@ -7,6 +7,7 @@ use App\Models\Customer;
use App\Models\Item;
use App\Models\SalesOrder;
use App\Models\SalesOrderItem;
use App\Notifications\Sales\SalesOrderConfirmedNotification;
use Illuminate\Http\Request;
class SalesOrderController extends Controller
@ -101,6 +102,10 @@ class SalesOrderController extends Controller
{
$salesOrder->update(['status' => 'confirmed']);
if ($salesOrder->customer && $salesOrder->customer->whatsapp_number) {
$salesOrder->customer->notify(new SalesOrderConfirmedNotification($salesOrder));
}
return redirect()->back()->with('success', 'Sales order confirmed.');
}
}

View File

@ -0,0 +1,29 @@
<?php
namespace App\Notifications\Sales;
use App\Models\SalesOrder;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Notifications\Notification;
use PromoSeven\UltraMessage\UltraMessageChannel;
use PromoSeven\UltraMessage\UltraMessageMessage;
class SalesOrderConfirmedNotification extends Notification implements ShouldQueue
{
use Queueable;
public function __construct(private SalesOrder $order) {}
public function via(mixed $notifiable): array
{
return [UltraMessageChannel::class];
}
public function toUltraMessage(mixed $notifiable): UltraMessageMessage
{
return UltraMessageMessage::text(
"Dear {$notifiable->name},\n\nYour order *#{$this->order->order_number}* has been confirmed.\n\nTotal Amount: {$this->order->total_amount}\n\nWe will keep you updated on the delivery status. Thank you for your business."
);
}
}