コード例 #1
0
ファイル: Responser.php プロジェクト: xiaoguizhidao/ecommerce
 protected function processResponseData($response)
 {
     $response = parent::processResponseData($response);
     Mage::getSingleton('M2ePro/Order_Log_Manager')->setInitiator(Ess_M2ePro_Helper_Data::INITIATOR_EXTENSION);
     try {
         $account = $this->getAccount();
         if (!$account->getChildObject()->isOrdersModeEnabled()) {
             return;
         }
         $amazonOrders = $this->processAmazonOrders($response, $account);
         if (empty($amazonOrders)) {
             return;
         }
         $this->createMagentoOrders($amazonOrders);
     } catch (Exception $exception) {
         $this->getSynchronizationLog()->addMessage(Mage::helper('M2ePro')->__($exception->getMessage()), Ess_M2ePro_Model_Log_Abstract::TYPE_ERROR, Ess_M2ePro_Model_Log_Abstract::PRIORITY_HIGH);
         Mage::helper('M2ePro/Module_Exception')->process($exception);
     }
 }
コード例 #2
0
ファイル: Responser.php プロジェクト: xiaoguizhidao/ecommerce
 protected function processResponseData($response)
 {
     $response = parent::processResponseData($response);
     Mage::getSingleton('M2ePro/Order_Log_Manager')->setInitiator(Ess_M2ePro_Model_Order_Log::INITIATOR_EXTENSION);
     try {
         $account = $this->getAccount();
         if (!$account->getChildObject()->isOrdersModeEnabled()) {
             return;
         }
         $orders = array();
         $ordersLastSynchronization = $account->getData('orders_last_synchronization');
         // Create m2e orders
         //---------------------------
         foreach ($response as $orderData) {
             $currentOrderUpdateDate = $orderData['purchase_update_date'];
             if (strtotime($currentOrderUpdateDate) > strtotime($ordersLastSynchronization)) {
                 $ordersLastSynchronization = $currentOrderUpdateDate;
             }
             /** @var $orderBuilder Ess_M2ePro_Model_Amazon_Order_Builder */
             $orderBuilder = Mage::getModel('M2ePro/Amazon_Order_Builder');
             $orderBuilder->initialize($account, $orderData);
             $order = $orderBuilder->process();
             if (!$order) {
                 continue;
             }
             $orders[] = $order;
         }
         //---------------------------
         $account->setData('orders_last_synchronization', $ordersLastSynchronization)->save();
         if (count($orders) == 0) {
             return;
         }
         // Create magento orders
         //---------------------------
         foreach ($orders as $order) {
             /** @var $order Ess_M2ePro_Model_Order */
             if ($order->canCreateMagentoOrder()) {
                 try {
                     $order->createMagentoOrder();
                 } catch (Exception $e) {
                     Mage::helper('M2ePro/Module_Exception')->process($e);
                 }
             }
             if ($order->getReserve()->isNotProcessed() && $order->isReservable()) {
                 $order->getReserve()->place();
             }
             if ($order->getChildObject()->canCreateInvoice()) {
                 $order->createInvoice();
             }
             if ($order->getChildObject()->canCreateShipment()) {
                 $order->createShipment();
             }
             if ($order->getStatusUpdateRequired()) {
                 $order->updateMagentoOrderStatus();
             }
             // -------------
         }
         //---------------------------
     } catch (Exception $exception) {
         $this->getSynchLogModel()->addMessage(Mage::helper('M2ePro')->__($exception->getMessage()), Ess_M2ePro_Model_Log_Abstract::TYPE_ERROR, Ess_M2ePro_Model_Log_Abstract::PRIORITY_HIGH);
         Mage::helper('M2ePro/Module_Exception')->process($exception);
     }
 }
コード例 #3
0
 public function eventFailedExecuting($message)
 {
     parent::eventFailedExecuting($message);
     $this->getSynchronizationLog()->addMessage(Mage::helper('M2ePro')->__($message), Ess_M2ePro_Model_Log_Abstract::TYPE_ERROR, Ess_M2ePro_Model_Log_Abstract::PRIORITY_HIGH);
 }