PluginProbe
Packeta / 2.3.2
Packeta v2.3.2
2.3.2 2.3.1 trunk 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.3.0 1.3.1 1.3.2 1.4 1.4.1 1.4.2 1.4.3 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 All 56 releases
packeta / src / Packetery / Module / Order / PacketSetStoredUntil.php

PacketSetStoredUntil.php in Packeta 2.3.2, at src/Packetery/Module/Order/PacketSetStoredUntil.php

111 lines 2.5 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Class PacketSetStoredUntil
4 *
5 * @package Packetery
6 */
7
8 declare( strict_types=1 );
9
10 namespace Packetery\Module\Order;
11
12 use Packetery\Core\Api\Soap;
13 use Packetery\Core\CoreHelper;
14 use Packetery\Core\Entity\Order;
15 use Packetery\Core\Log;
16
17 /**
18 * Class PacketSetStoredUntil
19 *
20 * @package Packetery
21 */
22 class PacketSetStoredUntil {
23
24 /**
25 * SOAP API Client.
26 *
27 * @var Soap\Client SOAP API Client.
28 */
29 private $soapApiClient;
30
31 /**
32 * ILogger.
33 *
34 * @var Log\ILogger
35 */
36 private $logger;
37
38 /**
39 * CoreHelper.
40 *
41 * @var CoreHelper
42 */
43 private $coreHelper;
44
45 /**
46 * Constructor.
47 *
48 * @param Soap\Client $soapApiClient Soap client API.
49 * @param Log\ILogger $logger Logger.
50 * @param CoreHelper $coreHelper CoreHelper.
51 */
52 public function __construct(
53 Soap\Client $soapApiClient,
54 Log\ILogger $logger,
55 CoreHelper $coreHelper
56 ) {
57 $this->soapApiClient = $soapApiClient;
58 $this->logger = $logger;
59 $this->coreHelper = $coreHelper;
60 }
61
62 /**
63 * Set stored until for packet.
64 *
65 * @param Order $order Order ID.
66 * @param string|null $packetId Packet ID.
67 * @param \DateTimeImmutable $storedUntil Stored until.
68 *
69 * @return null|string
70 */
71 public function setStoredUntil( Order $order, ?string $packetId, \DateTimeImmutable $storedUntil ): ?string {
72 $request = new Soap\Request\PacketSetStoredUntil( $packetId, $storedUntil, $this->coreHelper );
73 $result = $this->soapApiClient->packetSetStoredUntil( $request );
74 $errorMessage = null;
75
76 if ( ! $result->hasFault() ) {
77 $record = new Log\Record();
78 $record->action = Log\Record::ACTION_STORED_UNTIL_CHANGE;
79 $record->status = Log\Record::STATUS_SUCCESS;
80 $record->orderId = $order->getNumber();
81 $record->title = __( 'Packet set stored until success', 'packeta' );
82 $record->params = [
83 'orderId' => $order->getNumber(),
84 'packetId' => $packetId,
85 ];
86
87 $this->logger->add( $record );
88 }
89
90 if ( $result->hasFault() ) {
91 $record = new Log\Record();
92 $record->action = Log\Record::ACTION_STORED_UNTIL_CHANGE;
93 $record->status = Log\Record::STATUS_ERROR;
94 $record->orderId = $order->getNumber();
95 $record->title = __( 'Packet set stored until error', 'packeta' );
96 $record->params = [
97 'orderId' => $order->getNumber(),
98 'packetId' => $packetId,
99 'errorMessage' => $result->getFaultString(),
100 ];
101
102 $this->logger->add( $record );
103 $errorMessage = $result->getFaultString();
104 }
105
106 $order->updateApiErrorMessage( $errorMessage );
107
108 return $errorMessage;
109 }
110 }
111