This commit is contained in:
Akolzin Dmitry 2018-08-03 11:54:56 +03:00
parent 86064c775f
commit 57c2ca99c9
5 changed files with 49 additions and 17 deletions

View File

@ -1,3 +1,6 @@
## v.3.1.1
* Добавлено создание клиента при ручной выгрузке заказа из админки
## v.3.1.0
* Переработан дизайн шаблона twig
* Добавлена настройка передачи номера заказа в retailCRM

View File

@ -1 +1 @@
3.1.0
3.1.1

View File

@ -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
*

View File

@ -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);

View File

@ -23,7 +23,8 @@ class ModelRetailcrmOrderAdminTest extends OpenCartTest
'ordersUpload',
'customersList',
'ordersCreate',
'ordersPaymentCreate'
'ordersPaymentCreate',
'customersCreate'
))
->getMock();