protected function setLocks() { parent::setLocks(); $params = $this->getParams(); $alreadyLockedListings = array(); $alreadyLockedParents = array(); foreach ($this->getListingsProducts() as $listingProduct) { /** @var $listingProduct \Ess\M2ePro\Model\Listing\Product */ $listingProduct->addProcessingLock(NULL, $this->getProcessingObject()->getId()); $listingProduct->addProcessingLock('in_action', $this->getProcessingObject()->getId()); $listingProduct->addProcessingLock($params['lock_identifier'] . '_action', $this->getProcessingObject()->getId()); /** @var \Ess\M2ePro\Model\Amazon\Listing\Product $amazonListingProduct */ $amazonListingProduct = $listingProduct->getChildObject(); $variationManager = $amazonListingProduct->getVariationManager(); if ($variationManager->isRelationChildType()) { $parentListingProduct = $variationManager->getTypeModel()->getParentListingProduct(); if (isset($alreadyLockedParents[$parentListingProduct->getId()])) { continue; } $parentListingProduct->addProcessingLock(NULL, $this->getProcessingObject()->getId()); $parentListingProduct->addProcessingLock('child_products_in_action', $this->getProcessingObject()->getId()); $alreadyLockedParents[$parentListingProduct->getId()] = true; } if (isset($alreadyLockedListings[$listingProduct->getListingId()])) { continue; } $listingProduct->getListing()->addProcessingLock(NULL, $this->getProcessingObject()->getId()); $alreadyLockedListings[$listingProduct->getListingId()] = true; } }
protected function setLocks() { parent::setLocks(); $this->getListingProduct()->addProcessingLock(NULL, $this->getId()); $this->getListingProduct()->addProcessingLock('in_action', $this->getId()); $this->getListingProduct()->addProcessingLock('search_action', $this->getId()); $this->getListingProduct()->getListing()->addProcessingLock(NULL, $this->getId()); }
protected function setLocks() { parent::setLocks(); $params = $this->getParams(); $this->getListingProduct()->addProcessingLock(NULL, $this->getProcessingObject()->getId()); $this->getListingProduct()->addProcessingLock('in_action', $this->getProcessingObject()->getId()); $this->getListingProduct()->addProcessingLock($params['lock_identifier'] . '_action', $this->getProcessingObject()->getId()); $this->getListingProduct()->getListing()->addProcessingLock(NULL, $this->getProcessingObject()->getId()); }
protected function setLocks() { parent::setLocks(); $params = $this->getParams(); /** @var \Ess\M2ePro\Model\Account $account */ $account = $this->parentFactory->getCachedObjectLoaded(\Ess\M2ePro\Helper\Component\Amazon::NICK, 'Account', $params['account_id']); $account->addProcessingLock(NULL, $this->getProcessingObject()->getId()); $account->addProcessingLock('server_synchronize', $this->getProcessingObject()->getId()); $account->addProcessingLock('deleting_from_server', $this->getProcessingObject()->getId()); }
protected function setLocks() { parent::setLocks(); $params = $this->getParams(); /** @var \Ess\M2ePro\Model\Order[] $orders */ $orders = $this->activeRecordFactory->getObject('Order')->getCollection()->addFieldToFilter('id', array('in' => $params['orders_ids']))->getItems(); foreach ($orders as $order) { $order->addProcessingLock('refund_order', $this->getProcessingObject()->getId()); } }
protected function setLocks() { parent::setLocks(); $params = $this->getParams(); /** @var $lockItem \Ess\M2ePro\Model\LockItem */ $lockItem = $this->activeRecordFactory->getObject('LockItem'); $lockItem->setNick(self::LOCK_ITEM_PREFIX . '_' . $params['account_id']); $lockItem->setMaxInactiveTime(self::MAX_LIFETIME); $lockItem->create(); /** @var \Ess\M2ePro\Model\Account $account */ $account = $this->parentFactory->getCachedObjectLoaded(\Ess\M2ePro\Helper\Component\Amazon::NICK, 'Account', $params['account_id']); $account->addProcessingLock(NULL, $this->getProcessingObject()->getId()); $account->addProcessingLock('synchronization', $this->getProcessingObject()->getId()); $account->addProcessingLock('synchronization_amazon', $this->getProcessingObject()->getId()); $account->addProcessingLock(self::LOCK_ITEM_PREFIX, $this->getProcessingObject()->getId()); }
protected function setLocks() { parent::setLocks(); $alreadyLockedListings = array(); foreach ($this->getListingsProducts() as $listingProduct) { /** @var $listingProduct \Ess\M2ePro\Model\Listing\Product */ $listingProduct->addProcessingLock(NULL, $this->getProcessingObject()->getId()); $listingProduct->addProcessingLock('in_action', $this->getProcessingObject()->getId()); $listingProduct->addProcessingLock('translation_action', $this->getProcessingObject()->getId()); if (isset($alreadyLockedListings[$listingProduct->getListingId()])) { continue; } $listingProduct->getListing()->addProcessingLock(NULL, $this->getProcessingObject()->getId()); $alreadyLockedListings[$listingProduct->getListingId()] = true; } }
protected function setLocks() { parent::setLocks(); $params = $this->getParams(); if (!isset($params['items']) || !is_array($params['items'])) { return; } $ordersIds = array(); foreach ($params['items'] as $update) { if (!isset($update['order_id'])) { throw new \Ess\M2ePro\Model\Exception\Logic('Order ID is not defined.'); } $ordersIds[] = (int) $update['order_id']; } /** @var \Ess\M2ePro\Model\Order[] $orders */ $orders = $this->activeRecordFactory->getObject('Order')->getCollection()->addFieldToFilter('id', array('in' => $ordersIds))->getItems(); foreach ($orders as $order) { $order->addProcessingLock('update_shipping_status', $this->getProcessingObject()->getId()); } }