更新 tickets/TicketMessageCreatedListener.php

This commit is contained in:
ste87 2026-04-19 23:42:05 +08:00
parent 21c20a14fc
commit d4d55680ae

View File

@ -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
);
}
} }
} }
} }