ShipmentMapper::getRecipientAddress()   A
last analyzed

Complexity

Conditions 3
Paths 4

Size

Total Lines 13
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 6
c 1
b 0
f 0
dl 0
loc 13
rs 10
cc 3
nc 4
nop 1
1
<?php
2
3
/**
4
 * MIT License
5
 * For full license information, please view the LICENSE file that was distributed with this source code.
6
 */
7
8
namespace SprykerEco\Zed\Sevensenders\Business\Mapper;
9
10
use Generated\Shared\Transfer\OrderTransfer;
0 ignored issues
show
Bug introduced by
The type Generated\Shared\Transfer\OrderTransfer was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
11
use Generated\Shared\Transfer\SevensendersRequestTransfer;
0 ignored issues
show
Bug introduced by
The type Generated\Shared\Transfe...nsendersRequestTransfer was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
12
13
class ShipmentMapper implements MapperInterface
14
{
15
    /**
16
     * @param \Generated\Shared\Transfer\OrderTransfer $orderTransfer
17
     *
18
     * @return \Generated\Shared\Transfer\SevensendersRequestTransfer
19
     */
20
    public function map(OrderTransfer $orderTransfer): SevensendersRequestTransfer
21
    {
22
        $methodTransfer = $orderTransfer->getShipmentMethods()->offsetGet(0);
23
24
        $payload = [
25
            'order_id' => (string)$orderTransfer->getIdSalesOrder(),
26
            'reference_number' => $orderTransfer->getOrderReference(),
27
            'tracking_code' => '',
28
            'package_no' => (int)date('U'),
29
            'delivered_with_seven_senders' => true,
30
            'carrier' => [
31
                'name' => $methodTransfer->getCarrierName(),
32
                'country' => '',
33
            ],
34
            'carrier_service' => $methodTransfer->getCarrierName(),
35
            'recipient_first_name' => $orderTransfer->getShippingAddress()->getFirstName(),
36
            'recipient_last_name' => $orderTransfer->getShippingAddress()->getLastName(),
37
            'recipient_email' => $orderTransfer->getEmail(),
38
            'recipient_address' => $this->getRecipientAddress($orderTransfer),
39
            'recipient_zip' => $orderTransfer->getShippingAddress()->getZipCode(),
40
            'recipient_city' => $orderTransfer->getShippingAddress()->getCity(),
41
            'recipient_country' => $orderTransfer->getShippingAddress()->getCountry()->getIso2Code(),
42
            'recipient_phone' => $orderTransfer->getShippingAddress()->getPhone(),
43
            'recipient_company_name' => $orderTransfer->getShippingAddress()->getCompany(),
44
            'sender_first_name' => '',
45
            'sender_last_name' => '',
46
            'sender_company_name' => '',
47
            'sender_street' => '',
48
            'sender_house_no' => '',
49
            'sender_zip' => '',
50
            'sender_city' => '',
51
            'sender_country' => '',
52
            'sender_phone' => '',
53
            'sender_email' => '',
54
            'cod' => true,
55
            'cod_value' => 0,
56
            'return_parcel' => true,
57
            'pickup_point_selected' => true,
58
            'weight' => 0,
59
            'planned_pickup_datetime' => $methodTransfer->getDeliveryTime(),
60
            'comment' => '',
61
            'warehouse_address' => '',
62
            'warehouse' => '',
63
        ];
64
65
        $transfer = new SevensendersRequestTransfer();
66
        $transfer->setPayload($payload);
67
68
        return $transfer;
69
    }
70
71
    /**
72
     * @param \Generated\Shared\Transfer\OrderTransfer $orderTransfer
73
     *
74
     * @return string
75
     */
76
    protected function getRecipientAddress(OrderTransfer $orderTransfer): string
77
    {
78
        $address = $orderTransfer->getShippingAddress()->getAddress1();
79
80
        if ($orderTransfer->getShippingAddress()->getAddress2()) {
81
            $address .= ', ' . $orderTransfer->getShippingAddress()->getAddress2();
82
        }
83
84
        if ($orderTransfer->getShippingAddress()->getAddress3()) {
85
            $address .= ', ' . $orderTransfer->getShippingAddress()->getAddress3();
86
        }
87
88
        return $address;
89
    }
90
}
91