mirror of
https://github.com/retailcrm/opencart-module.git
synced 2024-11-25 14:46:06 +03:00
commit
4174195128
@ -1,3 +1,6 @@
|
||||
## v.3.1.1
|
||||
* Добавлено создание клиента при ручной выгрузке заказа из админки
|
||||
|
||||
## v.3.1.0
|
||||
* Переработан дизайн шаблона twig
|
||||
* Добавлена настройка передачи номера заказа в retailCRM
|
||||
|
@ -65,6 +65,27 @@ class ModelExtensionRetailcrmCustomer extends Model {
|
||||
return $customerToCrm;
|
||||
}
|
||||
|
||||
/**
|
||||
* Create customer
|
||||
*
|
||||
* @param array $customer
|
||||
* @param \RetailcrmProxy $retailcrmApiClient
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
public function sendToCrm($customer, $retailcrmApiClient)
|
||||
{
|
||||
if ($retailcrmApiClient === false || empty($customer)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$customerToCrm = $this->process($customer);
|
||||
|
||||
$retailcrmApiClient->customersCreate($customerToCrm);
|
||||
|
||||
return $customerToCrm;
|
||||
}
|
||||
|
||||
/**
|
||||
* Process customer
|
||||
*
|
||||
|
@ -64,24 +64,31 @@ class ModelExtensionRetailcrmOrder extends Model {
|
||||
return false;
|
||||
}
|
||||
|
||||
$customers = $retailcrmApiClient->customersList(
|
||||
array(
|
||||
'name' => $order_data['telephone'],
|
||||
'email' => $order_data['email']
|
||||
),
|
||||
1,
|
||||
100
|
||||
);
|
||||
|
||||
$order = $this->process($order_data);
|
||||
|
||||
if ($customers) {
|
||||
foreach ($customers['customers'] as $customer) {
|
||||
$order['customer']['id'] = $customer['id'];
|
||||
}
|
||||
}
|
||||
if (isset($order['customer']['externalId'])) {
|
||||
$this->load->model('extension/retailcrm/customer');
|
||||
$this->load->model('customer/customer');
|
||||
$customer = $this->model_customer_customer->getCustomer($order['customer']['externalId']);
|
||||
$this->model_extension_retailcrm_customer->sendToCrm($customer, $retailcrmApiClient);
|
||||
} else {
|
||||
$customers = $retailcrmApiClient->customersList(
|
||||
array(
|
||||
'name' => $order_data['telephone'],
|
||||
'email' => $order_data['email']
|
||||
),
|
||||
1,
|
||||
100
|
||||
);
|
||||
|
||||
unset($customers);
|
||||
if ($customers) {
|
||||
foreach ($customers['customers'] as $customer) {
|
||||
$order['customer']['id'] = $customer['id'];
|
||||
}
|
||||
}
|
||||
|
||||
unset($customers);
|
||||
}
|
||||
|
||||
self::$lastRepsonse = $retailcrmApiClient->ordersCreate($order);
|
||||
|
||||
|
@ -23,7 +23,8 @@ class ModelRetailcrmOrderAdminTest extends OpenCartTest
|
||||
'ordersUpload',
|
||||
'customersList',
|
||||
'ordersCreate',
|
||||
'ordersPaymentCreate'
|
||||
'ordersPaymentCreate',
|
||||
'customersCreate'
|
||||
))
|
||||
->getMock();
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user