1
0
Fork 0
mirror of synced 2025-04-20 01:21:01 +00:00

after codereview

This commit is contained in:
Sergey Chazov 2020-10-12 17:23:40 +03:00
parent f644be561f
commit 0c4b5b2570
16 changed files with 75 additions and 46 deletions

View file

@ -17,7 +17,7 @@ $(document).ready(function() {
let availableBonuses = Number.parseInt($('#available-bonus-input').val());
let inputBonuses = Number.parseInt($('#bonus-input').val());
if (inputBonuses > availableBonuses) {
$('#bonus-input-error').html('Вы не можете потратить более ' + availableBonuses + ' бонусов');
$('#bonus-input-error').text('Вы не можете потратить более ' + availableBonuses + ' бонусов');
}else{
$('#bonus-input-error').html(null);
}

View file

@ -1312,7 +1312,7 @@ class intaro_retailcrm extends CModule
$lpTemplatePath = $_SERVER['DOCUMENT_ROOT']
. '/local/templates/.default/components/bitrix/sale.order.ajax/intaro.retailcrm';
if (!file_exists($lpTemplatePath)){
if (!file_exists($lpTemplatePath)) {
$pathFrom = $_SERVER['DOCUMENT_ROOT']
. '/bitrix/modules/intaro.retailcrm/install/export/local/components/intaro/sale.order.ajax/templates/.default';

View file

@ -19,6 +19,7 @@ use Bitrix\Main\Event;
use Bitrix\Main\HttpRequest;
use Bitrix\Main\ObjectPropertyException;
use Bitrix\Main\SystemException;
use Bitrix\Sale\Order;
use Bitrix\Sale\PaySystem\Manager;
use Exception;
use Intaro\RetailCrm\Component\ConfigProvider;
@ -105,21 +106,21 @@ class EventsHandlers
/**
* Обработчик события, вызываемого при обновлении заказа
*
* @param $order
* @param $arUserResult
* @param \Bitrix\Sale\Order $order
* @param array $arUserResult
* @param \Bitrix\Main\HttpRequest $request
* @param $arParams
* @param $arResult
* @param array $arParams
* @param array $arResult
*/
public function OnSaleComponentOrderResultPreparedHandler($order, $arUserResult, HttpRequest $request, $arParams, &$arResult): void
public function OnSaleComponentOrderResultPreparedHandler(Order $order, array $arUserResult, HttpRequest $request, array $arParams, array &$arResult): void
{
if (ConfigProvider::getLoyaltyProgramStatus() === 'Y') {
$bonusInput = (int)$request->get('bonus-input');
$availableBonuses = (int)$request->get('available-bonuses');
if ($bonusInput > $availableBonuses) {
$arResult['LOYALTY']['ERROR'] = GetMessage('BONUS_ERROR_MSG');
return;
return;
}
if ($bonusInput > 0

View file

@ -28,17 +28,18 @@ class AdminPanel extends Controller
{
$status = ConfigProvider::getLoyaltyProgramStatus();
$newStatus = $status !== 'Y' ? 'Y' : 'N';
ConfigProvider::setLoyaltyProgramStatus($newStatus);
return ['newStatus' => $newStatus];
}
/**
* @param $templates
* @param array $templates
* @param string $replaceDefaultTemplate
* @return array
*/
public function createSaleTemplateAction($templates, $replaceDefaultTemplate = 'N'): array
public function createSaleTemplateAction(array $templates, $replaceDefaultTemplate = 'N'): array
{
$templateName = $replaceDefaultTemplate === 'Y' ? '.default' : Constants::MODULE_ID;

View file

@ -0,0 +1,30 @@
<?php
/**
* PHP version 7.1
*
* @category Integration
* @package Intaro\RetailCrm\Model\Api
* @author retailCRM <integration@retailcrm.ru>
* @license MIT
* @link http://retailcrm.ru
* @see http://retailcrm.ru/docs
*/
namespace Intaro\RetailCrm\Model\Api\Response;
use Intaro\RetailCrm\Model\Api\AbstractApiModel;
/**
* Class AbstractApiResponseModel
*
* @package Intaro\RetailCrm\Model\Api
*/
class AbstractApiResponseModel extends AbstractApiModel
{
/**
* @var string
*
* @Mapping\Type("string")
* @Mapping\SerializedName("errorMsg")
*/
public $errorMsg;
}

View file

@ -12,7 +12,6 @@
namespace Intaro\RetailCrm\Model\Api\Response;
use Intaro\RetailCrm\Component\Json\Mapping;
use Intaro\RetailCrm\Model\Api\AbstractApiModel;
/**
* Class CreateResponse

View file

@ -12,16 +12,14 @@
namespace Intaro\RetailCrm\Model\Api\Response\Loyalty\Account;
use Intaro\RetailCrm\Component\Json\Mapping;
use Intaro\RetailCrm\Model\Api\AbstractApiModel;
use Intaro\RetailCrm\Model\Api\LoyaltyAccount;
use Intaro\RetailCrm\Model\Api\SmsVerification;
use Intaro\RetailCrm\Model\Api\Response\AbstractApiResponseModel;
/**
* Class LoyaltyAccountActivateResponse
*
* @package Intaro\RetailCrm\Model\Api\Response\Loyalty\Account
*/
class LoyaltyAccountActivateResponse extends AbstractApiModel
class LoyaltyAccountActivateResponse extends AbstractApiResponseModel
{
/**
* Результат запроса (успешный/неуспешный)

View file

@ -11,15 +11,14 @@
*/
namespace Intaro\RetailCrm\Model\Api\Response\Loyalty\Account;
use Intaro\RetailCrm\Model\Api\AbstractApiModel;
use Intaro\RetailCrm\Model\Api\LoyaltyAccount;
use Intaro\RetailCrm\Model\Api\Response\AbstractApiResponseModel;
/**
* Class LoyaltyAccountCreateResponse
*
* @package Intaro\RetailCrm\Model\Api\Response\Loyalty\Account
*/
class LoyaltyAccountCreateResponse extends AbstractApiModel
class LoyaltyAccountCreateResponse extends AbstractApiResponseModel
{
/**
* Результат запроса (успешный/неуспешный)

View file

@ -12,15 +12,14 @@
namespace Intaro\RetailCrm\Model\Api\Response\Loyalty\Account;
use Intaro\RetailCrm\Component\Json\Mapping;
use Intaro\RetailCrm\Model\Api\AbstractApiModel;
use Intaro\RetailCrm\Model\Api\LoyaltyAccount;
use Intaro\RetailCrm\Model\Api\Response\AbstractApiResponseModel;
/**
* Class LoyaltyAccountEditResponse
*
* @package Intaro\RetailCrm\Model\Api\Response\Loyalty\Account
*/
class LoyaltyAccountEditResponse extends AbstractApiModel
class LoyaltyAccountEditResponse extends AbstractApiResponseModel
{
/**
* Результат запроса (успешный/неуспешный)

View file

@ -11,16 +11,14 @@
*/
namespace Intaro\RetailCrm\Model\Api\Response\Loyalty;
use Intaro\RetailCrm\Model\Api\AbstractApiModel;
use Intaro\RetailCrm\Model\Api\CalculateMaximum;
use Intaro\RetailCrm\Model\Api\SerializedLoyaltyOrder;
use Intaro\RetailCrm\Model\Api\Response\AbstractApiResponseModel;
/**
* Class LoyaltyCalculateResponse
*
* @package Intaro\RetailCrm\Model\Api\Response\Loyalty
*/
class LoyaltyCalculateResponse extends AbstractApiModel
class LoyaltyCalculateResponse extends AbstractApiResponseModel
{
/**
* Результат запроса (успешный/неуспешный)

View file

@ -12,14 +12,13 @@
namespace Intaro\RetailCrm\Model\Api\Response;
use Intaro\RetailCrm\Component\Json\Mapping;
use Intaro\RetailCrm\Model\Api\AbstractApiModel;
/**
* Class OperationResponse
*
* @package Intaro\RetailCrm\Model\Api
*/
class OperationResponse extends AbstractApiModel
class OperationResponse extends AbstractApiResponseModel
{
/**
* @var bool

View file

@ -12,16 +12,14 @@
namespace Intaro\RetailCrm\Model\Api\Response\Order\Loyalty;
use Intaro\RetailCrm\Component\Json\Mapping;
use Intaro\RetailCrm\Model\Api\AbstractApiModel;
use Intaro\RetailCrm\Model\Api\SerializedLoyaltyOrder;
use Intaro\RetailCrm\Model\Api\SmsVerification;
use Intaro\RetailCrm\Model\Api\Response\AbstractApiResponseModel;
/**
* Class OrderLoyaltyApplyResponse
*
* @package Intaro\RetailCrm\Model\Api\Response\SmsVerification
*/
class OrderLoyaltyApplyResponse extends AbstractApiModel
class OrderLoyaltyApplyResponse extends AbstractApiResponseModel
{
/**
* Результат запроса (успешный/неуспешный)

View file

@ -12,14 +12,13 @@
namespace Intaro\RetailCrm\Model\Api\Response;
use Intaro\RetailCrm\Component\Json\Mapping;
use Intaro\RetailCrm\Model\Api\AbstractApiModel;
/**
* Class PaginationResponse
*
* @package Intaro\RetailCrm\Model\Api
*/
class PaginationResponse extends AbstractApiModel
class PaginationResponse extends AbstractApiResponseModel
{
/**
* @var int

View file

@ -11,15 +11,15 @@
*/
namespace Intaro\RetailCrm\Model\Api\Response\SmsVerification;
use Intaro\RetailCrm\Model\Api\AbstractApiModel;
use Intaro\RetailCrm\Component\Json\Mapping;
use Intaro\RetailCrm\Model\Api\Response\AbstractApiResponseModel;
/**
* Class SmsVerificationConfirmResponse
*
* @package Intaro\RetailCrm\Model\Api\Response\SmsVerification
*/
class SmsVerificationConfirmResponse extends AbstractApiModel
class SmsVerificationConfirmResponse extends AbstractApiResponseModel
{
/**
* @var bool

View file

@ -11,9 +11,7 @@
*/
namespace Intaro\RetailCrm\Model\Api\Response\SmsVerification;
use Intaro\RetailCrm\Model\Api\AbstractApiModel;
use Intaro\RetailCrm\Component\Json\Mapping;
use Intaro\RetailCrm\Model\Api\SmsVerification;
/**
* Class SmsVerificationStatusResponse

View file

@ -1,4 +1,5 @@
<?php
/**
* PHP version 7.1
*
@ -9,15 +10,12 @@
* @link http://retailcrm.ru
* @see http://retailcrm.ru/docs
*/
namespace Intaro\RetailCrm\Service;
use Bitrix\Catalog\GroupTable;
use Bitrix\Main\ArgumentException;
use Bitrix\Main\ObjectPropertyException;
use Bitrix\Main\SystemException;
use Intaro\RetailCrm\Component\ApiClient\ClientAdapter;
use Intaro\RetailCrm\Component\ConfigProvider;
use Intaro\RetailCrm\Component\Factory\ClientFactory;
use Intaro\RetailCrm\Model\Api\Request\Loyalty\LoyaltyCalculateRequest;
use Intaro\RetailCrm\Model\Api\Request\Order\Loyalty\OrderLoyaltyApplyRequest;
@ -45,16 +43,22 @@ class LoyaltyService
/**
* @param $orderId
* @param $bonusConunt
* @param $bonusCount
* @return \Intaro\RetailCrm\Model\Api\Response\Order\Loyalty\OrderLoyaltyApplyResponse|mixed|null
*/
public function sendBonusPayment($orderId, $bonusConunt)
public function sendBonusPayment($orderId, $bonusCount)
{
$request = new OrderLoyaltyApplyRequest();
$request->order->id = $orderId;
$request->order->bonuses = $bonusConunt;
$request->order->bonuses = $bonusCount;
return $this->client->loyaltyOrderApply($request);
$result = $this->client->loyaltyOrderApply($request);
if (isset($result->errorMsg) && !empty($result->errorMsg)) {
AddMessage2Log($result->errorMsg);
}
return $result;
}
/**
@ -117,7 +121,13 @@ class LoyaltyService
}
$request->order->items[] = $product;
}
$result = $this->client->loyaltyCalculate($request);
return $this->client->loyaltyCalculate($request);
if (isset($result->errorMsg) && !empty($result->errorMsg)) {
AddMessage2Log($result->errorMsg);
}
return $result;
}
}