1
0
Fork 0
mirror of synced 2025-04-20 01:21:01 +00:00
This commit is contained in:
gorokh 2020-05-11 16:35:25 +03:00
parent 38c0a7c20e
commit a05eed8ffe
4 changed files with 30 additions and 22 deletions

View file

@ -0,0 +1,26 @@
<?php
/**
* Class BuilderBase
*/
class BuilderBase
{
/**
* @param array $array
* @param array $symbols
* @return array
*/
function arrayClear(array $array, array $symbols = array('', 0, null))
{
return array_diff($array, $symbols);
}
/**
* @param $data
* @return array
*/
function objectToArray($data)
{
return $this->arrayClear(json_decode(json_encode($data), true));
}
}

View file

@ -3,7 +3,7 @@
/**
* Class CustomerBuilder
*/
class CustomerBuilder implements RetailcrmBuilderInterface
class CustomerBuilder extends BuilderBase implements RetailcrmBuilderInterface
{
/** @var classes/general/Model/Customer */
public $customer;
@ -141,7 +141,7 @@ class CustomerBuilder implements RetailcrmBuilderInterface
$this->createCustomer();
}
if (isset($this->registeredUserID)) {
if (isset($this->registeredUserID) || isset($this->dataCrm['externalId'])) {
$this->updateCustomer();
}
@ -264,23 +264,4 @@ class CustomerBuilder implements RetailcrmBuilderInterface
$this->customer->setPersonalGender(RCrmActions::fromJSON($this->dataCrm['sex']));
}
}
/**
* @param array $array
* @param array $symbols
* @return array
*/
function arrayClear(array $array, array $symbols = array('', 0, null))
{
return array_diff($array, $symbols);
}
/**
* @param $data
* @return array
*/
function objectToArray($data)
{
return $this->arrayClear(json_decode(json_encode($data), true));
}
}

View file

@ -2,7 +2,7 @@
/**
* Class CustomerCorpBuilder
*/
class CustomerCorpBuilder implements RetailcrmBuilderInterface
class CustomerCorpBuilder extends BuilderBase implements RetailcrmBuilderInterface
{
/** @var classes/general/Model/Customer */
public $customer;

View file

@ -35,5 +35,6 @@ CModule::AddAutoloadClasses(
'CustomerContragent' => 'classes/general/Model/CustomerContragent.php',
'BuyerProfile' => 'classes/general/Model/BuyerProfile.php',
'AdressBuilder' => 'classes/general/AdressBuilder.php',
'BuilderBase' => 'classes/general/BuilderBase.php',
)
);