上传文件至 tickets

This commit is contained in:
ste87 2026-04-19 23:41:50 +08:00
parent 70ae225086
commit 21c20a14fc

View File

@ -0,0 +1,38 @@
<?php
namespace App\Listeners;
use App\Events\Ticket as TicketEvent;
use App\Helpers\NotificationHelper;
use App\Models\User;
class TicketCreatedListener
{
/**
* Handle the event.
*/
public function handle(TicketEvent\Created $event): void
{
// 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->ticket->id . '] New Ticket Created',
"A new ticket has been created.\n\n" .
"Ticket ID: #" . $event->ticket->id . "\n" .
"Subject: " . $event->ticket->subject . "\n" .
"Priority: " . $event->ticket->priority . "\n" .
"Department: " . $event->ticket->department . "\n" .
"User: " . $event->ticket->user->name . " (" . $event->ticket->user->email . ")\n" .
"Created at: " . $event->ticket->created_at->format('Y-m-d H:i:s'),
[],
$admin->email
);
}
}
}