// Merge -> revision 7979
This commit is contained in:
@@ -935,7 +935,7 @@ class eBayRequest
|
||||
|
||||
|
||||
|
||||
function getOrders($CreateTimeFrom, $CreateTimeTo)
|
||||
function getOrders($CreateTimeFrom, $CreateTimeTo, $page)
|
||||
{
|
||||
// Check data
|
||||
if (!$CreateTimeFrom || !$CreateTimeTo)
|
||||
@@ -953,6 +953,11 @@ class eBayRequest
|
||||
$requestXml .= ' <CreateTimeFrom>'.$CreateTimeFrom.'</CreateTimeFrom>'."\n";
|
||||
$requestXml .= ' <CreateTimeTo>'.$CreateTimeTo.'</CreateTimeTo>'."\n";
|
||||
$requestXml .= ' <OrderRole>Seller</OrderRole>'."\n";
|
||||
$requestXml .= ' <OrderStatus>Completed</OrderStatus>'."\n";
|
||||
$requestXml .= ' <Pagination>'."\n";
|
||||
$requestXml .= ' <EntriesPerPage>100</EntriesPerPage>'."\n";
|
||||
$requestXml .= ' <PageNumber>'.$page.'</PageNumber>'."\n";
|
||||
$requestXml .= ' </Pagination>'."\n";
|
||||
$requestXml .= ' <RequesterCredentials>'."\n";
|
||||
$requestXml .= ' <eBayAuthToken>'.Configuration::get('EBAY_API_TOKEN').'</eBayAuthToken>'."\n";
|
||||
$requestXml .= ' </RequesterCredentials>'."\n";
|
||||
@@ -992,19 +997,25 @@ class eBayRequest
|
||||
$transaction = $order->TransactionArray->Transaction[$i];
|
||||
|
||||
$id_product = 0;
|
||||
$id_attribute = 0;
|
||||
$id_product_attribute = 0;
|
||||
$quantity = (string)$transaction->QuantityPurchased;
|
||||
if (isset($transaction->item->SKU))
|
||||
{
|
||||
$tmp = explode('-', (string)$transaction->item->SKU);
|
||||
if (isset($tmp[1]))
|
||||
$id_product = $tmp[1];
|
||||
}
|
||||
if (isset($transaction->Variation->SKU))
|
||||
{
|
||||
$tmp = explode('-', (string)$transaction->Variation->SKU);
|
||||
if (isset($tmp[1]))
|
||||
$id_product = $tmp[1];
|
||||
if (isset($tmp[2]))
|
||||
$id_product_attribute = $tmp[2];
|
||||
}
|
||||
|
||||
$id_product = (int)Db::getInstance()->getValue('SELECT `id_product` FROM `'._DB_PREFIX_.'product` WHERE `id_product` = '.(int)$id_product);
|
||||
$id_product_attribute = (int)Db::getInstance()->getValue('SELECT `id_product_attribute` FROM `'._DB_PREFIX_.'product_attribute` WHERE `id_product` = '.(int)$id_product.' AND `id_product_attribute` = '.(int)$id_product_attribute);
|
||||
if ($id_product > 0)
|
||||
$itemList[] = array('id_product' => $id_product, 'id_product_attribute' => $id_product_attribute, 'quantity' => $quantity, 'price' => (string)$transaction->TransactionPrice);
|
||||
else
|
||||
@@ -1025,7 +1036,7 @@ class eBayRequest
|
||||
SELECT `id_product` FROM `'._DB_PREFIX_.'product`
|
||||
WHERE `reference` = \''.pSQL($reference).'\'');
|
||||
if ((int)$id_product > 0)
|
||||
$itemList[] = array('id_product' => $id_product, 'quantity' => $quantity, 'price' => (string)$transaction->TransactionPrice);
|
||||
$itemList[] = array('id_product' => $id_product, 'id_product_attribute' => 0, 'quantity' => $quantity, 'price' => (string)$transaction->TransactionPrice);
|
||||
else
|
||||
{
|
||||
$row = Db::getInstance()->getValue('
|
||||
@@ -1057,7 +1068,7 @@ class eBayRequest
|
||||
'shippingServiceCost' => (string)$order->ShippingServiceSelected->ShippingServiceCost,
|
||||
'email' => (string)$order->TransactionArray->Transaction[0]->Buyer->Email,
|
||||
'product_list' => $itemList,
|
||||
'object' => $order
|
||||
//'object' => $order
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
+21
-3
@@ -318,7 +318,19 @@ class Ebay extends Module
|
||||
if (Configuration::get('EBAY_ORDER_LAST_UPDATE') < date('Y-m-d', strtotime('-45 minutes')).'T'.date('H:i:s', strtotime('-45 minutes')).'.000Z')
|
||||
{
|
||||
$ebay = new eBayRequest();
|
||||
$orderList = $ebay->getOrders(date('Y-m-d', strtotime('-30 days')).'T'.date('H:i:s', strtotime('-30 days')).'.000Z', $dateNew);
|
||||
|
||||
$page = 1;
|
||||
$orderList = array();
|
||||
$orderCount = 0;
|
||||
$orderCountTmp = 100;
|
||||
while ($orderCountTmp == 100 && $page < 10)
|
||||
{
|
||||
$orderListTmp = $ebay->getOrders(date('Y-m-d', strtotime('-30 days')).'T'.date('H:i:s', strtotime('-30 days')).'.000Z', $dateNew, $page);
|
||||
$orderCountTmp = count($orderListTmp);
|
||||
$orderList = array_merge((array)$orderList, (array)$orderListTmp);
|
||||
$orderCount += $orderCountTmp;
|
||||
$page++;
|
||||
}
|
||||
|
||||
if ($orderList)
|
||||
foreach ($orderList as $order)
|
||||
@@ -377,12 +389,13 @@ class Ebay extends Module
|
||||
{
|
||||
if ((int)$product['id_product'] < 1 || !Db::getInstance()->getValue('SELECT `id_product` FROM `'._DB_PREFIX_.'product` WHERE `id_product` = '.(int)$product['id_product']))
|
||||
$flag = 0;
|
||||
if (isset($product['id_product_attribute']) && !Db::getInstance()->getValue('SELECT `id_product_attribute` FROM `'._DB_PREFIX_.'product_attribute` WHERE `id_product` = '.(int)$product['id_product'].' AND `id_product_attribute` = '.(int)$product['id_product_attribute']))
|
||||
if (isset($product['id_product_attribute']) && $product['id_product_attribute'] > 0 && !Db::getInstance()->getValue('SELECT `id_product_attribute` FROM `'._DB_PREFIX_.'product_attribute` WHERE `id_product` = '.(int)$product['id_product'].' AND `id_product_attribute` = '.(int)$product['id_product_attribute']))
|
||||
$flag = 0;
|
||||
}
|
||||
|
||||
if ($flag == 1)
|
||||
{
|
||||
$cartNbProducts = 0;
|
||||
$cartAdd = new Cart();
|
||||
$cartAdd->id_customer = $id_customer;
|
||||
$cartAdd->id_address_invoice = $id_address;
|
||||
@@ -392,9 +405,13 @@ class Ebay extends Module
|
||||
$cartAdd->id_currency = Currency::getIdByIsoCode('EUR');
|
||||
$cartAdd->add();
|
||||
foreach ($order['product_list'] as $product)
|
||||
$cartAdd->updateQty((int)($product['quantity']), (int)($product['id_product']), (isset($product['id_product_attribute']) ? $product['id_product_attribute'] : NULL));
|
||||
if ($cartAdd->updateQty((int)($product['quantity']), (int)($product['id_product']), ((isset($product['id_product_attribute']) && $product['id_product_attribute'] > 0) ? $product['id_product_attribute'] : NULL)))
|
||||
$cartNbProducts++;
|
||||
$cartAdd->update();
|
||||
|
||||
// Check number of products in the cart
|
||||
if ($cartNbProducts > 0)
|
||||
{
|
||||
// Fix on sending e-mail
|
||||
Db::getInstance()->autoExecute(_DB_PREFIX_.'customer', array('email' => 'NOSEND-EBAY'), 'UPDATE', '`id_customer` = '.(int)$id_customer);
|
||||
$customerClear = new Customer();
|
||||
@@ -427,6 +444,7 @@ class Ebay extends Module
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Configuration::updateValue('EBAY_ORDER_LAST_UPDATE', $dateNew);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user