Skip to content

Commit 4eee4c5

Browse files
committed
Date range processing Bol.com Connector
1 parent 3937967 commit 4eee4c5

File tree

1 file changed

+24
-8
lines changed

1 file changed

+24
-8
lines changed

src/Connectors/BolConnector.php

+24-8
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
use GuzzleHttp\Client;
66
use rutgerkirkels\ShopConnectors\Entities\Credentials\CredentialsInterface;
7+
use rutgerkirkels\ShopConnectors\Helpers\DateTime;
78
use rutgerkirkels\ShopConnectors\Models\Customer;
89
use rutgerkirkels\ShopConnectors\Models\DateRange;
910
use rutgerkirkels\ShopConnectors\Models\DeliveryAddress;
@@ -40,6 +41,7 @@ public function __construct(string $host, CredentialsInterface $credentials)
4041
/**
4142
* @param DateRange $dateRange
4243
* @return array
44+
* @throws \Exception
4345
*/
4446
public function getOrdersByOrderDate(DateRange $dateRange)
4547
{
@@ -56,14 +58,18 @@ public function getOrdersByOrderDate(DateRange $dateRange)
5658

5759
$orders = [];
5860
foreach ($response->Order as $bolOrder) {
59-
$order = new Order();
60-
$order->setDate($this->getTimestamp($bolOrder->DateTimeCustomer));
61-
$order->setCustomer($this->getCustomer($bolOrder));
62-
$order->setInvoiceAddress($this->getAddress($bolOrder->CustomerDetails->BillingDetails, InvoiceAddress::class));
63-
$order->setDeliveryAddress($this->getAddress($bolOrder->CustomerDetails->ShipmentDetails, DeliveryAddress::class));
64-
$order->setOrderLines($this->getOrderlines($bolOrder->OrderItems->OrderItem));
65-
$order->setExternalData($this->getExternalData($bolOrder));
66-
$orders[] = $order;
61+
$orderTimestamp = $this->getTimestamp($bolOrder->DateTimeCustomer);
62+
if ($orderTimestamp >= $dateRange->getStart() && $orderTimestamp <= $dateRange->getEnd()) {
63+
$order = new Order();
64+
$order->setDate($this->getTimestamp($bolOrder->DateTimeCustomer));
65+
$order->setCustomer($this->getCustomer($bolOrder));
66+
$order->setInvoiceAddress($this->getAddress($bolOrder->CustomerDetails->BillingDetails, InvoiceAddress::class));
67+
$order->setDeliveryAddress($this->getAddress($bolOrder->CustomerDetails->ShipmentDetails, DeliveryAddress::class));
68+
$order->setOrderLines($this->getOrderlines($bolOrder->OrderItems->OrderItem));
69+
$order->setExternalData($this->getExternalData($bolOrder));
70+
$orders[] = $order;
71+
}
72+
6773
}
6874

6975
return $orders;
@@ -72,10 +78,20 @@ public function getOrdersByOrderDate(DateRange $dateRange)
7278
/**
7379
* @param \SimpleXMLElement $bolOrder
7480
* @return Customer
81+
* @throws \Exception
7582
*/
7683
protected function getCustomer(\SimpleXMLElement $bolOrder)
7784
{
7885
$customer = new Customer();
86+
switch ($bolOrder->CustomerDetails->BillingDetails->SalutationCode) {
87+
case '01':
88+
$customer->setGender('male');
89+
break;
90+
91+
case '02':
92+
$customer->setGender('female');
93+
break;
94+
}
7995
$customer->setFirstName($bolOrder->CustomerDetails->BillingDetails->Firstname);
8096
$customer->setLastName($bolOrder->CustomerDetails->BillingDetails->Surname);
8197
$customer->setEmail($bolOrder->CustomerDetails->BillingDetails->Email);

0 commit comments

Comments
 (0)