public function inspectRevisePriceRequirements(Ess_M2ePro_Model_Listing_Product $listingProduct) { // Is checked before? //-------------------- if (in_array($listingProduct->getId(), $this->_checkedPriceListingsProductsIds)) { return false; } else { $this->_checkedPriceListingsProductsIds[] = $listingProduct->getId(); } //-------------------- // Prepare actions params //-------------------- $actionParams = array('only_data' => array('price' => true)); //-------------------- // Play available status //-------------------- if (!$listingProduct->isListed()) { return false; } if (!$listingProduct->isRevisable()) { return false; } if ($this->_runnerActions->isExistProductAction($listingProduct, Ess_M2ePro_Model_Connector_Server_Play_Product_Dispatcher::ACTION_REVISE, $actionParams)) { return false; } if ($listingProduct->isLockedObject(NULL) || $listingProduct->isLockedObject('in_action')) { return false; } //-------------------- // Correct synchronization //-------------------- if (!$listingProduct->getChildObject()->getPlaySynchronizationTemplate()->isReviseWhenChangePrice()) { return false; } //-------------------- // Check filters //-------------------- $onlinePriceGbr = $listingProduct->getChildObject()->getOnlinePriceGbr(); $currentPriceGbr = $listingProduct->getChildObject()->getPriceGbr(true); if ($currentPriceGbr != $onlinePriceGbr) { $this->_runnerActions->setProduct($listingProduct, Ess_M2ePro_Model_Connector_Server_Play_Product_Dispatcher::ACTION_REVISE, $actionParams); return true; } $onlinePriceEuro = $listingProduct->getChildObject()->getOnlinePriceEuro(); $currentPriceEuro = $listingProduct->getChildObject()->getPriceEuro(true); if ($onlinePriceEuro != $currentPriceEuro) { $this->_runnerActions->setProduct($listingProduct, Ess_M2ePro_Model_Connector_Server_Play_Product_Dispatcher::ACTION_REVISE, $actionParams); return true; } //-------------------- return false; }
/** * @param Ess_M2ePro_Model_Listing_Product $listingProduct * @return bool * @throws Ess_M2ePro_Model_Exception * @throws Ess_M2ePro_Model_Exception_Logic */ public function isMeetReviseGeneralRequirements(Ess_M2ePro_Model_Listing_Product $listingProduct) { /** @var Ess_M2ePro_Model_Amazon_Listing_Product $amazonListingProduct */ $amazonListingProduct = $listingProduct->getChildObject(); if (!$amazonListingProduct->isAfnChannel() && (!$listingProduct->isListed() || $listingProduct->isBlocked())) { return false; } if (!$listingProduct->isRevisable()) { return false; } $variationManager = $amazonListingProduct->getVariationManager(); if ($variationManager->isVariationProduct()) { if ($variationManager->isRelationParentType()) { return false; } if ($variationManager->isPhysicalUnit() && !$variationManager->getTypeModel()->isVariationProductMatched()) { return false; } } if ($listingProduct->isLockedObject('in_action')) { return false; } return true; }
private function inspectRevisePriceRequirements(Ess_M2ePro_Model_Listing_Product $listingProduct) { // Is checked before? //-------------------- if (in_array($listingProduct->getId(), $this->_checkedPriceListingsProductsIds)) { return false; } else { $this->_checkedPriceListingsProductsIds[] = $listingProduct->getId(); } //-------------------- // Prepare actions params //-------------------- $actionParams = array('only_data' => array('price' => true, 'variations' => true)); //-------------------- // eBay available status //-------------------- if (!$listingProduct->isListed()) { return false; } if (!$listingProduct->isRevisable()) { return false; } if ($this->_runnerActions->isExistProductAction($listingProduct, Ess_M2ePro_Model_Connector_Ebay_Item_Dispatcher::ACTION_REVISE, $actionParams)) { return false; } //-------------------- // Correct synchronization //-------------------- if (!$listingProduct->getChildObject()->isSetCategoryTemplate()) { return false; } if (!$listingProduct->getChildObject()->getEbaySynchronizationTemplate()->isReviseWhenChangePrice()) { return false; } //-------------------- // Check filters //-------------------- $isVariationProduct = $listingProduct->getChildObject()->isVariationMode() && count($listingProduct->getVariations()) > 0; if (!$isVariationProduct) { $hasChange = false; //--------- $currentPrice = $listingProduct->getChildObject()->getBuyItNowPrice(); $onlinePrice = $listingProduct->getChildObject()->getOnlineBuyItNowPrice(); if ($currentPrice != $onlinePrice) { $hasChange = true; } if ($hasChange) { $this->_runnerActions->setProduct($listingProduct, Ess_M2ePro_Model_Connector_Ebay_Item_Dispatcher::ACTION_REVISE, $actionParams); return true; } //--------- if ($listingProduct->getChildObject()->isListingTypeAuction()) { //--------- $currentPrice = $listingProduct->getChildObject()->getStartPrice(); $onlinePrice = $listingProduct->getChildObject()->getOnlineStartPrice(); if ($currentPrice != $onlinePrice) { $hasChange = true; } if ($hasChange) { $this->_runnerActions->setProduct($listingProduct, Ess_M2ePro_Model_Connector_Ebay_Item_Dispatcher::ACTION_REVISE, $actionParams); return true; } //--------- $currentPrice = $listingProduct->getChildObject()->getReservePrice(); $onlinePrice = $listingProduct->getChildObject()->getOnlineReservePrice(); if ($currentPrice != $onlinePrice) { $hasChange = true; } if ($hasChange) { $this->_runnerActions->setProduct($listingProduct, Ess_M2ePro_Model_Connector_Ebay_Item_Dispatcher::ACTION_REVISE, $actionParams); return true; } //--------- } } else { $variations = $listingProduct->getVariations(true); foreach ($variations as $variation) { $currentPrice = $variation->getChildObject()->getPrice(); $onlinePrice = $variation->getChildObject()->getOnlinePrice(); if ($currentPrice != $onlinePrice) { $this->_runnerActions->setProduct($listingProduct, Ess_M2ePro_Model_Connector_Ebay_Item_Dispatcher::ACTION_REVISE, $actionParams); return true; } } } //-------------------- return false; }
public function inspectRevisePriceRequirements(Ess_M2ePro_Model_Listing_Product $listingProduct) { // Is checked before? //-------------------- if (in_array($listingProduct->getId(), $this->_checkedPriceListingsProductsIds)) { return false; } else { $this->_checkedPriceListingsProductsIds[] = $listingProduct->getId(); } //-------------------- // Prepare actions params //-------------------- $actionParams = array('only_data' => array('price' => true)); //-------------------- // Amazon available status //-------------------- if (!$listingProduct->isListed() || $listingProduct->isBlocked()) { return false; } if (!$listingProduct->isRevisable()) { return false; } if ($this->getRunner()->isExistProduct($listingProduct, Ess_M2ePro_Model_Listing_Product::ACTION_REVISE, $actionParams)) { return false; } if ($listingProduct->isLockedObject(NULL) || $listingProduct->isLockedObject('in_action')) { return false; } //-------------------- /* @var $amazonSynchronizationTemplate Ess_M2ePro_Model_Amazon_Template_Synchronization */ $amazonSynchronizationTemplate = $listingProduct->getChildObject()->getAmazonSynchronizationTemplate(); // Correct synchronization //-------------------- if (!$amazonSynchronizationTemplate->isReviseWhenChangePrice()) { return false; } if ($listingProduct->getChildObject()->isVariationProduct() && !$listingProduct->getChildObject()->isVariationMatched()) { return false; } //-------------------- // Check filters //-------------------- $currentPrice = $listingProduct->getChildObject()->getPrice(); $onlinePrice = $listingProduct->getChildObject()->getOnlinePrice(); if ($currentPrice != $onlinePrice) { $this->getRunner()->addProduct($listingProduct, Ess_M2ePro_Model_Listing_Product::ACTION_REVISE, $actionParams); return true; } $currentSalePriceInfo = $listingProduct->getChildObject()->getSalePriceInfo(); $currentSalePrice = $currentSalePriceInfo['price']; $onlineSalePrice = $listingProduct->getChildObject()->getOnlineSalePrice(); if (is_null($currentSalePrice) && !is_null($onlineSalePrice) || !is_null($currentSalePrice) && is_null($onlineSalePrice) || (double) $currentSalePrice != (double) $onlineSalePrice) { $this->getRunner()->addProduct($listingProduct, Ess_M2ePro_Model_Listing_Product::ACTION_REVISE, $actionParams); return true; } //-------------------- //-------------------- $currentSalePriceStartDate = $currentSalePriceInfo['start_date']; $onlineSalePriceStartDate = $listingProduct->getChildObject()->getOnlineSalePriceStartDate(); $currentSalePriceEndDate = $currentSalePriceInfo['end_date']; $onlineSalePriceEndDate = $listingProduct->getChildObject()->getOnlineSalePriceEndDate(); if ($currentSalePriceStartDate != $onlineSalePriceStartDate || $currentSalePriceEndDate != $onlineSalePriceEndDate) { $this->getRunner()->addProduct($listingProduct, Ess_M2ePro_Model_Listing_Product::ACTION_REVISE, $actionParams); return true; } //-------------------- return false; }
/** * @param Ess_M2ePro_Model_Listing_Product $listingProduct * @return bool * @throws Ess_M2ePro_Model_Exception_Logic */ public function isMeetReviseGeneralRequirements(Ess_M2ePro_Model_Listing_Product $listingProduct) { if (!$listingProduct->isListed()) { return false; } if (!$listingProduct->isRevisable() || $listingProduct->isHidden()) { return false; } /** @var Ess_M2ePro_Model_Ebay_Listing_Product $ebayListingProduct */ $ebayListingProduct = $listingProduct->getChildObject(); if (!$ebayListingProduct->isSetCategoryTemplate()) { return false; } return true; }
public function isMeetReviseGeneralRequirements(Ess_M2ePro_Model_Listing_Product $listingProduct) { if (!$listingProduct->isListed()) { return false; } if (!$listingProduct->isRevisable()) { return false; } if ($listingProduct->isLockedObject('in_action')) { return false; } /** @var Ess_M2ePro_Model_Buy_Listing_Product $buyListingProduct */ $buyListingProduct = $listingProduct->getChildObject(); $variationManager = $buyListingProduct->getVariationManager(); if ($variationManager->isVariationProduct() && !$variationManager->isVariationProductMatched()) { return false; } return true; }
public function inspectRevisePriceRequirements(Ess_M2ePro_Model_Listing_Product $listingProduct) { // Is checked before? //-------------------- if (in_array($listingProduct->getId(), $this->checkedPriceListingsProductsIds)) { return false; } else { $this->checkedPriceListingsProductsIds[] = $listingProduct->getId(); } //-------------------- // Prepare actions params //-------------------- $actionParams = array('only_data' => array('price' => true, 'variations' => true)); //-------------------- // eBay available status //-------------------- if (!$listingProduct->isListed()) { return false; } if (!$listingProduct->isRevisable()) { return false; } if ($this->getRunner()->isExistProduct($listingProduct, Ess_M2ePro_Model_Listing_Product::ACTION_REVISE, $actionParams)) { return false; } if ($listingProduct->isLockedObject(NULL) || $listingProduct->isLockedObject('in_action')) { return false; } //-------------------- /* @var $ebaySynchronizationTemplate Ess_M2ePro_Model_Ebay_Template_Synchronization */ $ebaySynchronizationTemplate = $listingProduct->getChildObject()->getEbaySynchronizationTemplate(); // Correct synchronization //-------------------- if (!$ebaySynchronizationTemplate->isReviseWhenChangePrice()) { return false; } if (!$listingProduct->getChildObject()->isSetCategoryTemplate()) { return false; } //-------------------- // Check filters //-------------------- if (!$listingProduct->getChildObject()->isVariationsReady()) { $hasChange = false; //--------- $currentPrice = $listingProduct->getChildObject()->getBuyItNowPrice(); $onlinePrice = $listingProduct->getChildObject()->getOnlineBuyItNowPrice(); if ($currentPrice != $onlinePrice) { $hasChange = true; } if ($hasChange) { $this->getRunner()->addProduct($listingProduct, Ess_M2ePro_Model_Listing_Product::ACTION_REVISE, $actionParams); return true; } //--------- if ($listingProduct->getChildObject()->isListingTypeAuction()) { //--------- $currentPrice = $listingProduct->getChildObject()->getStartPrice(); $onlinePrice = $listingProduct->getChildObject()->getOnlineStartPrice(); if ($currentPrice != $onlinePrice) { $hasChange = true; } if ($hasChange) { $this->getRunner()->addProduct($listingProduct, Ess_M2ePro_Model_Listing_Product::ACTION_REVISE, $actionParams); return true; } //--------- $currentPrice = $listingProduct->getChildObject()->getReservePrice(); $onlinePrice = $listingProduct->getChildObject()->getOnlineReservePrice(); if ($currentPrice != $onlinePrice) { $hasChange = true; } if ($hasChange) { $this->getRunner()->addProduct($listingProduct, Ess_M2ePro_Model_Listing_Product::ACTION_REVISE, $actionParams); return true; } //--------- } } else { $variations = $listingProduct->getVariations(true); foreach ($variations as $variation) { $currentPrice = $variation->getChildObject()->getPrice(); $onlinePrice = $variation->getChildObject()->getOnlinePrice(); if ($currentPrice != $onlinePrice) { $this->getRunner()->addProduct($listingProduct, Ess_M2ePro_Model_Listing_Product::ACTION_REVISE, $actionParams); return true; } } } //-------------------- return false; }
public function inspectRevisePriceRequirements(Ess_M2ePro_Model_Listing_Product $listingProduct) { // Is checked before? //-------------------- if (in_array($listingProduct->getId(), $this->_checkedPriceListingsProductsIds)) { return false; } else { $this->_checkedPriceListingsProductsIds[] = $listingProduct->getId(); } //-------------------- // Prepare actions params //-------------------- $actionParams = array('only_data' => array('price' => true)); //-------------------- // Buy available status //-------------------- if (!$listingProduct->isListed()) { return false; } if (!$listingProduct->isRevisable()) { return false; } if ($this->getRunner()->isExistProduct($listingProduct, Ess_M2ePro_Model_Listing_Product::ACTION_REVISE, $actionParams)) { return false; } if ($listingProduct->isLockedObject(NULL) || $listingProduct->isLockedObject('in_action')) { return false; } //-------------------- /* @var $buySynchronizationTemplate Ess_M2ePro_Model_Buy_Template_Synchronization */ $buySynchronizationTemplate = $listingProduct->getChildObject()->getBuySynchronizationTemplate(); // Correct synchronization //-------------------- if (!$buySynchronizationTemplate->isReviseWhenChangePrice()) { return false; } if ($listingProduct->getChildObject()->isVariationProduct() && !$listingProduct->getChildObject()->isVariationMatched()) { return false; } //-------------------- // Check filters //-------------------- $currentPrice = $listingProduct->getChildObject()->getPrice(); $onlinePrice = $listingProduct->getChildObject()->getOnlinePrice(); if ($currentPrice != $onlinePrice) { $this->getRunner()->addProduct($listingProduct, Ess_M2ePro_Model_Listing_Product::ACTION_REVISE, $actionParams); return true; } //-------------------- return false; }
public function inspectRevisePriceRequirements(Ess_M2ePro_Model_Listing_Product $listingProduct) { // Is checked before? //-------------------- if (in_array($listingProduct->getId(), $this->_checkedPriceListingsProductsIds)) { return false; } else { $this->_checkedPriceListingsProductsIds[] = $listingProduct->getId(); } //-------------------- // Prepare actions params //-------------------- $actionParams = array('only_data' => array('price' => true, 'variations' => true)); //-------------------- // Amazon available status //-------------------- if (!$listingProduct->isListed() || $listingProduct->isBlocked()) { return false; } if (!$listingProduct->isRevisable()) { return false; } if ($this->_runnerActions->isExistProductAction($listingProduct, Ess_M2ePro_Model_Amazon_Connector_Product_Dispatcher::ACTION_REVISE, $actionParams)) { return false; } if ($listingProduct->isLockedObject(NULL) || $listingProduct->isLockedObject('in_action')) { return false; } //-------------------- // Correct synchronization //-------------------- if (!$listingProduct->getListing()->isSynchronizationNowRun()) { return false; } if (!$listingProduct->getSynchronizationTemplate()->getChildObject()->isReviseWhenChangePrice()) { return false; } //-------------------- // Check filters //-------------------- $isVariationProduct = $listingProduct->getMagentoProduct()->isProductWithVariations() && (bool) count($listingProduct->getVariations()); if (!$isVariationProduct) { $currentPrice = $listingProduct->getChildObject()->getPrice(); $onlinePrice = $listingProduct->getChildObject()->getOnlinePrice(); if ($currentPrice != $onlinePrice) { $this->_runnerActions->setProduct($listingProduct, Ess_M2ePro_Model_Amazon_Connector_Product_Dispatcher::ACTION_REVISE, $actionParams); return true; } $currentSalePrice = $listingProduct->getChildObject()->getSalePrice(); $onlineSalePrice = $listingProduct->getChildObject()->getOnlineSalePrice(); if (is_null($currentSalePrice) && !is_null($onlineSalePrice) || !is_null($currentSalePrice) && is_null($onlineSalePrice) || (double) $currentSalePrice != (double) $onlineSalePrice) { $this->_runnerActions->setProduct($listingProduct, Ess_M2ePro_Model_Amazon_Connector_Product_Dispatcher::ACTION_REVISE, $actionParams); return true; } } else { $variations = $listingProduct->getVariations(true); foreach ($variations as $variation) { $currentPrice = $variation->getChildObject()->getPrice(); $onlinePrice = $variation->getChildObject()->getOnlinePrice(); if ($currentPrice != $onlinePrice) { $this->_runnerActions->setProduct($listingProduct, Ess_M2ePro_Model_Amazon_Connector_Product_Dispatcher::ACTION_REVISE, $actionParams); return true; } } } //-------------------- return false; }