Server IP : 80.87.202.40 / Your IP : 216.73.216.169 Web Server : Apache System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64 User : bitrix ( 600) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/bitrix/ext_www/cvetdv.ru/bitrix/modules/wbs24.ozonapinew/lib/Orders/Statuses/Push/ |
Upload File : |
<?php namespace Wbs24\Ozonapinew\Orders\Statuses\Push; use Wbs24\Ozonapinew\{ Main, Wrappers }; /** * Управление разрешением обновления статусов заказа */ class Update { protected $needSpecificActions = false; public function __construct($accountIndex = 1, $objects = []) { $this->main = $objects['Main'] ?? new Main(); $this->moduleId = $this->main->getModuleId(); $this->wrappers = new Wrappers($objects); } public function getUpdateInfo(array $param): array { [ 'oderdIdsToOldStatuses' => $oderdIdsToOldStatuses, 'oderdIdsToNewStatuses' => $oderdIdsToNewStatuses, ] = $param; $updateInfo = []; foreach ($oderdIdsToOldStatuses as $orderId => $oldStatus) { $newStatus = $oderdIdsToNewStatuses[$orderId]; if ($oldStatus !== $newStatus) { $updateInfo[] = [ 'orderId' => $orderId, 'status' => $newStatus, ]; } } return $updateInfo; } public function specificChecks(array $param) { [ 'orderInfo' => $orderInfo, 'mpStatus' => $mpStatus, 'forbiddenStatuses' => $forbiddenStatuses ] = $param; $tplIntegrationType = $orderInfo['tpl_integration_type']; $isRfbsOrder = $this->isRfbsOrder($tplIntegrationType); return !($isRfbsOrder && in_array($mpStatus, $forbiddenStatuses)); } protected function isRfbsOrder($tplIntegrationType) { $result = true; if ( $tplIntegrationType == '' || $tplIntegrationType == 'ozon' ) { $result = false; } return $result; } }