1
0
mirror of synced 2025-02-21 09:23:14 +03:00

Fix customers and orders upload (#46)

* Fix export clients and orders
* Edit version
This commit is contained in:
Akolzin Dmitry 2018-02-01 15:07:16 +03:00 committed by Alex Lushpai
parent dd1f5c3d14
commit e10d492d94
4 changed files with 38 additions and 40 deletions

View File

@ -40,7 +40,9 @@ if ( ! class_exists( 'WC_Retailcrm_Customers' ) ) :
$data_customers = array();
foreach ($users as $user) {
if ($user->roles[0] != 'customer') continue;
if (!in_array('customer', $user->roles)) {
continue;
}
$customer = new WC_Customer($user->ID);
$firstName = $customer->get_first_name();
@ -50,11 +52,6 @@ if ( ! class_exists( 'WC_Retailcrm_Customers' ) ) :
'firstName' => $firstName ? $firstName : $customer->get_username(),
'lastName' => $customer->get_last_name(),
'email' => $user->data->user_email,
'phones' => array(
array(
'number' => $customer->get_billing_phone()
)
),
'address' => array(
'index' => $customer->get_billing_postcode(),
'countryIso' => $customer->get_billing_country(),
@ -64,6 +61,12 @@ if ( ! class_exists( 'WC_Retailcrm_Customers' ) ) :
)
);
if ($customer->get_billing_phone()) {
$data_customer['phones'][] = array(
'number' => $customer->get_billing_phone()
);
}
$data_customers[] = $data_customer;
}
@ -86,7 +89,6 @@ if ( ! class_exists( 'WC_Retailcrm_Customers' ) ) :
$customer = new WC_Customer($customer_id);
if ($customer->get_role() == 'customer'){
$data_customer = $this->processCustomer($customer);
$this->retailcrm->customersCreate($data_customer);
@ -105,7 +107,6 @@ if ( ! class_exists( 'WC_Retailcrm_Customers' ) ) :
$customer = new WC_Customer($customer_id);
if ($customer->get_role() == 'customer'){
$data_customer = $this->processCustomer($customer);
$this->retailcrm->customersEdit($data_customer);
@ -125,15 +126,10 @@ if ( ! class_exists( 'WC_Retailcrm_Customers' ) ) :
$firstName = $customer->get_first_name();
$data_customer = array(
'createdAt' => $createdAt->date('Y-m-d H:i:s'),
'externalId' => $customer_id,
'externalId' => $customer->get_id(),
'firstName' => $firstName ? $firstName : $customer->get_username(),
'lastName' => $customer->get_last_name(),
'email' => $customer->get_email(),
'phones' => array(
array(
'number' => $customer->get_billing_phone()
)
),
'address' => array(
'index' => $customer->get_billing_postcode(),
'countryIso' => $customer->get_billing_country(),
@ -143,6 +139,12 @@ if ( ! class_exists( 'WC_Retailcrm_Customers' ) ) :
)
);
if ($customer->get_billing_phone()) {
$data_customer['phones'][] = array(
'number' => $customer->get_billing_phone()
);
}
return $data_customer;
}
}

View File

@ -48,7 +48,7 @@ if ( ! class_exists( 'WC_Retailcrm_Orders' ) ) :
foreach ($orders as $data_order) {
$order_data = $this->processOrder($data_order->ID);
$order = new WC_Order($order_id);
$order = new WC_Order($data_order->ID);
$customer = $order->get_user();
if ($customer != false) {
@ -89,13 +89,12 @@ if ( ! class_exists( 'WC_Retailcrm_Orders' ) ) :
);
$this->retailcrm->customersCreate($customer_data);
} else {
$order_data['customer']['externalId'] = $search['customer']['externalId'];
}
}
$res = $this->retailcrm->ordersCreate($order_data);
$this->retailcrm->ordersCreate($order_data);
}
/**
@ -106,7 +105,7 @@ if ( ! class_exists( 'WC_Retailcrm_Orders' ) ) :
public function orderUpdateShippingAddress($order_id, $address) {
$address['externalId'] = $order_id;
$response = $this->retailcrm->ordersEdit($address);
$this->retailcrm->ordersEdit($address);
}
/**
@ -122,7 +121,7 @@ if ( ! class_exists( 'WC_Retailcrm_Orders' ) ) :
'status' => $this->retailcrm_settings[$order->get_status()]
);
$response = $this->retailcrm->ordersEdit($order_data);
$this->retailcrm->ordersEdit($order_data);
}
/**
@ -238,7 +237,7 @@ if ( ! class_exists( 'WC_Retailcrm_Orders' ) ) :
$order_data['delivery']['cost'] = $shipping_cost;
}
$response = $this->retailcrm->ordersEdit($order_data);
$this->retailcrm->ordersEdit($order_data);
}
/**
@ -369,27 +368,24 @@ if ( ! class_exists( 'WC_Retailcrm_Orders' ) ) :
foreach ($order->get_items() as $item) {
$uid = ($item['variation_id'] > 0) ? $item['variation_id'] : $item['product_id'] ;
$_product = wc_get_product($uid);
$price = round($item['line_subtotal'] + $item['line_subtotal_tax'], 2);
if ($_product) {
$product_price = $item->get_total() ? $item->get_total() / $item->get_quantity() : 0;
$product_tax = $item->get_total_tax() ? $item->get_total_tax() / $item->get_quantity() : 0;
$price_item = $product_price + $product_tax;
$discount_price = $price - $price_item;
$product_price = $item->get_total() ? $item->get_total() / $item->get_quantity() : 0;
$product_tax = $item->get_total_tax() ? $item->get_total_tax() / $item->get_quantity() : 0;
$price_item = $product_price + $product_tax;
$discount_price = $price - $price_item;
$order_item = array(
'offer' => array('externalId' => $uid),
'productName' => $item['name'],
'initialPrice' => (float)$price,
'quantity' => $item['qty'],
);
$order_item = array(
'offer' => array('externalId' => $uid),
'productName' => $item['name'],
'initialPrice' => (float)$price,
'quantity' => $item['qty'],
);
if ($this->retailcrm_settings['api_version'] == 'v5' && round($discount_price, 2)) {
$order_item['discountManualAmount'] = round($discount_price, 2);
} elseif ($this->retailcrm_settings['api_version'] == 'v4' && round($discount_price, 2)) {
$order_item['discount'] = round($discount_price, 2);
}
if ($this->retailcrm_settings['api_version'] == 'v5' && round($discount_price, 2)) {
$order_item['discountManualAmount'] = round($discount_price, 2);
} elseif ($this->retailcrm_settings['api_version'] == 'v4' && round($discount_price, 2)) {
$order_item['discount'] = round($discount_price, 2);
}
$order_items[] = $order_item;
@ -497,4 +493,4 @@ if ( ! class_exists( 'WC_Retailcrm_Orders' ) ) :
}
}
}
endif;
endif;

View File

@ -1,6 +1,6 @@
<?php
/**
* Version: 2.0.3
* Version: 2.0.4
* Plugin Name: WooCommerce RetailCRM
* Plugin URI: https://wordpress.org/plugins/woo-retailcrm/
* Description: Integration plugin for WooCommerce & RetailCRM

View File

@ -15,7 +15,7 @@
*
*
* @link https://wordpress.org/plugins/woo-retailcrm/
* @since 2.0.3
* @since 2.0.4
*
* @package RetailCRM
*/