![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/extmag/shiplab/Helper/ |
<?php /** * Copyright © Extmag. All rights reserved. */ namespace Extmag\Shiplab\Helper; use Exception; use Magento\Framework\App\Helper\AbstractHelper; use Magento\Framework\App\Helper\Context; use Magento\Framework\Message\ManagerInterface; class Track extends AbstractHelper { /** * @var DataPrepareFactory */ protected $dataPrepareFactory; /** * @var ManagerInterface */ protected $messageManager; /** * Extmag Model Saver * * @var DataSave */ protected $modelSaver; /** * Extmag Ship * * @var RequestFactory */ protected $requestToAPI; /** * @param Context $context * @param DataPrepareFactory $dataPrepareFactory * @param ManagerInterface $messageManager * @param DataSave $defSave * @param RequestFactory $requestToAPI */ public function __construct( Context $context, DataPrepareFactory $dataPrepareFactory, ManagerInterface $messageManager, DataSave $defSave, RequestFactory $requestToAPI ) { parent::__construct($context); $this->dataPrepareFactory = $dataPrepareFactory; $this->messageManager = $messageManager; $this->modelSaver = $defSave; $this->requestToAPI = $requestToAPI; } /** * @param $carrierCode * @param array $labels * @return array * @throws Exception */ public function makeDataAndSaveTrack($carrierCode, array $labels) { $responses = []; foreach ($labels as $label) { $connector = $this->requestToAPI->create($carrierCode, 'track'); $dataPrepare = $this->dataPrepareFactory->create($carrierCode); $data = $dataPrepare->getTrackingData($label); $connector->setData($data); $connector->addRequest(); if ($connector->checkRequestData()) { $response = $connector->send(); if (!empty($response['result'])) { $responses[] = $this->modelSaver->save($carrierCode, 'track', $response); } sleep(3); } } return $responses; } }