TransferCallbackReceived.php 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. <?php
  2. namespace App\Module\Transfer\Events;
  3. use App\Module\Transfer\Models\TransferOrder;
  4. use Illuminate\Broadcasting\InteractsWithSockets;
  5. use Illuminate\Foundation\Events\Dispatchable;
  6. use Illuminate\Queue\SerializesModels;
  7. /**
  8. * 划转回调接收事件
  9. */
  10. class TransferCallbackReceived
  11. {
  12. use Dispatchable, InteractsWithSockets, SerializesModels;
  13. /**
  14. * 订单对象
  15. *
  16. * @var TransferOrder
  17. */
  18. public TransferOrder $order;
  19. /**
  20. * 回调数据
  21. *
  22. * @var array
  23. */
  24. public array $callbackData;
  25. /**
  26. * 回调来源
  27. *
  28. * @var string|null
  29. */
  30. public ?string $source;
  31. /**
  32. * 创建事件实例
  33. *
  34. * @param TransferOrder $order 订单对象
  35. * @param array $callbackData 回调数据
  36. * @param string|null $source 回调来源
  37. */
  38. public function __construct(TransferOrder $order, array $callbackData, ?string $source = null)
  39. {
  40. $this->order = $order;
  41. $this->callbackData = $callbackData;
  42. $this->source = $source;
  43. }
  44. /**
  45. * 获取事件描述
  46. *
  47. * @return string
  48. */
  49. public function getDescription(): string
  50. {
  51. return "Transfer callback received for order {$this->order->id}";
  52. }
  53. /**
  54. * 获取事件数据
  55. *
  56. * @return array
  57. */
  58. public function toArray(): array
  59. {
  60. return [
  61. 'order_id' => $this->order->id,
  62. 'callback_data' => $this->callbackData,
  63. 'source' => $this->source,
  64. 'timestamp' => now()->toISOString()
  65. ];
  66. }
  67. }