更新 tickets/TicketMessageCreatedListener.php
This commit is contained in:
parent
21c20a14fc
commit
d4d55680ae
@ -4,6 +4,7 @@ namespace App\Listeners;
|
|||||||
|
|
||||||
use App\Events\TicketMessage\Created;
|
use App\Events\TicketMessage\Created;
|
||||||
use App\Helpers\NotificationHelper;
|
use App\Helpers\NotificationHelper;
|
||||||
|
use App\Models\User;
|
||||||
|
|
||||||
class TicketMessageCreatedListener
|
class TicketMessageCreatedListener
|
||||||
{
|
{
|
||||||
@ -20,6 +21,26 @@ class TicketMessageCreatedListener
|
|||||||
} else {
|
} else {
|
||||||
// Update ticket status
|
// Update ticket status
|
||||||
$event->ticketMessage->ticket->update(['status' => 'open']);
|
$event->ticketMessage->ticket->update(['status' => 'open']);
|
||||||
|
// Get all users with ticket viewing permission
|
||||||
|
$admins = User::whereHas('role', function ($query) {
|
||||||
|
$query->whereJsonContains('permissions', 'admin.tickets.viewAny')
|
||||||
|
->orWhereJsonContains('permissions', '*');
|
||||||
|
})->get();
|
||||||
|
|
||||||
|
// Send notification to each admin
|
||||||
|
foreach ($admins as $admin) {
|
||||||
|
NotificationHelper::sendSystemEmailNotification(
|
||||||
|
'[Ticket #' . $event->ticketMessage->ticket->id . '] New Reply from Customer',
|
||||||
|
"The customer has replied to the ticket.\n\n" .
|
||||||
|
"Ticket ID: #" . $event->ticketMessage->ticket->id . "\n" .
|
||||||
|
"Subject: " . $event->ticketMessage->ticket->subject . "\n" .
|
||||||
|
"User: " . $event->ticketMessage->ticket->user->name . " (" . $event->ticketMessage->ticket->user->email . ")\n" .
|
||||||
|
"Message:\n" . $event->ticketMessage->message . "\n" .
|
||||||
|
"Replied at: " . $event->ticketMessage->created_at->format('Y-m-d H:i:s'),
|
||||||
|
[],
|
||||||
|
$admin->email
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user