Esempio n. 1
0
 /**
  * @param \Ess\M2ePro\Model\Order $order
  * @param \Magento\Sales\Model\Order\Shipment $shipment
  * @return int
  */
 public function handle(\Ess\M2ePro\Model\Order $order, \Magento\Sales\Model\Order\Shipment $shipment)
 {
     if (!$order->isComponentModeAmazon()) {
         throw new \InvalidArgumentException('Invalid component mode.');
     }
     $trackingDetails = $this->getTrackingDetails($shipment);
     if (!$order->getChildObject()->canUpdateShippingStatus($trackingDetails)) {
         return self::HANDLE_RESULT_SKIPPED;
     }
     $items = $this->getItemsToShip($order, $shipment);
     $trackingDetails['fulfillment_date'] = $shipment->getCreatedAt();
     $order->getChildObject()->updateShippingStatus($trackingDetails, $items);
     return self::HANDLE_RESULT_SUCCEEDED;
 }