コード例 #1
0
ファイル: Relist.php プロジェクト: xiaoguizhidao/beut
 private function scheduledListings(&$listings)
 {
     $listingsIds = array();
     foreach ($listings as &$listing) {
         /** @var $listing Ess_M2ePro_Model_Listing */
         if (!$listing->isSynchronizationNowRun()) {
             continue;
         }
         $listingsIds[] = (int) $listing->getId();
     }
     if (count($listingsIds) <= 0) {
         return;
     }
     $listingsProductsCollection = Mage::helper('M2ePro/Component_Buy')->getModel('Listing_Product')->getCollection();
     $listingsProductsCollection->getSelect()->where('`status` != ' . (int) Ess_M2ePro_Model_Listing_Product::STATUS_LISTED);
     $listingsProductsCollection->getSelect()->where('`listing_id` IN (' . implode(',', $listingsIds) . ')');
     $listingsProductsArray = $listingsProductsCollection->toArray();
     if ((int) $listingsProductsArray['totalRecords'] <= 0) {
         return;
     }
     foreach ($listingsProductsArray['items'] as $listingProductArray) {
         /** @var $listingProduct Ess_M2ePro_Model_Listing_Product */
         $listingProduct = Mage::helper('M2ePro/Component_Buy')->getObject('Listing_Product', $listingProductArray['id']);
         if ($listingProduct->getSynchronizationTemplate()->getChildObject()->getRelistScheduleType() == Ess_M2ePro_Model_Buy_Template_Synchronization::RELIST_SCHEDULE_TYPE_THROUGH && !$this->isScheduleThroughNow($listingProduct)) {
             continue;
         }
         if (!$this->_productInspector->isMeetRelistRequirements($listingProduct)) {
             continue;
         }
         $this->_runnerActions->setProduct($listingProduct, Ess_M2ePro_Model_Buy_Connector_Product_Dispatcher::ACTION_RELIST, array());
     }
 }
コード例 #2
0
ファイル: Relist.php プロジェクト: xiaoguizhidao/ecommerce
 private function immediatelyChangedProducts()
 {
     $this->_profiler->addTimePoint(__METHOD__, 'Immediately when product was changed');
     // Get changed listings products
     //------------------------------------
     $changedListingsProducts = $this->getChangedInstances(array(Ess_M2ePro_Model_ProductChange::UPDATE_ATTRIBUTE_CODE));
     //------------------------------------
     // Filter only needed listings products
     //------------------------------------
     /** @var $listingProduct Ess_M2ePro_Model_Listing_Product */
     foreach ($changedListingsProducts as $listingProduct) {
         if (!$this->_productInspector->isMeetRelistRequirements($listingProduct)) {
             continue;
         }
         $this->_runnerActions->setProduct($listingProduct, Ess_M2ePro_Model_Connector_Buy_Product_Dispatcher::ACTION_RELIST, array());
     }
     //------------------------------------
     $this->_profiler->saveTimePoint(__METHOD__);
 }