Esempio n. 1
0
 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);
 }
Esempio n. 3
0
 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]);
 }
Esempio n. 4
0
 /**
  * @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;
         }
     }
 }