Exemple #1
0
/*
 * Check invalid orders //
 */
$orders = Db::getInstance()->ExecuteS('SELECT o.id_order, c.email, sc.* from ' . _DB_PREFIX_ . 'orders o
	LEFT JOIN ' . _DB_PREFIX_ . 'order_history oh ON oh.id_order = o.id_order AND oh.id_order_history = (
		SELECT tmp.id_order_history FROM ' . _DB_PREFIX_ . 'order_history tmp
		WHERE tmp.id_order = o.id_order ORDER BY id_order_history DESC LIMIT 1
	)
	JOIN ' . _DB_PREFIX_ . 'shiptomyid_cart sc ON sc.id_cart = o.id_cart
	JOIN ' . _DB_PREFIX_ . 'customer c ON c.id_customer = o.id_customer
	WHERE oh.id_order_state = ' . (int) Configuration::get('SHIPTOMYID_OS_ERROR'));
echo '<br/>INVALID ORDERS<br/>';
if ($orders) {
    foreach ($orders as $order) {
        $data = array('sender_email_address' => $order['email'], 'receiver_email_address' => $order['receiver_email'], 'vendor_order_id' => $order['id_order']);
        $result = $api->searchOrder($data);
        if (isset($result[0]['ExternalOrder'])) {
            $result = $result[0]['ExternalOrder'];
            $module->finalizeSendErrorOrder($order['id_order'], $result['id']);
            echo '- Find order - ' . $order['id_order'] . ' [' . $result['id'] . ']<br/>';
        } else {
            $o_order = new Order($order['id_order']);
            if (Validate::isLoadedObject($o_order)) {
                $module->sendOrderToAPI($order);
                echo '- Resend order - ' . $order['id_order'] . ' [ - ]<br/>';
            } else {
                ShiptomyidLog::addLog('invalid order object in resend order process', $order['id_order']);
            }
        }
    }
}