feat: send WhatsApp notification on sales order confirmed
This commit is contained in:
parent
639282f707
commit
68c605bc69
@ -7,6 +7,7 @@ use App\Models\Customer;
|
|||||||
use App\Models\Item;
|
use App\Models\Item;
|
||||||
use App\Models\SalesOrder;
|
use App\Models\SalesOrder;
|
||||||
use App\Models\SalesOrderItem;
|
use App\Models\SalesOrderItem;
|
||||||
|
use App\Notifications\Sales\SalesOrderConfirmedNotification;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
|
|
||||||
class SalesOrderController extends Controller
|
class SalesOrderController extends Controller
|
||||||
@ -101,6 +102,10 @@ class SalesOrderController extends Controller
|
|||||||
{
|
{
|
||||||
$salesOrder->update(['status' => 'confirmed']);
|
$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.');
|
return redirect()->back()->with('success', 'Sales order confirmed.');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
29
app/Notifications/Sales/SalesOrderConfirmedNotification.php
Normal file
29
app/Notifications/Sales/SalesOrderConfirmedNotification.php
Normal 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."
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user