private function _make_common_order_list_data($transaction_details, $items) { if (!isset($transaction_details['AmazonOrderId'])) { return; } $ship_to_country = $this->mixture_model->get_country_name_in_english_by_code(strtoupper($transaction_details['CountryCode'])); $shipping_address = preg_replace("/\\s/", " ", $transaction_details['AddressLine1']) . ' ' . $transaction_details['AddressLine2'] . ' ' . $transaction_details['AddressLine3'] . ' ' . $transaction_details['County'] . ' ' . $transaction_details['District'] . ' ' . $transaction_details['City'] . ' ' . $transaction_details['StateOrRegion'] . ' ' . $ship_to_country; $import_date = date('Y-m-d H:i:s'); $auction_sites = $transaction_details['MarketplaceId']; $item_titles = array(); $item_ids = array(); $item_qties = array(); $item_codes = array(); $transaction_details['discount_amount'] = 0; $transaction_details['shipping_amount'] = 0; foreach ($items as $item) { $item_titles[] = $item['Title']; $item_ids[] = $item['OrderItemId']; $item_qties[] = (int) $item['QuantityOrdered']; $item_codes[] = $item['SellerSKU']; $transaction_details['discount_amount'] = +$item['ShippingDiscountAmount']; $transaction_details['discount_amount'] = +$item['PromotionDiscountAmount']; $transaction_details['shipping_amount'] = +$item['ShippingAmount']; } $is_register = 'AMDD'; $user = '******'; $item_no = $this->order_model->create_item_no($user, date("ymd"), substr($item[0]['OrderItemId'], -5), str_replace('-', '', $transaction_details['AmazonOrderId']), $is_register); $sys_remark = $this->_create_sys_remark($import_date, $item_no); if ($transaction_details['OrderStatus'] == 'PartiallyShipped') { $sys_remark .= " Order Status is PartiallyShipped!\n"; } $data = array('list_date' => gmt_to_pdt($transaction_details['PurchaseDate'], 'D'), 'list_time' => gmt_to_pdt($transaction_details['PurchaseDate'], 'T'), 'time_zone' => 'PDT', 'name' => $transaction_details['Name'], 'item_title_str' => implode(ITEM_TITLE_SEP, $item_titles), 'item_id_str' => implode(',', $item_ids), 'qty_str' => implode(',', $item_qties), 'sku_str' => implode(',', $item_codes), 'currency' => $transaction_details['CurrencyCode'], 'gross' => $transaction_details['Amount'], 'fee' => $transaction_details['discount_amount'], 'net' => $transaction_details['Amount'] - $transaction_details['discount_amount'], 'shippingamt' => $transaction_details['shipping_amount'], 'note' => '', 'from_email' => $transaction_details['BuyerEmail'], 'to_email' => '*****@*****.**', 'transaction_id' => $transaction_details['AmazonOrderId'], 'item_no' => $item_no, 'payment_type' => $transaction_details['PaymentMethod'], 'counterparty_status' => '', 'shipping_address' => $shipping_address, 'address_status' => '', 'shipping_handling_amount' => '', 'insurance_amount' => '', 'sales_tax' => '', 'auction_site' => $transaction_details['SalesChannel'], 'buyer_id' => $transaction_details['BuyerName'], 'item_url' => '', 'closing_date' => '', 'reference_txn_id' => '', 'invoice_number' => '', 'subscription_number' => '', 'custom_number' => '', 'receipt_id' => '', 'input_user' => $user, 'is_register' => $is_register, 'sys_remark' => $sys_remark, 'address_line_1' => preg_replace("/\\s/", " ", $transaction_details['AddressLine1']), 'address_line_2' => preg_replace("/\\s/", " ", $transaction_details['AddressLine2']), 'town_city' => $transaction_details['City'], 'state_province' => $transaction_details['StateOrRegion'], 'zip_code' => $transaction_details['PostalCode'], 'country' => $ship_to_country, 'contact_phone_number' => $transaction_details['Phone'], 'balance_impact' => '', 'income_type' => 'Amazon', 'input_date' => $import_date, 'paid_time' => '', 'order_status' => $this->order_statuses['wait_for_confirmation']); return $data; }
public function get_need_ship_orders() { $order_ids = $this->ebay_order_model->get_need_ship_ebay_orders_ids(); foreach ($order_ids as $order) { echo $order->order_id . "======\n"; $new_order = array(); $orders = $this->ebay_order_model->get_ebay_order_by_order_id($order->order_id); foreach ($orders as $order_info) { //var_dump($order_info); $import_date = date("Y-m-d H:i:s"); if (!isset($new_order[$order_info->order_id])) { $shipping_address = $order_info->buyer_name . " " . $order_info->street1 . " " . $order_info->street2 . " " . $order_info->city . " " . $order_info->province . " " . $order_info->country; $paypal_emails = $this->config->item('ebay_id'); foreach ($paypal_emails as $key => $value) { if ($value == $order_info->ebay_id) { $to_email = $key; break; } } $order_created_date = !empty($order_info->order_created_date) ? $order_info->order_created_date : $order_info->paid_time; $data = array('list_date' => gmt_to_pdt($order_created_date, 'D'), 'list_time' => gmt_to_pdt($order_created_date, 'T'), 'time_zone' => 'PDT', 'name' => $order_info->buyer_name, 'payment_status' => $order_info->checkoutstatus, 'currency' => $order_info->currency, 'gross' => $order_info->amount_paid, 'fee' => $order_info->final_value_fee, 'net' => $order_info->amount_paid - $order_info->final_value_fee, 'shippingamt' => $order_info->amount_paid - $order_info->transaction_price * $order_info->quantitysold, 'from_email' => $order_info->buyer_email, 'to_email' => $to_email, 'transaction_id' => $order_info->order_id, 'payment_type' => $order_info->paymentmethodused, 'counterparty_status' => $order_info->paymentmethodused, 'shipping_address' => $shipping_address, 'auction_site' => 'Ebay', 'buyer_id' => $order_info->buyer_id, 'address_line_1' => $order_info->street1, 'address_line_2' => $order_info->street2, 'town_city' => $order_info->city, 'state_province' => $order_info->province, 'zip_code' => $order_info->postal_code, 'country' => $order_info->country, 'contact_phone_number' => $order_info->phone, 'balance_impact' => 'CREDIT', 'income_type' => 'Ebay', 'input_date' => $import_date, 'paid_time' => $order_info->paid_time, 'ebay_id' => $order_info->ebay_id); $item_id_str = $order_info->item_id; $item_title_str = $order_info->item_title; $qty_str = $order_info->quantitysold; $new_order[$order_info->order_id] = $order_info->orderlineitemid; } else { $item_id_str .= ',' . $order_info->item_id; $item_title_str .= ITEM_TITLE_SEP . $order_info->item_title; $qty_str .= ',' . $order_info->quantitysold; } } $order_status = 0; $is_register = 'PD'; $user_obj = $this->paypal_model->fetch_user_by_paypal_email($data['to_email']); $data['is_register'] = $is_register; $data['item_title_str'] = $item_title_str; $data['item_id_str'] = $item_id_str; $data['qty_str'] = $qty_str; //$data['input_user'] = $this->item_info['user']; //$data['sku_str'] = implode(',', $this->item_info['item_codes']); $data['order_status'] = $order_status; $data['item_no'] = $this->order_model->create_item_no($user_obj->login_name, date("ymd"), substr($data['item_id_str'], -5), $data['transaction_id'], $is_register); $data['sys_remark'] = sprintf(lang('my_ebay_order_import_sys_remark'), date('Y-m-d H:i:s'), $data['item_no']); //$data['sys_remark'] = $this->_create_sys_remark('wait_for_handle', $data['transaction_id']); var_dump($data); $order_id = $this->paypal_model->save_order_list($data, FALSE); $my_ebay_order_data = array('is_import' => 1); $this->ebay_order_model->update_ebay_order($order->order_id, $my_ebay_order_data); //更新myebay_order_list的is_import为1防止下次在导入。 /*添加新订单*/ } }
private function _make_common_order_list_data($transaction_details) { $ship_to_name = isset($transaction_details["SHIPTONAME"]) ? $transaction_details["SHIPTONAME"] : ''; $ship_to_name = html_entity_decode($ship_to_name); $ship_to_street = isset($transaction_details['SHIPTOSTREET']) ? $transaction_details['SHIPTOSTREET'] : ''; $ship_to_street2 = isset($transaction_details["SHIPTOSTREET2"]) ? $transaction_details["SHIPTOSTREET2"] : ''; $ship_to_city = isset($transaction_details['SHIPTOCITY']) ? $transaction_details['SHIPTOCITY'] : ''; $ship_to_country = isset($transaction_details['SHIPTOCOUNTRYNAME']) ? $transaction_details['SHIPTOCOUNTRYNAME'] : ''; $ship_to_state = isset($transaction_details['SHIPTOSTATE']) ? $transaction_details['SHIPTOSTATE'] : ''; $note = isset($transaction_details['NOTE']) ? $transaction_details['NOTE'] : ''; $subject = isset($transaction_details['SUBJECT']) ? $transaction_details['SUBJECT'] : ''; $ship_handle_amount = isset($transaction_details['SHIPHANDLEAMOUNT']) ? $transaction_details['SHIPHANDLEAMOUNT'] : ''; $from_email = isset($transaction_details['RECEIVERBUSINESS']) ? $transaction_details['RECEIVERBUSINESS'] : $transaction_details['RECEIVEREMAIL']; $ship_to_zip = isset($transaction_details['SHIPTOZIP']) ? $transaction_details['SHIPTOZIP'] : ''; $shipping_address = $transaction_details["SHIPTONAME"] . " " . $transaction_details["SHIPTOSTREET"] . " " . $ship_to_street2 . " " . $transaction_details["SHIPTOCITY"] . " " . $ship_to_state . " " . $transaction_details["SHIPTOCOUNTRYNAME"]; $import_date = date("Y-m-d H:i:s"); $fee = isset($transaction_details['FEEAMT']) ? $transaction_details['FEEAMT'] : 0; $insuranceamount = isset($transaction_details['INSURANCEAMOUNT']) ? $transaction_details['INSURANCEAMOUNT'] : ''; $buyer_id = isset($transaction_details['BUYERID']) ? $transaction_details['BUYERID'] : ''; $closing_date = isset($transaction_details['CLOSINGDATE']) ? $transaction_details['CLOSINGDATE'] : ''; $invoice_number = isset($transaction_details['INVNUM']) ? $transaction_details['INVNUM'] : ''; $paid_time = isset($transaction_details['ORDERTIME']) ? $transaction_details['ORDERTIME'] : ''; $ebay_id = $this->paypal_model->get_ebay_id_by_item_id(isset($transaction_details['L_NUMBER0']) ? $transaction_details['L_NUMBER0'] : ''); /* * erase shipping information, we need them from b2c. */ /* if ($this->user == '053') { $ship_to_name = ''; $shipping_address = ''; $ship_to_street = ''; $ship_to_street2 = ''; $ship_to_city = ''; $ship_to_state = ''; $ship_to_zip = ''; $ship_to_country = ''; }*/ $data = array('list_date' => gmt_to_pdt($transaction_details['ORDERTIME'], 'D'), 'list_time' => gmt_to_pdt($transaction_details['ORDERTIME'], 'T'), 'time_zone' => 'PDT', 'name' => $ship_to_name, 'list_type' => $transaction_details['TRANSACTIONTYPE'], 'payment_status' => $transaction_details['PAYMENTSTATUS'], 'subject' => $subject, 'currency' => $transaction_details['CURRENCYCODE'], 'gross' => $transaction_details['AMT'], 'fee' => $fee, 'net' => $transaction_details['AMT'] - $fee, 'shippingamt' => $transaction_details['SHIPPINGAMT'], 'note' => $note, 'from_email' => $transaction_details['EMAIL'], 'to_email' => $from_email, 'transaction_id' => $transaction_details['TRANSACTIONID'], 'payment_type' => $transaction_details['PAYMENTTYPE'], 'counterparty_status' => $transaction_details['PAYMENTTYPE'], 'shipping_address' => $shipping_address, 'address_status' => $transaction_details['ADDRESSSTATUS'], 'shipping_handling_amount' => $ship_handle_amount, 'insurance_amount' => $insuranceamount, 'sales_tax' => $transaction_details['TAXAMT'], 'auction_site' => 'EA', 'auction_site_type' => 'Ebay', 'buyer_id' => $buyer_id, 'item_url' => '', 'closing_date' => $closing_date, 'reference_txn_id' => '', 'invoice_number' => $invoice_number, 'subscription_number' => '', 'custom_number' => '', 'receipt_id' => $transaction_details['RECEIVERID'], 'balance' => '', 'address_line_1' => $ship_to_street, 'address_line_2' => $ship_to_street2, 'town_city' => $ship_to_city, 'state_province' => $ship_to_state, 'zip_code' => $ship_to_zip, 'country' => $ship_to_country, 'contact_phone_number' => '', 'balance_impact' => 'CREDIT', 'income_type' => 'Paypal', 'input_date' => $import_date, 'input_from_row' => 0, 'paid_time' => $paid_time, 'ebay_id' => $ebay_id, 'domain' => $ebay_id); return $data; }