63 lines
2.2 KiB
PHP
63 lines
2.2 KiB
PHP
<?php
|
|
|
|
namespace KupShop\BalikonosBundle\BalikobotAdapters;
|
|
|
|
use KupShop\I18nBundle\Util\PriceConverter;
|
|
|
|
class BalikobotCPAdapter implements IBalikobotAdapter
|
|
{
|
|
/** @var PriceConverter|null */
|
|
protected $priceConverter;
|
|
|
|
public function transformOrderData(\Order $order, array $data, array &$custom_data): array
|
|
{
|
|
$services = [];
|
|
$services[] = ($order->getData('delivery_data', false)['time_zone'] ?? false) ? '1B' : '1A';
|
|
|
|
if (!empty($data['size'])) {
|
|
$services[] = $data['size'];
|
|
}
|
|
|
|
// cenná psaní, doporučené zásilky, standardní balíky, cenné balíky do zahraničí na SK se musí hodnota zásilky uvádět v CZK
|
|
$services_types = ['VL', 'VZP', 'RZP', 'CSP', 'CSE', 'CVP', 'CVE'];
|
|
if ($data['rec_country'] == 'SK' && array_search($data['service_type'], $services_types) !== false) {
|
|
$data['price'] = $this->priceConverter->convert(
|
|
$order->getCurrency(),
|
|
'CZK',
|
|
$data['price']
|
|
);
|
|
$data['ins_currency'] = 'CZK';
|
|
}
|
|
|
|
$data['services'] = join('+', $services);
|
|
|
|
if (!empty($data['content_data'])) {
|
|
// 8mi místný cn kód je moc dlouhý? Chyba:
|
|
// Neplatná data pro celní prohlášku - Tarifní číslo je moc dlouhé
|
|
$data['content_data'] = array_map(function ($d) {
|
|
$d['content_customs_code'] = substr($d['content_customs_code'], 0, 6);
|
|
|
|
return $d;
|
|
}, $data['content_data']);
|
|
}
|
|
|
|
// birthdate je vzdycky
|
|
if (($data['require_full_age'] ?? false) && $birthdate = $order->getData('birthdate')) {
|
|
$delivery_birthdate = $order->getData('delivery_birthdate');
|
|
$date = \DateTime::createFromFormat('Y-m-d', $delivery_birthdate ? $delivery_birthdate : $birthdate);
|
|
$data['full_age_data'] = $date->format('Y-m-d');
|
|
$data['note'] = 'ročník '.$date->format('Y');
|
|
}
|
|
|
|
return $data;
|
|
}
|
|
|
|
/**
|
|
* @required
|
|
*/
|
|
public function setPriceConverter(?PriceConverter $priceConverter = null): void
|
|
{
|
|
$this->priceConverter = $priceConverter;
|
|
}
|
|
}
|