| 1 |
<?php declare(strict_types=1); |
| 2 |
|
| 3 |
namespace MyParcelNL\Sdk\src\Helper; |
| 4 |
|
| 5 |
use MyParcelNL\Sdk\src\Model\Consignment\AbstractConsignment; |
| 6 |
|
| 7 |
class CheckoutFields |
| 8 |
{ |
| 9 |
/** |
| 10 |
* Delivery types from delivery_options endpoint |
| 11 |
*/ |
| 12 |
const MORNING = 'morning'; |
| 13 |
const STANDARD = 'standard'; |
| 14 |
const EVENING = 'night'; |
| 15 |
const EVENING_NL = 'avond'; |
| 16 |
const PICKUP = 'retail'; |
| 17 |
const PICKUP_EXPRESS = 'retailexpress'; |
| 18 |
|
| 19 |
/** |
| 20 |
* @param $checkoutData |
| 21 |
* @deprecated |
| 22 |
* @return int |
| 23 |
*/ |
| 24 |
public function getDeliveryType($checkoutData) |
| 25 |
{ |
| 26 |
if (empty($checkoutData)) { |
| 27 |
return AbstractConsignment::DELIVERY_TYPE_STANDARD; |
| 28 |
} |
| 29 |
|
| 30 |
$aCheckoutData = json_decode($checkoutData, true); |
| 31 |
$typeFromCheckout = $this->getTypeFromCheckout($aCheckoutData); |
| 32 |
|
| 33 |
switch ($typeFromCheckout) { |
| 34 |
case self::MORNING: |
| 35 |
return AbstractConsignment::DELIVERY_TYPE_MORNING; |
| 36 |
case self::STANDARD: |
| 37 |
return AbstractConsignment::DELIVERY_TYPE_STANDARD; |
| 38 |
case self::EVENING: |
| 39 |
case self::EVENING_NL: |
| 40 |
return AbstractConsignment::DELIVERY_TYPE_EVENING; |
| 41 |
case self::PICKUP: |
| 42 |
return AbstractConsignment::DELIVERY_TYPE_PICKUP; |
| 43 |
case self::PICKUP_EXPRESS: |
| 44 |
return AbstractConsignment::DELIVERY_TYPE_PICKUP_EXPRESS; |
| 45 |
default: |
| 46 |
return AbstractConsignment::DELIVERY_TYPE_STANDARD; |
| 47 |
} |
| 48 |
} |
| 49 |
|
| 50 |
/** |
| 51 |
* @param $aCheckoutData |
| 52 |
* |
| 53 |
* @return array |
| 54 |
*/ |
| 55 |
private function getTypeFromCheckout($aCheckoutData) |
| 56 |
{ |
| 57 |
$typeFromCheckout = null; |
| 58 |
|
| 59 |
if (! empty($aCheckoutData['time'][0]['price_comment'])) { |
| 60 |
$typeFromCheckout = $aCheckoutData['time'][0]['price_comment']; |
| 61 |
} elseif (! empty($aCheckoutData['price_comment'])) { |
| 62 |
$typeFromCheckout = $aCheckoutData['price_comment']; |
| 63 |
} |
| 64 |
|
| 65 |
return $typeFromCheckout; |
| 66 |
} |
| 67 |
} |
| 68 |
|