src/EventSubscriber/ShopIntegrationPlatform/OrderSubscriber.php line 37

  1. <?php
  2. namespace App\EventSubscriber\ShopIntegrationPlatform;
  3. use App\Entity\Order;
  4. use App\Entity\ShopIntegrationPlatform\SipRequestLogger;
  5. use App\Event\OrderStatusChangedEvent;
  6. use App\Helper\Common;
  7. use App\ShopIntegrationPlatform\Actions\Api\MassSentRequests\AddRequestAction;
  8. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  9. class OrderSubscriber implements EventSubscriberInterface
  10. {
  11.     /**
  12.      * @param AddRequestAction $addRequestAction
  13.      */
  14.     public function __construct(
  15.         private readonly AddRequestAction $addRequestAction,
  16.     )
  17.     {
  18.     }
  19.     /**
  20.      * @return array
  21.      */
  22.     public static function getSubscribedEvents(): array
  23.     {
  24.         return [
  25.             OrderStatusChangedEvent::class => ['orderStatusChangedAction', -100],
  26.         ];
  27.     }
  28.     /**
  29.      * @param OrderStatusChangedEvent $event
  30.      * @return void
  31.      */
  32.     public function orderStatusChangedAction(OrderStatusChangedEvent $event): void
  33.     {
  34.         $this->addRequestAction->run(
  35.             shop$event->getOrder()->getShop(),
  36.             order$event->getOrder(),
  37.             entityNameCommon::getClassNameWithoutNamespace(Order::class),
  38.             entityId$event->getOrder()->getId(),
  39.             commandNameSipRequestLogger::COMMAND_ORDER_STATUS_CHANGED
  40.         );
  41.     }
  42. }