custom/plugins/HatslogicFraudOrderDetector/src/Subscriber/OrderSubscriber.php line 52

Open in your IDE?
  1. <?php
  2. namespace HatslogicFraudOrderDetector\Subscriber;
  3. use Shopware\Core\Checkout\Cart\Event\CheckoutOrderPlacedEvent;
  4. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  5. use HatslogicFraudOrderDetector\Services\FraudOrderScoreSave;
  6. class OrderSubscriber implements EventSubscriberInterface
  7. {
  8.     /**
  9.      * this order id
  10.      *
  11.      * @var string
  12.      */
  13.     protected $orderId;
  14.     /**
  15.      * FraudOrderScoreSave service
  16.      *
  17.      * @var FraudOrderScoreSave
  18.      */
  19.     protected $fraudOrderScoreSave;
  20.     /**
  21.      * construct
  22.      * 
  23.      */
  24.     public function __construct(FraudOrderScoreSave $fraudOrderScoreSave)
  25.     {
  26.         $this->fraudOrderScoreSave $fraudOrderScoreSave;
  27.     }
  28.     /**
  29.      * getSubscribedEvents
  30.      *
  31.      * @return array
  32.      */
  33.     public static function getSubscribedEvents(): array
  34.     {
  35.         return [
  36.             CheckoutOrderPlacedEvent::class => 'onOrderPlaced'
  37.         ];
  38.     }
  39.     /**
  40.      * event on order placed
  41.      *
  42.      * @param CheckoutOrderPlacedEvent $event
  43.      * @return void
  44.      */
  45.     public function onOrderPlaced(CheckoutOrderPlacedEvent $event): void
  46.     {
  47.         $this->orderId  $event->getOrder()->getId();
  48.         $this->fraudOrderScoreSave->orderId $this->orderId;
  49.         $this->fraudOrderScoreSave->save();
  50.     }
  51. }