OpenCart 🇺🇦

Схема

public mixed orderNew ( $orderId )

Аргументы

Аргумент Возможный тип Описание
$orderId

Описание

Метод пока еще не документирован.

Исходный код

if ($this->config->get('amazon_status') != 1) {
	return;
}

/* Is called from front-end? */
if (!defined('HTTPS_CATALOG')) {
	$this->load->model('openbay/amazon_order');
	$amazonOrderId = $this->model_openbay_amazon_order->getAmazonOrderId($orderId);

	$this->load->library('log');
	$logger = new Log('amazon_stocks.log');
	$logger->write('orderNew() called with order id: ' . $orderId);

	//Stock levels update
	if ($this->openbay->addonLoad('openstock')) {
		$logger->write('openStock found installed.');

		$osProducts = $this->osProducts($orderId);
		$logger->write(print_r($osProducts, true));
		$quantityData = array();
		foreach ($osProducts as $osProduct) {
			$amazonSkuRows = $this->getLinkedSkus($osProduct['pid'], $osProduct['var']);
			foreach($amazonSkuRows as $amazonSkuRow) {
				$quantityData[$amazonSkuRow['amazon_sku']] = $osProduct['qty_left'];
			}
		}
		if(!empty($quantityData)) {
			$logger->write('Updating quantities with data: ' . print_r($quantityData, true));
			$this->updateQuantities($quantityData);
		} else {
			$logger->write('No quantity data need to be posted.');
		}
	} else {
		$orderedProducts = $this->getOrderdProducts($orderId);
		$orderedProductIds = array();
		foreach($orderedProducts as $orderedProduct) {
			$orderedProductIds[] = $orderedProduct['product_id'];
		}
		$this->putStockUpdateBulk($orderedProductIds);
	}
	$logger->write('orderNew() exiting');
}