FundEventDispatcher.php 1018 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. <?php
  2. namespace App\Module\Fund\Events;
  3. use Illuminate\Contracts\Events\Dispatcher;
  4. /**
  5. * 资金事件分发器
  6. */
  7. class FundEventDispatcher
  8. {
  9. private Dispatcher $events;
  10. public function __construct(Dispatcher $events)
  11. {
  12. $this->events = $events;
  13. }
  14. /**
  15. * 分发余额变动事件
  16. */
  17. public function dispatchBalanceChanged(FundBalanceChanged $event): void
  18. {
  19. $this->events->dispatch('fund.balance.changed', $event);
  20. }
  21. /**
  22. * 分发转账完成事件
  23. */
  24. public function dispatchTransferred(FundTransferred $event): void
  25. {
  26. $this->events->dispatch('fund.transferred', $event);
  27. }
  28. /**
  29. * 分发资金冻结事件
  30. */
  31. public function dispatchFrozen(array $data): void
  32. {
  33. $this->events->dispatch('fund.frozen', $data);
  34. }
  35. /**
  36. * 分发资金解冻事件
  37. */
  38. public function dispatchUnfrozen(array $data): void
  39. {
  40. $this->events->dispatch('fund.unfrozen', $data);
  41. }
  42. }