function GetSellerOrders($ebay_starttime, $ebay_endtime, $ebay_account, $type, $id)
{
    global $api_go, $oa, $user;
    global $dbConn, $mctime, $defaultstoreid;
    $pcount = 1;
    $errors = 1;
    do {
        echo "抓取....\t";
        $responseXml = $api_go->request($ebay_starttime, $ebay_endtime, $pcount);
        if (empty($responseXml)) {
            echo "Return Empty...Sleep 10 seconds..";
            sleep(10);
            $hasmore = true;
            continue;
        }
        //网络出现代理Proxy error 脚本休眠20秒
        $poxy_error_p = '#Proxy\\s*Error#i';
        if (preg_match($poxy_error_p, $responseXml)) {
            echo "Proxy Error...Sleep 20 seconds..";
            sleep(20);
            $hasmore = true;
            continue;
        }
        echo "\n";
        $responseDoc = new DomDocument();
        $responseDoc->loadXML($responseXml);
        //保存原始raw数据
        $raw_data_path = EBAY_RAW_DATA_PATH . $ebay_account . '/date_range_order/' . date('Y-m') . '/' . date('d') . '/';
        $raw_data_filename = str_replace(':', '-', $ebay_starttime) . '--' . str_replace(':', '-', $ebay_endtime) . '--p' . $pcount . '.xml';
        $raw_data_filename = $raw_data_path . $raw_data_filename;
        $save_res = save_ebay_raw_data($raw_data_filename, $responseXml);
        if ($save_res !== false) {
            echo "save raw data ok...\n";
        } else {
            echo "save raw data fail...\n";
        }
        $responseXml = null;
        unset($responseXml);
        $TotalNumberOfPages = $responseDoc->getElementsByTagName('TotalNumberOfPages')->item(0)->nodeValue;
        $TotalNumberOfEntries = $responseDoc->getElementsByTagName('TotalNumberOfEntries')->item(0)->nodeValue;
        $hasmore = $responseDoc->getElementsByTagName('HasMoreOrders')->item(0)->nodeValue;
        $Ack = $responseDoc->getElementsByTagName('Ack')->item(0)->nodeValue;
        echo "正在请求:{$pcount}/{$TotalNumberOfPages}\t记录数[ {$TotalNumberOfEntries} ]\t同步状态: {$Ack} 还有更多:{$hasmore}\n";
        if ($id == '' && $type == '1') {
            if ($Ack == 'Failure') {
                $ss = "insert into errors_ack(ebay_account,starttime,endtime,status,notes) \n\t\t\t\t\t\t\tvalues('{$ebay_account}','{$ebay_starttime}','{$ebay_endtime}','0','Ack False')";
                $dbConn->query($ss);
            }
        }
        if ($id > 0) {
            if ($Ack == 'Success' || $Ack == 'Warning') {
                $gg = "update errors_ack set status = 1 where id='{$id}' ";
            } else {
                $gg = "update errors_ack set status = 0 where id='{$id}' ";
            }
            $dbConn->query($gg);
        }
        /**/
        $log_name = '同步订单bygo';
        $log_operationtime = $mctime;
        $log_notes = $ebay_account . ":{$pcount}/{$TotalNumberOfPages} ,Ack={$Ack}";
        addlogs($log_name, $log_operationtime, 0, $log_notes, $user, $ebay_account, $ebay_starttime, $ebay_endtime, $type);
        /**/
        $SellerOrderArray = $responseDoc->getElementsByTagName('Order');
        //调用订单入库函数
        __handle_ebay_orderxml($SellerOrderArray, $ebay_account);
        $SellerOrderArray = null;
        unset($SellerOrderArray);
        if ($id == '' && $type == '1') {
            if ($Ack == '' || $Ack == 'Failure') {
                $ss = "insert into errors_ack(ebay_account,starttime,endtime,status,notes,currentpage) \n\t\t\t\t\t\t\tvalues('{$ebay_account}','{$ebay_starttime}','{$ebay_endtime}','0','Ack False','{$pcount}')";
                $dbConn->query($ss);
            }
        }
        if ($pcount >= $TotalNumberOfPages) {
            echo $hasmore . "程序退出了\n";
            break;
        }
        $pcount++;
        $hasmore = strtolower($hasmore) == 'true' ? true : false;
    } while ($hasmore);
}
function GetCertainOrder($ebay_account, $order_ids)
{
    global $api_gco, $oa, $user;
    global $dbcon, $mctime, $defaultstoreid;
    $valid_order_ids = array();
    $invalid_order_ids = array();
    $has_invalid_order_id = false;
    $order_p1 = '#^\\d{12}$#i';
    //multiple line item order
    $order_p2 = '#^\\d{12}\\-\\d{12,14}$#i';
    //single line item order
    $order_p3 = '#^\\d{12}\\-0$#i';
    //single line item order(sometimes trans id is zero)
    if (is_array($order_ids)) {
        foreach ($order_ids as $orderid) {
            if (preg_match($order_p1, $orderid) || preg_match($order_p2, $orderid) || preg_match($order_p3, $orderid)) {
                $valid_order_ids[] = $orderid;
            } else {
                $invalid_order_ids[] = $orderid;
                $has_invalid_order_id = true;
            }
        }
    } else {
        if (preg_match($order_p1, $order_ids) || preg_match($order_p2, $order_ids) || preg_match($order_p3, $order_ids)) {
            $valid_order_ids[] = $order_ids;
        } else {
            $invalid_order_ids[] = $order_ids;
            $has_invalid_order_id = true;
        }
    }
    if ($has_invalid_order_id === true) {
        exit("Error: Pass invalid ebay order id[" . implode(',', $invalid_order_ids) . "]\n");
    }
    echo "抓取....\t";
    while (1) {
        $responseXml = $api_gco->request($valid_order_ids);
        if (empty($responseXml)) {
            echo "Return Empty...Sleep 10 seconds..";
            sleep(10);
            continue;
        }
        //网络出现代理Proxy error 脚本休眠20秒
        $poxy_error_p = '#Proxy\\s*Error#i';
        if (preg_match($poxy_error_p, $responseXml)) {
            echo "Proxy Error...Sleep 20 seconds..";
            sleep(20);
            continue;
        }
        break;
    }
    echo "\n";
    $responseDoc = new DomDocument();
    $responseDoc->loadXML($responseXml);
    $raw_data_filename = EBAY_RAW_DATA_PATH . $ebay_account . '/certain_order/' . date('Y-m') . '/' . date('d') . '/' . date('Y-m-d_H-i-s') . '.xml';
    $save_res = save_ebay_raw_data($raw_data_filename, $responseXml);
    if ($save_res !== false) {
        echo "save raw data ok...\n";
    } else {
        echo "save raw data fail...\n";
    }
    $responseXml = null;
    unset($responseXml);
    //$TotalNumberOfPages	 	= $responseDoc->getElementsByTagName('TotalNumberOfPages')->item(0)->nodeValue;
    //$TotalNumberOfEntries	= $responseDoc->getElementsByTagName('TotalNumberOfEntries')->item(0)->nodeValue;
    //$hasmore 	= $responseDoc->getElementsByTagName('HasMoreOrders')->item(0)->nodeValue;
    $Ack = $responseDoc->getElementsByTagName('Ack')->item(0)->nodeValue;
    $pcount = 1;
    echo "同步状态: {$Ack} \n";
    if ($Ack == 'Failure') {
        echo "eBay Return Failure...return.. \n";
        return;
    }
    $SellerOrderArray = $responseDoc->getElementsByTagName('Order');
    //调用订单入库函数
    __handle_ebay_orderxml($SellerOrderArray, $ebay_account);
}