1
0
mirror of synced 2025-02-07 18:49:23 +03:00

Корректировка логики создания/редактирования клиента в Bitrix

This commit is contained in:
Vlad 2022-09-07 10:35:40 +03:00 committed by GitHub
parent f14a087b16
commit 61177b712d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 35 additions and 25 deletions

View File

@ -1,3 +1,6 @@
## 2022-09-07 v.6.1.6
- Корректировка редактирования данных пользователя Bitrix при выгрузке истории изменений
## 2022-08-22 v.6.1.5 ## 2022-08-22 v.6.1.5
- Корректировка получения НДС товаров в каталоге - Корректировка получения НДС товаров в каталоге

View File

@ -189,12 +189,6 @@ class CustomerBuilder extends AbstractBuilder implements RetailcrmBuilderInterfa
$this->customer->setPersonalGender($this->fromJSON($this->dataCrm['sex'])); $this->customer->setPersonalGender($this->fromJSON($this->dataCrm['sex']));
} }
if (empty($this->dataCrm['externalId'])) {
$userPassword = uniqid("R");
$this->customer->setPassword($userPassword)
->setConfirmPassword($userPassword);
}
if ((!isset($this->dataCrm['email']) || $this->dataCrm['email'] == '') if ((!isset($this->dataCrm['email']) || $this->dataCrm['email'] == '')
&& (!isset($this->dataCrm['externalId'])) && (!isset($this->dataCrm['externalId']))
) { ) {
@ -208,6 +202,15 @@ class CustomerBuilder extends AbstractBuilder implements RetailcrmBuilderInterfa
} }
} }
public function buildPassword()
{
$userPassword = uniqid("R");
$this->customer->setPassword($userPassword)
->setConfirmPassword($userPassword);
return $this;
}
public function buildAddress() public function buildAddress()
{ {
if (isset($this->dataCrm['address'])) { if (isset($this->dataCrm['address'])) {

View File

@ -131,6 +131,7 @@ class RetailCrmHistory
case 0: case 0:
$login = $customer['email']; $login = $customer['email'];
$customerBuilder->setLogin($login); $customerBuilder->setLogin($login);
$customerBuilder->buildPassword();
break; break;
case 1: case 1:
$arUser = $dbUser->Fetch(); $arUser = $dbUser->Fetch();
@ -140,6 +141,7 @@ class RetailCrmHistory
default: default:
$login = uniqid('user_' . time()) . '@example.com'; $login = uniqid('user_' . time()) . '@example.com';
$customerBuilder->setLogin($login); $customerBuilder->setLogin($login);
$customerBuilder->buildPassword();
break; break;
} }
} }
@ -158,15 +160,15 @@ class RetailCrmHistory
continue; continue;
} }
}
if(RCrmActions::apiMethod( if(RCrmActions::apiMethod(
$api, $api,
'customersFixExternalIds', 'customersFixExternalIds',
__METHOD__, __METHOD__,
array(array('id' => $customer['id'], 'externalId' => $registeredUserID))) == false array(array('id' => $customer['id'], 'externalId' => $registeredUserID))) == false
) { ) {
continue; continue;
}
} }
$customer['externalId'] = $registeredUserID; $customer['externalId'] = $registeredUserID;
@ -856,13 +858,6 @@ class RetailCrmHistory
if (isset($order['contact']['id'])) { if (isset($order['contact']['id'])) {
$ExtId = null; $ExtId = null;
$response = RCrmActions::apiMethod(
$api,
'customersGetById',
__METHOD__,
$order['contact']['id'],
$order['site']
);
if (isset($order['contact']['externalId'])) { if (isset($order['contact']['externalId'])) {
$ExtId = $order['contact']['externalId']; $ExtId = $order['contact']['externalId'];
@ -871,6 +866,14 @@ class RetailCrmHistory
if (isset($ExtId)) { if (isset($ExtId)) {
$newOrder->setFieldNoDemand('USER_ID', $ExtId); $newOrder->setFieldNoDemand('USER_ID', $ExtId);
} else { } else {
$response = RCrmActions::apiMethod(
$api,
'customersGetById',
__METHOD__,
$order['contact']['id'],
$order['site']
);
$newUser = new CUser(); $newUser = new CUser();
$customerBuilder = new CustomerBuilder(); $customerBuilder = new CustomerBuilder();
$customerBuilder->setDataCrm($response['customer'])->build(); $customerBuilder->setDataCrm($response['customer'])->build();
@ -887,6 +890,7 @@ class RetailCrmHistory
case 0: case 0:
$login = $response['customer']['email']; $login = $response['customer']['email'];
$customerBuilder->setLogin($login); $customerBuilder->setLogin($login);
$customerBuilder->buildPassword();
break; break;
case 1: case 1:
$arUser = $dbUser->Fetch(); $arUser = $dbUser->Fetch();
@ -896,6 +900,7 @@ class RetailCrmHistory
default: default:
$login = uniqid('user_' . time()) . '@example.com'; $login = uniqid('user_' . time()) . '@example.com';
$customerBuilder->setLogin($login); $customerBuilder->setLogin($login);
$customerBuilder->buildPassword();
break; break;
} }
@ -926,7 +931,6 @@ class RetailCrmHistory
continue; continue;
} }
} }
$newOrder->setFieldNoDemand('USER_ID', $registeredUserID); $newOrder->setFieldNoDemand('USER_ID', $registeredUserID);
} }
} }

View File

@ -1 +1 @@
- Корректировка получения НДС товаров в каталоге - Корректировка редактирования данных пользователя Bitrix при выгрузке истории изменений

View File

@ -1,6 +1,6 @@
<?php <?php
$arModuleVersion = [ $arModuleVersion = [
'VERSION' => '6.1.5', 'VERSION' => '6.1.6',
'VERSION_DATE' => '2022-08-22 11:00:00' 'VERSION_DATE' => '2022-09-07 10:00:00'
]; ];