***********************************************************************/
// $service = new MarketplaceWebServiceOrders_Mock();
/************************************************************************
 * Setup request parameters and uncomment invoke to try out 
 * sample for List Orders Action
 ***********************************************************************/
$request = new MarketplaceWebServiceOrders_Model_ListOrdersRequest();
$request->setSellerId(MERCHANT_ID);
$interval_start = strtotime($start);
$interval_end = strtotime($interval_time, $interval_start);
$base_end = strtotime($end);
while ($interval_end <= $base_end) {
    $marketplaceIdList = new MarketplaceWebServiceOrders_Model_MarketplaceIdList();
    $marketplaceIdList->setId(array(MARKETPLACE_ID));
    $request->setMarketplaceId($marketplaceIdList);
    $orderStatuses = new MarketplaceWebServiceOrders_Model_OrderStatusList();
    $orderStatuses->setStatus(array('Unshipped', 'PartiallyShipped'));
    $request->setOrderStatus($orderStatuses);
    $start = date("Y-m-d H:i:s", $interval_start);
    $end = date("Y-m-d H:i:s", $interval_end);
    $astart = date('Y-m-d', strtotime($start)) . " " . date('H:i:s', strtotime($start));
    $aend = date('Y-m-d', strtotime($end)) . " " . date('H:i:s', strtotime($end));
    $interval_start = $interval_end;
    $interval_end = strtotime($interval_time, $interval_end);
    echo $astart . '<br>';
    echo $aend;
    $request->setCreatedAfter(new DateTime($astart, new DateTimeZone('UTC')));
    $request->setCreatedBefore(new DateTime($aend, new DateTimeZone('UTC')));
    $errorstatus = invokeListOrders($service, $request);
    echo '$errorstatus:' . $errorstatus . "<br><br>";
}
Example #2
0
 public function test()
 {
     $this->load->config('config_mws_api');
     $amazon_app = $this->config->item('amazon_app');
     //var_dump($amazon_app);
     foreach ($amazon_app as $amazon) {
         $serviceUrl = $amazon['serviceUrl'];
         $amazon_api = array('ServiceURL' => $serviceUrl, 'ProxyHost' => null, 'ProxyPort' => -1, 'MaxErrorRetry' => 3);
         $all_order_id = array();
         $service = new MarketplaceWebServiceOrders_Client($amazon['AWS_ACCESS_KEY_ID'], $amazon['AWS_SECRET_ACCESS_KEY'], $this->config->item('APPLICATION_NAME'), $this->config->item('APPLICATION_VERSION'), $amazon_api);
         $request = new MarketplaceWebServiceOrders_Model_ListOrdersRequest();
         $request->setSellerId($amazon['MERCHANT_ID']);
         //$request->setCreatedAfter(new DateTime('2012-12-17 00:00:00', new DateTimeZone('UTC')));
         $beginning_time = $this->order_model->get_amazon_import_beginning_time();
         $end_time = date('Y-m-d H:i:s', mktime(substr($beginning_time, 11, 2) + 24, substr($beginning_time, 14, 2), substr($beginning_time, 17, 2), substr($beginning_time, 5, 2), substr($beginning_time, 8, 2), substr($beginning_time, 0, 4)));
         $startdate = strtotime($end_time);
         $enddate = strtotime(str_replace("Z", "", str_replace("T", " ", get_utc_time('-20 minutes'))));
         if ($enddate - $startdate <= 0) {
             $end_time = get_utc_time('-20 minutes');
         }
         $end_time = str_replace("Z", "", str_replace("T", " ", $end_time));
         echo "beginning_time[utc]:" . $beginning_time;
         echo "end_time[utc]:" . $end_time;
         //die();
         //$request->setLastUpdatedAfter(new DateTime('2013-01-21 08:43:14', new DateTimeZone('UTC')));
         //$request->setLastUpdatedBefore(new DateTime('2013-01-21 11:10:25', new DateTimeZone('UTC')));
         $request->setLastUpdatedAfter(new DateTime($beginning_time, new DateTimeZone('UTC')));
         $request->setLastUpdatedBefore(new DateTime($end_time, new DateTimeZone('UTC')));
         $orderStatuses = new MarketplaceWebServiceOrders_Model_OrderStatusList();
         $orderStatuses->setStatus(array('Unshipped', 'PartiallyShipped'));
         $request->setOrderStatus($orderStatuses);
         $marketplaceIdList = new MarketplaceWebServiceOrders_Model_MarketplaceIdList();
         $marketplaceIdList->setId(array($amazon['MARKETPLACE_ID']));
         $request->setMarketplaceId($marketplaceIdList);
         $orderids = $this->invokeListOrders($service, $request);
         $all_order_id = $orderids[1];
         //var_dump($orderids);die();
         $next_token = $orderids[0];
         while ($next_token != '') {
             $request = new MarketplaceWebServiceOrders_Model_ListOrdersByNextTokenRequest();
             $request->setSellerId($amazon['MERCHANT_ID']);
             $request->setNextToken($orderids[0]);
             $orderids = $this->invokeListOrdersByNextToken($service, $request);
             $next_token = $orderids[0];
             $all_order_id = array_merge($all_order_id, $orderids[1]);
             //var_dump($orderids);
         }
         //var_dump($all_order_id);
         foreach ($all_order_id as $order_id) {
             $order_info = array();
             $items = array();
             $data = array();
             $amazon_pdf_data = array();
             $amazon_ack_failed_data = array();
             $request = new MarketplaceWebServiceOrders_Model_GetOrderRequest();
             $request->setSellerId($amazon['MERCHANT_ID']);
             $request->setAmazonOrderId(array($order_id));
             // object or array of parameters
             $order_info = $this->invokeGetOrder($service, $request);
             //var_dump($order_info);
             $request = new MarketplaceWebServiceOrders_Model_ListOrderItemsRequest();
             $request->setSellerId($amazon['MERCHANT_ID']);
             $request->setAmazonOrderId($order_id);
             // object or array of parameters
             $items = $this->invokeListOrderItems($service, $request);
             //var_dump($items);
             if (!isset($order_info['AmazonOrderId'])) {
                 $this->log_report($order_id);
                 $amazon_ack_failed_data = array('amazonorderid' => $order_id, 'sellerid' => $amazon['MERCHANT_ID']);
                 if (!$this->order_model->check_amazon_ack_failed_exists($order_id)) {
                     $this->order_model->add_amazon_ack_failed($amazon_ack_failed_data);
                 }
                 continue;
             }
             $data = $this->_make_common_order_list_data($order_info, $items);
             //var_dump($data);
             if ($this->order_model->check_exists('order_list', array('transaction_id' => $data['transaction_id']))) {
                 echo $data['transaction_id'] . "存在\n";
                 /*
                 					$invoice_begin=2372;
                 					$invoice_id=$invoice_begin+$this->order_model->fetch_all_amazon_count()+1;
                 					$amazon_pdf_data=array(
                 						'amazonorderid'=>$order_info['AmazonOrderId'],
                 						'sellerid'=>$amazon['MERCHANT_ID'],
                 						'invoice_id'=>$invoice_id,
                 						);
                 					if(!$this->order_model->check_wait_create_amazon_pdf_exists($order_id))
                 					{
                 						$this->order_model->add_wait_create_amazon_pdf($amazon_pdf_data);
                 					}*/
             } else {
                 $this->order_model->add_order($data);
                 $invoice_begin = 2372;
                 $invoice_id = $invoice_begin + $this->order_model->fetch_all_amazon_count() + 1;
                 $amazon_pdf_data = array('amazonorderid' => $order_info['AmazonOrderId'], 'sellerid' => $amazon['MERCHANT_ID'], 'invoice_id' => $invoice_id);
                 if (!$this->order_model->check_wait_create_amazon_pdf_exists($order_id) && $order_info['AmazonOrderId'] != '') {
                     $this->order_model->add_wait_create_amazon_pdf($amazon_pdf_data);
                 }
                 echo $data['transaction_id'] . "保存成功\n";
             }
             sleep(2);
         }
         $this->order_model->update_amazon_import_beginning_time(array('value' => $end_time));
     }
 }