add after user register handler
This commit is contained in:
parent
6ffc090692
commit
a95d86744d
5 changed files with 75 additions and 30 deletions
|
@ -15,39 +15,46 @@ function addTelNumber(customerId) {
|
|||
}
|
||||
).then(
|
||||
function(response) {
|
||||
if (response.data.status === 'error' && response.data.errorMsg !== undefined) {
|
||||
const errorMsg = 'Ошибка. ' + response.data.errorMsg;
|
||||
$('#errorMsg').text(errorMsg);
|
||||
if (response.data.status === 'error' && response.data.msg !== undefined) {
|
||||
const msgBlock = $('#msg');
|
||||
msgBlock.text(response.data.msg);
|
||||
msgBlock.css('color', response.data.msgColor);
|
||||
}
|
||||
|
||||
if (response.data.status === 'activate') {
|
||||
|
||||
const msgBlock = $('#regbody');
|
||||
msgBlock.text(response.data.msg);
|
||||
msgBlock.css('color', response.data.msgColor);
|
||||
}
|
||||
|
||||
if (response.data.status === 'smsVerification') {
|
||||
$('#verificationCodeBlock').show();
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
function sendVerificationCode(){
|
||||
const verificationCode = $('#verificationCode').val();
|
||||
function sendVerificationCode() {
|
||||
const verificationCode = $('#verificationCode').val();
|
||||
|
||||
BX.ajax.runAction('intaro:retailcrm.api.loyalty.register.sendVerificationCode',
|
||||
{
|
||||
data: {
|
||||
sessid: BX.bitrix_sessid(),
|
||||
loyaltyAccount: {
|
||||
phone: phone,
|
||||
card: card,
|
||||
customerId: customerId
|
||||
}
|
||||
sessid: BX.bitrix_sessid(),
|
||||
code: verificationCode
|
||||
}
|
||||
}
|
||||
).then(
|
||||
function(response) {
|
||||
if (response.data.status === 'error' && response.data.msg !== undefined) {
|
||||
const msg = response.data.msg;
|
||||
$('#msg').text(msg);
|
||||
}
|
||||
|
||||
if (response.data.status === 'activate') {
|
||||
const msgBlock = $('#regbody');
|
||||
msgBlock.text(response.data.msg);
|
||||
msgBlock.css('color', response.data.msgColor);
|
||||
}
|
||||
}
|
||||
)
|
||||
}
|
|
@ -107,7 +107,7 @@ if (
|
|||
<input type="text" id="verificationCode" placeholder="<?= GetMessage('VERIFICATION_CODE')?>">
|
||||
<input type="button" onclick="sendVerificationCode()" value="<?= GetMessage('SEND')?>"/>
|
||||
</div>
|
||||
<div id="errorMsg" style="color: brown"></div>
|
||||
<div id="msg"></div>
|
||||
</div>
|
||||
<?php } ?>
|
||||
<?else:?>
|
||||
|
|
|
@ -57,6 +57,7 @@ class intaro_retailcrm extends CModule
|
|||
['EVENT_NAME' => 'OnSaleOrderDeleted', 'FROM_MODULE' => 'sale'],
|
||||
['EVENT_NAME' => 'OnSaleComponentOrderOneStepProcess', 'FROM_MODULE' => 'sale'],
|
||||
['EVENT_NAME' => 'OnSaleComponentOrderResultPrepared', 'FROM_MODULE' => 'sale'],
|
||||
['EVENT_NAME' => 'OnAfterUserRegister', 'FROM_MODULE' => 'main'],
|
||||
];
|
||||
|
||||
public const V5 = 'v5';
|
||||
|
@ -1647,13 +1648,17 @@ class intaro_retailcrm extends CModule
|
|||
*/
|
||||
private function addBonusPaySystem(): void
|
||||
{
|
||||
$arrPaySystemAction = PaySystemActionTable::query()
|
||||
->setSelect(['ID'])
|
||||
->where([
|
||||
['ACTION_FILE', '=', self::BONUS_PAY_SYSTEM_CODE],
|
||||
])
|
||||
->fetchCollection();
|
||||
|
||||
try {
|
||||
$arrPaySystemAction = PaySystemActionTable::query()
|
||||
->setSelect(['ID'])
|
||||
->where([
|
||||
['ACTION_FILE', '=', self::BONUS_PAY_SYSTEM_CODE],
|
||||
])
|
||||
->fetchCollection();
|
||||
} catch (ObjectPropertyException | ArgumentException | SystemException $exception) {
|
||||
AddMessage2Log($exception->getMessage());
|
||||
}
|
||||
|
||||
if (count($arrPaySystemAction) === 0) {
|
||||
$result = PaySystemActionTable::add(
|
||||
[
|
||||
|
|
|
@ -26,6 +26,9 @@ use Exception;
|
|||
use Intaro\RetailCrm\Component\ConfigProvider;
|
||||
use Intaro\RetailCrm\Repository\PaySystemActionRepository;
|
||||
use Intaro\RetailCrm\Service\LoyaltyService;
|
||||
use RetailCrm\ApiClient;
|
||||
use RetailcrmConfigProvider;
|
||||
use RetailCrmUser;
|
||||
|
||||
/**
|
||||
* Class EventsHandlers
|
||||
|
@ -201,4 +204,19 @@ class EventsHandlers
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $arFields
|
||||
* @return mixed
|
||||
*/
|
||||
public function OnAfterUserRegisterHandler($arFields)
|
||||
{
|
||||
if (isset($arFields['USER_ID']) && $arFields['USER_ID'] > 0) {
|
||||
$arFields['ID'] = $arFields['USER_ID'];
|
||||
$optionsSitesList = RetailcrmConfigProvider::getSitesList();
|
||||
$api = new ApiClient(RetailcrmConfigProvider::getApiUrl(), RetailcrmConfigProvider::getApiKey());
|
||||
RetailCrmUser::customerSend($arFields, $api, 'individual', true, $optionsSitesList);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -31,7 +31,8 @@ class Register extends Controller
|
|||
if (!is_numeric($phoneNumber)) {
|
||||
return [
|
||||
'status' => 'error',
|
||||
'errorMsg' => 'Некорректный номер телефона',
|
||||
'msg' => 'Некорректный номер телефона',
|
||||
'msgColor' => 'brown'
|
||||
];
|
||||
}
|
||||
|
||||
|
@ -69,13 +70,18 @@ class Register extends Controller
|
|||
if ($createResponse->success === false) {
|
||||
return [
|
||||
'status' => 'error',
|
||||
'errorMsg' => $createResponse->errorMsg,
|
||||
'msg' => $createResponse->errorMsg,
|
||||
'msgColor' => 'brown'
|
||||
];
|
||||
}
|
||||
|
||||
//если участник ПЛ создан и активирован
|
||||
if ($createResponse->loyaltyAccount->active) {
|
||||
return ['status' => 'activate'];
|
||||
return [
|
||||
'status' => 'activate',
|
||||
'msg' => 'Регистрация в программе лояльности успешно завершена',
|
||||
'msgColor' => 'green'
|
||||
];
|
||||
}
|
||||
|
||||
$activateRequest = new LoyaltyAccountActivateRequest();
|
||||
|
@ -89,7 +95,8 @@ class Register extends Controller
|
|||
|
||||
return [
|
||||
'status' => 'error',
|
||||
'errorMsg' => 'Ошибка запроса',
|
||||
'msg' => 'Ошибка запроса',
|
||||
'msgColor' => 'brown'
|
||||
];
|
||||
}
|
||||
|
||||
|
@ -105,7 +112,8 @@ class Register extends Controller
|
|||
if (empty($code) && $lengthCode > self::MIN_CODE_LENGTH && $lengthCode < self::MAX_CODE_LENGTH) {
|
||||
return [
|
||||
'status' => 'error',
|
||||
'errorMsg' => 'Код не введен',
|
||||
'msg' => 'Код не введен',
|
||||
'msgColor' => 'brown'
|
||||
];
|
||||
}
|
||||
|
||||
|
@ -120,7 +128,8 @@ class Register extends Controller
|
|||
if ($verificationResult === null) {
|
||||
return [
|
||||
'status' => 'error',
|
||||
'errorMsg' => 'ОШибка запроса на подтверждение',
|
||||
'msg' => 'ОШибка запроса на подтверждение',
|
||||
'msgColor' => 'brown'
|
||||
];
|
||||
}
|
||||
|
||||
|
@ -129,7 +138,8 @@ class Register extends Controller
|
|||
|
||||
return [
|
||||
'status' => 'error',
|
||||
'errorMsg' => 'Ошибка. ' . $errMsg,
|
||||
'msg' => 'Ошибка. ' . $errMsg,
|
||||
'msgColor' => 'brown'
|
||||
];
|
||||
}
|
||||
|
||||
|
@ -137,12 +147,17 @@ class Register extends Controller
|
|||
&& isset($verificationResult->verification->verifiedAt)
|
||||
&& !empty($verificationResult->verification->verifiedAt)) {
|
||||
|
||||
return [ 'status' => 'complete'];
|
||||
return [
|
||||
'status' => 'activate',
|
||||
'msg' => 'Регистрация в программе лояльности успешно завершена',
|
||||
'msgColor' => 'green'
|
||||
];
|
||||
}
|
||||
|
||||
return [
|
||||
'status' => 'error',
|
||||
'errorMsg' => 'Ошибка.',
|
||||
'msg' => 'Ошибка.',
|
||||
'msgColor' => 'brown'
|
||||
];
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue