protected function buildProcessingObject() { $processingObject = $this->activeRecordFactory->getObject('Processing'); $processingObject->setData('model', str_replace('Ess\\M2ePro\\Model\\', '', get_class($this))); $processingObject->setSettings('params', $this->getParams()); $processingObject->setData('expiration_date', $this->helperFactory->getObject('Data')->getDate($this->helperFactory->getObject('Data')->getCurrentGmtDate(true) + static::MAX_LIFETIME)); $processingObject->save(); return $processingObject; }
function __construct(\Ess\M2ePro\Model\ActiveRecord\Factory $activeRecordFactory, \Ess\M2ePro\Helper\Factory $helperFactory, \Ess\M2ePro\Model\Factory $modelFactory, \Ess\M2ePro\Model\Account $account, array $params) { $defaultParams = array('status_changer' => \Ess\M2ePro\Model\Listing\Product::STATUS_CHANGER_UNKNOWN); $params = array_merge($defaultParams, $params); if (isset($params['logs_action_id'])) { $this->logsActionId = (int) $params['logs_action_id']; unset($params['logs_action_id']); } else { $this->logsActionId = $activeRecordFactory->getObject('Listing\\Log')->getNextActionId(); } $this->activeRecordFactory = $activeRecordFactory; parent::__construct($helperFactory, $modelFactory, $account, $params); }
private function clearLogByMinTime($log, $minTime) { $resourceModel = NULL; $connection = NULL; switch ($log) { case self::LOG_LISTINGS: $resourceModel = $this->activeRecordFactory->getObject('Listing\\Log')->getResource(); break; case self::LOG_OTHER_LISTINGS: $resourceModel = $this->activeRecordFactory->getObject('Listing\\Other\\Log')->getResource(); break; case self::LOG_SYNCHRONIZATIONS: $resourceModel = $this->activeRecordFactory->getObject('Synchronization\\Log')->getResource(); break; case self::LOG_ORDERS: $resourceModel = $this->activeRecordFactory->getObject('Order\\Log')->getResource(); break; } $table = $resourceModel->getMainTable(); $connection = $resourceModel->getConnection(); if (is_null($table) || is_null($connection)) { return; } $connection->delete($table, [' `create_date` < ? OR `create_date` IS NULL ' => (string) $minTime]); }
/** * @param $variationMpnValues * @throws Logic */ protected function fillVariationMpnValues($variationMpnValues) { /** @var Collection $variationCollection */ $variationCollection = $this->activeRecordFactory->getObject('Listing\\Product\\Variation')->getCollection(); $variationCollection->addFieldToFilter('listing_product_id', $this->listingProduct->getId()); /** @var Collection $variationOptionCollection */ $variationOptionCollection = $this->activeRecordFactory->getObject('Listing\\Product\\Variation\\Option')->getCollection(); $variationOptionCollection->addFieldToFilter('listing_product_variation_id', $variationCollection->getColumnValues('id')); /** @var Variation[] $variations */ $variations = $variationCollection->getItems(); /** @var Variation\Option[] $variationOptions */ $variationOptions = $variationOptionCollection->getItems(); foreach ($variations as $variation) { $specifics = array(); foreach ($variationOptions as $id => $variationOption) { if ($variationOption->getListingProductVariationId() != $variation->getId()) { continue; } $specifics[$variationOption->getAttribute()] = $variationOption->getOption(); unset($variationOptions[$id]); } /** @var EbayVariation $ebayVariation */ $ebayVariation = $variation->getChildObject(); foreach ($variationMpnValues as $id => $variationMpnValue) { if ($ebayVariation->getOnlineSku() != $variationMpnValue['sku'] && $specifics != $variationMpnValue['specifics']) { continue; } $additionalData = $variation->getAdditionalData(); if (!isset($additionalData['ebay_mpn_value']) || $additionalData['ebay_mpn_value'] != $variationMpnValue['mpn']) { $additionalData['ebay_mpn_value'] = $variationMpnValue['mpn']; $variation->setSettings('additional_data', $additionalData); $variation->save(); } unset($variationMpnValues[$id]); break; } } }