![]() 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/dhlshipping2/Helper/Response/ |
<?php /** * Copyright © Extmag. All rights reserved. */ namespace Extmag\DhlShipping\Helper\Response; use Exception; class Ship extends Dhl { /** * @var string */ protected $requestType = 'Ship'; /** * @inheritdoc */ protected function parseSuccess(array $data, string $context) { $service = []; try { if (!empty($data['AirwayBillNumber'])) { $service['ShipmentIdentification'] = $data['AirwayBillNumber']; if (!empty($data['ShippingCharge']) && !empty($data['Rated']) && $data['Rated'] == 'Y' ) { $service['TotalCharge'] = $data['ShippingCharge']; } $service['Currency'] = $data['CurrencyCode'] ?: 'NaN'; if (!empty($data['QtdSInAdCur'])) { foreach ($data['QtdSInAdCur'] as $qtdSInAdCur) { if (!empty($qtdSInAdCur['CurrencyCode']) && $qtdSInAdCur['CurrencyCode'] == $service['Currency'] ) { $service['TotalCharge'] = $qtdSInAdCur['ShippingCharge']; break; } } } $iterLabel = 0; foreach ($this->get($data['LabelImage']['MultiLabels']['MultiLabel'] ?? []) as $item) { $docNames = explode("_", $item['DocName'], 2); /* Get ArchiveDoc */ if (trim($docNames[0]) == 'Archive') { $service['ArchiveDoc'][] = [ 'Format' => $item['DocFormat'], 'Data' => $item['DocImageVal'], ]; } /* END Get ArchiveDoc */ /* Get Labels */ if (trim($docNames[0]) == 'TransportLabel') { $service['Labels'][] = [ 'TrackingNumber' => trim($docNames[1]), 'Format' => $item['DocFormat'], 'Data' => $item['DocImageVal'], ]; $iterLabel ++; } /* END Get Labels */ /* Get CustomInvoiceImage */ if (trim($docNames[0]) == 'CustomInvoiceImage') { $service['Form'][] = [ 'Type' => 'invoice', 'Format' => $item['DocFormat'], 'Data' => $item['DocImageVal'], ]; } /* END Get CustomInvoiceImage */ } } } catch (Exception $e) { $this->manager->warning($e->getMessage() . ' : ' . $e->getTraceAsString()); } $service['Status'] = 1; $service['Carrier'] = $this->carrier; $service['Context'] = $context; $service['Type'] = $this->requestType; return $service; } }