after codereview
This commit is contained in:
parent
f644be561f
commit
0c4b5b2570
16 changed files with 75 additions and 46 deletions
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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';
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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;
|
||||
}
|
|
@ -12,7 +12,6 @@
|
|||
namespace Intaro\RetailCrm\Model\Api\Response;
|
||||
|
||||
use Intaro\RetailCrm\Component\Json\Mapping;
|
||||
use Intaro\RetailCrm\Model\Api\AbstractApiModel;
|
||||
|
||||
/**
|
||||
* Class CreateResponse
|
||||
|
|
|
@ -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
|
||||
{
|
||||
/**
|
||||
* Результат запроса (успешный/неуспешный)
|
||||
|
|
|
@ -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
|
||||
{
|
||||
/**
|
||||
* Результат запроса (успешный/неуспешный)
|
||||
|
|
|
@ -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
|
||||
{
|
||||
/**
|
||||
* Результат запроса (успешный/неуспешный)
|
||||
|
|
|
@ -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
|
||||
{
|
||||
/**
|
||||
* Результат запроса (успешный/неуспешный)
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
{
|
||||
/**
|
||||
* Результат запроса (успешный/неуспешный)
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue