TicketObserver.php 668 B

12345678910111213141516171819202122232425262728
  1. <?php
  2. namespace App\Observers;
  3. use App\Models\Ticket;
  4. use App\Models\User;
  5. use App\Notifications\TicketCreated;
  6. use Cache;
  7. use Notification;
  8. class TicketObserver
  9. {
  10. public function created(Ticket $ticket): void
  11. {
  12. Cache::forget('open_ticket_count');
  13. if (! $ticket->admin_id) {
  14. Notification::send(User::find(1), new TicketCreated($ticket, route('admin.ticket.edit', $ticket))); // 通知相关管理员
  15. } else {
  16. $ticket->user->notify(new TicketCreated($ticket, route('ticket.edit', $ticket), true));
  17. }
  18. }
  19. public function updated(): void
  20. {
  21. Cache::forget('open_ticket_count');
  22. }
  23. }