public function process($data) { if (!is_array($data)) { throw new SystemException("Data must be an array! " . __METHOD__); } foreach ($data as $order) { try { if (intval($this->processOrder($order)) > 0) { Ebay::log(Logger::LOG_LEVEL_INFO, "EBAY_DATA_PROCESSOR_ORDER_PROCESSED", $order["OrderID"], Loc::getMessage("SALE_TP_EBAY_FDPO_ORDER_PROCESSED", array("#ORDER_ID" => $order["OrderID"])), $this->siteId); } else { Ebay::log(Logger::LOG_LEVEL_ERROR, "EBAY_DATA_PROCESSOR_ORDER_ERROR", $order["OrderID"], Loc::getMessage("SALE_TP_EBAY_FDPO_ORDER_ERROR", array("#ORDER_ID" => $order["OrderID"])), $this->siteId); } } catch (SystemException $e) { Ebay::log(Logger::LOG_LEVEL_ERROR, "EBAY_DATA_PROCESSOR_ORDER_ERROR", $order["OrderID"], Loc::getMessage("SALE_TP_EBAY_FDPO_ORDER_ERROR", array("#ORDER_ID" => $order["OrderID"])) . "." . $e->getMessage(), $this->siteId); } } \Bitrix\Sale\TradingPlatform\Ebay\Agent::add('ORDER_ACK', $this->siteId, 1, true); return true; }
public function save() { if (!empty($this->ebaySettings[$this->siteId]["FEEDS"])) { $this->ebaySettings[$this->siteId]["FEEDS"] = \Bitrix\Sale\TradingPlatform\Ebay\Agent::update($this->siteId, $this->ebaySettings[$this->siteId]["FEEDS"]); } return parent::save(); }
public static function onAfterUpdateShipment(\Bitrix\Main\Event $event, array $additional) { $data = array(); $ebay = self::getInstance(); $settings = $ebay->getSettings(); $deliveryName = "Other"; if (!empty($settings[$additional["SITE_ID"]]["MAPS"]["SHIPMENT"]) && is_array($settings[$additional["SITE_ID"]]["MAPS"]["SHIPMENT"])) { $map = array_flip($settings[$additional["SITE_ID"]]["MAPS"]["SHIPMENT"]); if (isset($map[$additional['DELIVERY_ID']])) { $deliveryName = $map[$additional['DELIVERY_ID']]; if (substr($deliveryName, 0, 3) == "RU_") { $deliveryName = substr($deliveryName, 3); } } } if (!empty($additional["PARAMS"]["ORDER_LINES"]) && is_array($additional["PARAMS"]["ORDER_LINES"]) && !empty($additional["PARAMS"]["ORDER_ID"])) { foreach ($additional["PARAMS"]["ORDER_LINES"] as $lineId) { $data[] = array("ORDER_ID" => $additional["PARAMS"]["ORDER_ID"], "ORDER_LINE_ITEM_ID" => $lineId, "DELIVERY_NAME" => $deliveryName, "TRACKING_NUMBER" => $additional['TRACKING_NUMBER']); } } if (!empty($data)) { $ebayFeed = \Bitrix\Sale\TradingPlatform\Ebay\Feed\Manager::createFeed("SHIPMENT", $additional["SITE_ID"]); $ebayFeed->setSourceData(array($data)); $ebayFeed->processData(); \Bitrix\Sale\TradingPlatform\Ebay\Agent::add('SHIPMENT', $additional["SITE_ID"], 1, true); } }
public function sendData() { $xmlFile = $this->flushData(); if (!$xmlFile) { return false; } $tmpFile = $this->packData($xmlFile); $zipFile = new \Bitrix\Main\IO\File($tmpFile); $zipFile->rename($this->path . "/zip/" . $this->feedType . "_" . $this->fileNameSalt . ".zip"); $this->sendDataSftp(); $checkResultsInterval = 5; //min. \Bitrix\Sale\TradingPlatform\Ebay\Agent::add('RESULTS', $this->siteId, $checkResultsInterval, true); return true; }
$defaultSite = ""; $rsSites = CSite::GetList($by = "sort", $order = "asc", array("ACTIVE" => "Y")); while ($arRes = $rsSites->Fetch()) { $siteList[$arRes['ID']] = $arRes['NAME']; if ($arRes["DEF"] == "Y") { $defaultSite = $arRes['ID']; } } if (isset($_POST["SITE_ID"]) && array_key_exists($_POST["SITE_ID"], $siteList)) { $SITE_ID = $_POST["SITE_ID"]; } else { $SITE_ID = $defaultSite; } $settings = $ebay->getSettings(); if (isset($_POST["EBAY_SETTINGS"]) && is_array($_POST["EBAY_SETTINGS"])) { $_POST["EBAY_SETTINGS"]["FEEDS"] = \Bitrix\Sale\TradingPlatform\Ebay\Agent::update($SITE_ID, $_POST["EBAY_SETTINGS"]["FEEDS"]); $settings[$SITE_ID] = array_merge($settings[$SITE_ID], $_POST["EBAY_SETTINGS"]); $bSaved = $ebay->saveSettings($settings); } $siteSettings = $settings[$SITE_ID]; unset($settings); $ebayCategoriesCount = 0; $ebayCategoriesUpdateDate = ""; $res = \Bitrix\Sale\TradingPlatform\Ebay\CategoryTable::getList(array("select" => array("CNT", "LAST_UPDATE"), "runtime" => array(new \Bitrix\Main\Entity\ExpressionField('CNT', 'COUNT(1)'), new \Bitrix\Main\Entity\ExpressionField('LAST_UPDATE', 'MAX(LAST_UPDATE)')))); if ($cat = $res->fetch()) { if (!empty($cat["CNT"])) { $ebayCategoriesCount = $cat["CNT"]; } if (!empty($cat["LAST_UPDATE"])) { $ebayCategoriesUpdateDate = $cat["LAST_UPDATE"]->toString(); }