Total Complexity | 61 |
Total Lines | 993 |
Duplicated Lines | 0 % |
Changes | 0 |
Complex classes like OmsFacade often do a lot of different things. To break such a class down, we need to identify a cohesive component within that class. A common approach to find such a component is to look for fields/methods that share the same prefixes, or suffixes.
Once you have determined the fields that belong together, you can apply the Extract Class refactoring. If the component makes sense as a sub-class, Extract Subclass is also a candidate, and is often faster.
While breaking up the class, it is a good idea to analyze how other classes use OmsFacade, and based on these observations, apply Extract Interface, too.
1 | <?php |
||
39 | class OmsFacade extends AbstractFacade implements OmsFacadeInterface |
||
40 | { |
||
41 | /** |
||
42 | * {@inheritDoc} |
||
43 | * |
||
44 | * @api |
||
45 | * |
||
46 | * @param int $idOrderItem |
||
47 | * |
||
48 | * @return array<string> |
||
49 | */ |
||
50 | public function getManualEvents($idOrderItem) |
||
51 | { |
||
52 | return $this->getFactory() |
||
53 | ->createOrderStateMachineFinder() |
||
54 | ->getManualEvents($idOrderItem); |
||
55 | } |
||
56 | |||
57 | /** |
||
58 | * {@inheritDoc} |
||
59 | * |
||
60 | * @api |
||
61 | * |
||
62 | * @param int $idOrder |
||
63 | * @param string $flag |
||
64 | * |
||
65 | * @return bool |
||
66 | */ |
||
67 | public function isOrderFlagged($idOrder, $flag) |
||
72 | } |
||
73 | |||
74 | /** |
||
75 | * {@inheritDoc} |
||
76 | * |
||
77 | * @api |
||
78 | * |
||
79 | * @param int $idOrder |
||
80 | * @param string $flag |
||
81 | * |
||
82 | * @return bool |
||
83 | */ |
||
84 | public function isOrderFlaggedAll($idOrder, $flag) |
||
85 | { |
||
86 | return $this->getFactory() |
||
87 | ->createOrderStateMachineFinder() |
||
88 | ->isOrderFlaggedAll($idOrder, $flag); |
||
89 | } |
||
90 | |||
91 | /** |
||
92 | * {@inheritDoc} |
||
93 | * |
||
94 | * @api |
||
95 | * |
||
96 | * @param int $idOrder |
||
97 | * |
||
98 | * @return bool |
||
99 | */ |
||
100 | public function isOrderFlaggedExcludeFromCustomer($idOrder) |
||
101 | { |
||
102 | return $this->getFactory() |
||
103 | ->createOrderStateMachineFinder() |
||
104 | ->isOrderFlaggedExcludeFromCustomer($idOrder); |
||
105 | } |
||
106 | |||
107 | /** |
||
108 | * {@inheritDoc} |
||
109 | * |
||
110 | * @api |
||
111 | * |
||
112 | * @param string $eventId |
||
113 | * @param array $orderItemIds |
||
114 | * @param array<string, mixed> $data |
||
115 | * |
||
116 | * @return array|null |
||
117 | */ |
||
118 | public function triggerEventForOrderItems($eventId, array $orderItemIds, array $data = []) |
||
119 | { |
||
120 | return $this->getFactory() |
||
121 | ->createLockedOrderStateMachine() |
||
122 | ->triggerEventForOrderItems($eventId, $orderItemIds, $data); |
||
123 | } |
||
124 | |||
125 | /** |
||
126 | * {@inheritDoc} |
||
127 | * |
||
128 | * @api |
||
129 | * |
||
130 | * @param array $orderItemIds |
||
131 | * @param array<string, mixed> $data |
||
132 | * |
||
133 | * @return array|null |
||
134 | */ |
||
135 | public function triggerEventForNewOrderItems(array $orderItemIds, array $data = []) |
||
136 | { |
||
137 | return $this->getFactory() |
||
138 | ->createLockedOrderStateMachine() |
||
139 | ->triggerEventForNewOrderItems($orderItemIds, $data); |
||
140 | } |
||
141 | |||
142 | /** |
||
143 | * {@inheritDoc} |
||
144 | * |
||
145 | * @api |
||
146 | * |
||
147 | * @param string $eventId |
||
148 | * @param int $orderItemId |
||
149 | * @param array<string, mixed> $data |
||
150 | * |
||
151 | * @return array|null |
||
152 | */ |
||
153 | public function triggerEventForOneOrderItem($eventId, $orderItemId, array $data = []) |
||
154 | { |
||
155 | return $this->getFactory() |
||
156 | ->createLockedOrderStateMachine() |
||
157 | ->triggerEventForOneOrderItem($eventId, $orderItemId, $data); |
||
158 | } |
||
159 | |||
160 | /** |
||
161 | * {@inheritDoc} |
||
162 | * |
||
163 | * @api |
||
164 | * |
||
165 | * @param bool $regenerateCache |
||
166 | * |
||
167 | * @return array<\Spryker\Zed\Oms\Business\Process\ProcessInterface> |
||
168 | */ |
||
169 | public function getProcesses(bool $regenerateCache = false) |
||
170 | { |
||
171 | return $this->getFactory() |
||
172 | ->createOrderStateMachineFinder() |
||
173 | ->getProcesses($regenerateCache); |
||
174 | } |
||
175 | |||
176 | /** |
||
177 | * {@inheritDoc} |
||
178 | * |
||
179 | * @api |
||
180 | * |
||
181 | * @return array |
||
182 | */ |
||
183 | public function getProcessList() |
||
184 | { |
||
185 | return $this->getFactory() |
||
186 | ->getConfig() |
||
187 | ->getActiveProcesses(); |
||
188 | } |
||
189 | |||
190 | /** |
||
191 | * {@inheritDoc} |
||
192 | * |
||
193 | * @api |
||
194 | * |
||
195 | * @param array $logContext |
||
196 | * @param \Generated\Shared\Transfer\OmsCheckConditionsQueryCriteriaTransfer|null $omsCheckConditionsQueryCriteriaTransfer |
||
197 | * |
||
198 | * @return int |
||
199 | */ |
||
200 | public function checkConditions(array $logContext = [], ?OmsCheckConditionsQueryCriteriaTransfer $omsCheckConditionsQueryCriteriaTransfer = null) |
||
201 | { |
||
202 | return $this->getFactory() |
||
203 | ->createLockedOrderStateMachine($logContext) |
||
204 | ->checkConditions($logContext, $omsCheckConditionsQueryCriteriaTransfer); |
||
205 | } |
||
206 | |||
207 | /** |
||
208 | * {@inheritDoc} |
||
209 | * |
||
210 | * @api |
||
211 | * |
||
212 | * @param array $logContext |
||
213 | * @param \Generated\Shared\Transfer\OmsCheckTimeoutsQueryCriteriaTransfer|null $omsCheckTimeoutsQueryCriteriaTransfer |
||
214 | * |
||
215 | * @return int |
||
216 | */ |
||
217 | public function checkTimeouts(array $logContext = [], ?OmsCheckTimeoutsQueryCriteriaTransfer $omsCheckTimeoutsQueryCriteriaTransfer = null) |
||
218 | { |
||
219 | $factory = $this->getFactory(); |
||
220 | $orderStateMachine = $factory |
||
221 | ->createLockedOrderStateMachine($logContext); |
||
222 | |||
223 | return $factory->createOrderStateMachineTimeout() |
||
224 | ->checkTimeouts($orderStateMachine, $omsCheckTimeoutsQueryCriteriaTransfer); |
||
225 | } |
||
226 | |||
227 | /** |
||
228 | * {@inheritDoc} |
||
229 | * |
||
230 | * @api |
||
231 | * |
||
232 | * @param string $processName |
||
233 | * @param string|null $highlightState |
||
234 | * @param string|null $format |
||
235 | * @param int|null $fontSize |
||
236 | * |
||
237 | * @return string |
||
238 | */ |
||
239 | public function drawProcess($processName, $highlightState = null, $format = null, $fontSize = null) |
||
240 | { |
||
241 | $process = $this->getFactory() |
||
242 | ->createOrderStateMachineBuilder() |
||
243 | ->createProcess($processName); |
||
244 | |||
245 | return $process->draw($highlightState, $format, $fontSize); |
||
246 | } |
||
247 | |||
248 | /** |
||
249 | * {@inheritDoc} |
||
250 | * |
||
251 | * @api |
||
252 | * |
||
253 | * @param \Orm\Zed\Sales\Persistence\SpySalesOrder $order |
||
254 | * |
||
255 | * @return array<\Spryker\Zed\Oms\Business\Process\Event> |
||
256 | */ |
||
257 | public function getGroupedManuallyExecutableEvents(SpySalesOrder $order) |
||
258 | { |
||
259 | return $this->getFactory() |
||
260 | ->createOrderStateMachineFinder() |
||
261 | ->getGroupedManuallyExecutableEvents($order); |
||
262 | } |
||
263 | |||
264 | /** |
||
265 | * {@inheritDoc} |
||
266 | * |
||
267 | * @api |
||
268 | * |
||
269 | * @param \Orm\Zed\Sales\Persistence\SpySalesOrder $order |
||
270 | * @param string $flag |
||
271 | * |
||
272 | * @return array<\Orm\Zed\Sales\Persistence\SpySalesOrderItem> |
||
273 | */ |
||
274 | public function getItemsWithFlag(SpySalesOrder $order, $flag) |
||
275 | { |
||
276 | return $this->getFactory() |
||
277 | ->createOrderStateMachineFinder() |
||
278 | ->getItemsWithFlag($order, $flag); |
||
279 | } |
||
280 | |||
281 | /** |
||
282 | * {@inheritDoc} |
||
283 | * |
||
284 | * @api |
||
285 | * |
||
286 | * @param \Orm\Zed\Sales\Persistence\SpySalesOrder $order |
||
287 | * @param string $flag |
||
288 | * |
||
289 | * @return array<\Orm\Zed\Sales\Persistence\SpySalesOrderItem> |
||
290 | */ |
||
291 | public function getItemsWithoutFlag(SpySalesOrder $order, $flag) |
||
292 | { |
||
293 | return $this->getFactory() |
||
294 | ->createOrderStateMachineFinder() |
||
295 | ->getItemsWithoutFlag($order, $flag); |
||
296 | } |
||
297 | |||
298 | /** |
||
299 | * {@inheritDoc} |
||
300 | * |
||
301 | * @api |
||
302 | * |
||
303 | * @deprecated Will be removed without replacement. |
||
304 | * |
||
305 | * @param \Orm\Zed\Sales\Persistence\SpySalesOrder $order |
||
306 | * @param array $logContext |
||
307 | * |
||
308 | * @return \Propel\Runtime\Collection\ObjectCollection<\Orm\Zed\Oms\Persistence\SpyOmsTransitionLog> |
||
309 | */ |
||
310 | public function getLogForOrder(SpySalesOrder $order, array $logContext = []) |
||
311 | { |
||
312 | return $this->getFactory() |
||
313 | ->createUtilTransitionLog($logContext) |
||
314 | ->getLogForOrder($order); |
||
315 | } |
||
316 | |||
317 | /** |
||
318 | * {@inheritDoc} |
||
319 | * |
||
320 | * @api |
||
321 | * |
||
322 | * @deprecated Not used anymore. Will be removed with next major release. |
||
323 | * |
||
324 | * @param string $sku |
||
325 | * @param \Generated\Shared\Transfer\StoreTransfer|null $storeTransfer |
||
326 | * |
||
327 | * @return \Spryker\DecimalObject\Decimal |
||
328 | */ |
||
329 | public function sumReservedProductQuantitiesForSku(string $sku, ?StoreTransfer $storeTransfer = null): Decimal |
||
330 | { |
||
331 | return $this->getFactory() |
||
332 | ->createReservationReader() |
||
333 | ->sumReservedProductQuantitiesForSku($sku, $storeTransfer); |
||
334 | } |
||
335 | |||
336 | /** |
||
337 | * {@inheritDoc} |
||
338 | * |
||
339 | * @api |
||
340 | * |
||
341 | * @param string $sku |
||
342 | * @param \Generated\Shared\Transfer\StoreTransfer $storeTransfer |
||
343 | * |
||
344 | * @return \Spryker\DecimalObject\Decimal |
||
345 | */ |
||
346 | public function getOmsReservedProductQuantityForSku(string $sku, StoreTransfer $storeTransfer): Decimal |
||
347 | { |
||
348 | return $this->getFactory() |
||
349 | ->createReservationReader() |
||
350 | ->getOmsReservedProductQuantityForSku($sku, $storeTransfer); |
||
351 | } |
||
352 | |||
353 | /** |
||
354 | * {@inheritDoc} |
||
355 | * |
||
356 | * @api |
||
357 | * |
||
358 | * @param array<string> $skus |
||
359 | * @param \Generated\Shared\Transfer\StoreTransfer $storeTransfer |
||
360 | * |
||
361 | * @return \Spryker\DecimalObject\Decimal |
||
362 | */ |
||
363 | public function getOmsReservedProductQuantityForSkus(array $skus, StoreTransfer $storeTransfer): Decimal |
||
364 | { |
||
365 | return $this->getFactory() |
||
366 | ->createReservationReader() |
||
367 | ->getOmsReservedProductQuantityForSkus($skus, $storeTransfer); |
||
368 | } |
||
369 | |||
370 | /** |
||
371 | * {@inheritDoc} |
||
372 | * |
||
373 | * @api |
||
374 | * |
||
375 | * @param string $processName |
||
376 | * |
||
377 | * @return \Orm\Zed\Oms\Persistence\SpyOmsOrderProcess |
||
378 | */ |
||
379 | public function getProcessEntity($processName) |
||
380 | { |
||
381 | return $this->getFactory() |
||
382 | ->createOrderStateMachinePersistenceManager() |
||
383 | ->getProcessEntity($processName); |
||
384 | } |
||
385 | |||
386 | /** |
||
387 | * {@inheritDoc} |
||
388 | * |
||
389 | * @api |
||
390 | * |
||
391 | * @return \Orm\Zed\Oms\Persistence\SpyOmsOrderItemState |
||
392 | */ |
||
393 | public function getInitialStateEntity() |
||
394 | { |
||
395 | return $this->getFactory() |
||
396 | ->createOrderStateMachinePersistenceManager() |
||
397 | ->getInitialStateEntity(); |
||
398 | } |
||
399 | |||
400 | /** |
||
401 | * {@inheritDoc} |
||
402 | * |
||
403 | * @api |
||
404 | * |
||
405 | * @param \Orm\Zed\Sales\Persistence\SpySalesOrderItem $orderItem |
||
406 | * |
||
407 | * @return string |
||
408 | */ |
||
409 | public function getStateDisplayName(SpySalesOrderItem $orderItem) |
||
410 | { |
||
411 | return $this->getFactory() |
||
412 | ->createOrderStateMachineFinder() |
||
413 | ->getStateDisplayName($orderItem); |
||
414 | } |
||
415 | |||
416 | /** |
||
417 | * {@inheritDoc} |
||
418 | * |
||
419 | * @api |
||
420 | * |
||
421 | * @param string $eventId |
||
422 | * @param \Propel\Runtime\Collection\ObjectCollection $orderItems |
||
423 | * @param array $logContext |
||
424 | * @param array<string, mixed> $data |
||
425 | * |
||
426 | * @return array|null |
||
427 | */ |
||
428 | public function triggerEvent($eventId, ObjectCollection $orderItems, array $logContext, array $data = []) |
||
429 | { |
||
430 | $orderItemsArray = $orderItems->getData(); |
||
431 | |||
432 | return $this->getFactory() |
||
433 | ->createLockedOrderStateMachine($logContext) |
||
434 | ->triggerEvent($eventId, $orderItemsArray, $data); |
||
435 | } |
||
436 | |||
437 | /** |
||
438 | * {@inheritDoc} |
||
439 | * |
||
440 | * @api |
||
441 | * |
||
442 | * @param \Propel\Runtime\Collection\ObjectCollection $orderItems |
||
443 | * @param array $logContext |
||
444 | * @param array<string, mixed> $data |
||
445 | * |
||
446 | * @return array|null |
||
447 | */ |
||
448 | public function triggerEventForNewItem(ObjectCollection $orderItems, array $logContext, array $data = []) |
||
449 | { |
||
450 | $orderItemsArray = $orderItems->getData(); |
||
451 | |||
452 | return $this->getFactory() |
||
453 | ->createLockedOrderStateMachine($logContext) |
||
454 | ->triggerEventForNewItem($orderItemsArray, $data); |
||
455 | } |
||
456 | |||
457 | /** |
||
458 | * {@inheritDoc} |
||
459 | * |
||
460 | * @api |
||
461 | * |
||
462 | * @param string $eventId |
||
463 | * @param \Orm\Zed\Sales\Persistence\SpySalesOrderItem $orderItem |
||
464 | * @param array $logContext |
||
465 | * @param array<string, mixed> $data |
||
466 | * |
||
467 | * @return array|null |
||
468 | */ |
||
469 | public function triggerEventForOneItem($eventId, $orderItem, array $logContext, array $data = []) |
||
470 | { |
||
471 | $orderItemsArray = [$orderItem]; |
||
472 | |||
473 | return $this->getFactory() |
||
474 | ->createLockedOrderStateMachine($logContext) |
||
475 | ->triggerEvent($eventId, $orderItemsArray, $data); |
||
476 | } |
||
477 | |||
478 | /** |
||
479 | * {@inheritDoc} |
||
480 | * |
||
481 | * @api |
||
482 | * |
||
483 | * @deprecated Use {@link \Spryker\Zed\Oms\Business\OmsFacadeInterface::getOrderMatrixCollection()} instead. |
||
484 | * |
||
485 | * @return array |
||
486 | */ |
||
487 | public function getOrderItemMatrix() |
||
488 | { |
||
489 | return $this->getFactory()->createUtilOrderItemMatrix()->getMatrix(); |
||
490 | } |
||
491 | |||
492 | /** |
||
493 | * {@inheritDoc} |
||
494 | * |
||
495 | * @api |
||
496 | * |
||
497 | * @param \Generated\Shared\Transfer\OrderMatrixCriteriaTransfer $orderMatrixCriteriaTransfer |
||
498 | * |
||
499 | * @return \Generated\Shared\Transfer\OrderMatrixCollectionTransfer |
||
500 | */ |
||
501 | public function getOrderMatrixCollection(OrderMatrixCriteriaTransfer $orderMatrixCriteriaTransfer): OrderMatrixCollectionTransfer |
||
502 | { |
||
503 | return $this->getRepository()->getOrderMatrixCollection($orderMatrixCriteriaTransfer); |
||
504 | } |
||
505 | |||
506 | /** |
||
507 | * {@inheritDoc} |
||
508 | * |
||
509 | * @api |
||
510 | * |
||
511 | * @return array<int, string> |
||
512 | */ |
||
513 | public function getProcessNamesIndexedByIdOmsOrderProcess(): array |
||
514 | { |
||
515 | return $this->getRepository()->getProcessNamesIndexedByIdOmsOrderProcess(); |
||
516 | } |
||
517 | |||
518 | /** |
||
519 | * {@inheritDoc} |
||
520 | * |
||
521 | * @api |
||
522 | * |
||
523 | * @param int $idSalesOrder |
||
524 | * |
||
525 | * @return array<array<string>> |
||
526 | */ |
||
527 | public function getManualEventsByIdSalesOrder($idSalesOrder) |
||
528 | { |
||
529 | return $this->getFactory() |
||
530 | ->createOrderStateMachineFinder() |
||
531 | ->getManualEventsByIdSalesOrder($idSalesOrder); |
||
532 | } |
||
533 | |||
534 | /** |
||
535 | * {@inheritDoc} |
||
536 | * |
||
537 | * @api |
||
538 | * |
||
539 | * @param int $idSalesOrder |
||
540 | * |
||
541 | * @return array<string> |
||
542 | */ |
||
543 | public function getDistinctManualEventsByIdSalesOrder($idSalesOrder) |
||
544 | { |
||
545 | return $this->getFactory() |
||
546 | ->createOrderStateMachineFinder() |
||
547 | ->getDistinctManualEventsByIdSalesOrder($idSalesOrder); |
||
548 | } |
||
549 | |||
550 | /** |
||
551 | * {@inheritDoc} |
||
552 | * |
||
553 | * @api |
||
554 | * |
||
555 | * @param int $idSalesOrder |
||
556 | * |
||
557 | * @return array<string> |
||
558 | */ |
||
559 | public function getGroupedDistinctManualEventsByIdSalesOrder(int $idSalesOrder): array |
||
560 | { |
||
561 | return $this->getFactory() |
||
562 | ->createManualOrderReader() |
||
563 | ->getGroupedDistinctManualEventsByIdSalesOrder($idSalesOrder); |
||
564 | } |
||
565 | |||
566 | /** |
||
567 | * {@inheritDoc} |
||
568 | * |
||
569 | * @api |
||
570 | * |
||
571 | * @return void |
||
572 | */ |
||
573 | public function clearLocks() |
||
576 | } |
||
577 | |||
578 | /** |
||
579 | * {@inheritDoc} |
||
580 | * |
||
581 | * @api |
||
582 | * |
||
583 | * @param \Orm\Zed\Sales\Persistence\SpySalesOrder $salesOrderEntity |
||
584 | * |
||
585 | * @return void |
||
586 | */ |
||
587 | public function sendOrderConfirmationMail(SpySalesOrder $salesOrderEntity) |
||
588 | { |
||
589 | $this->getFactory()->createMailHandler()->sendOrderConfirmationMail($salesOrderEntity); |
||
590 | } |
||
591 | |||
592 | /** |
||
593 | * {@inheritDoc} |
||
594 | * |
||
595 | * @api |
||
596 | * |
||
597 | * @param \Orm\Zed\Sales\Persistence\SpySalesOrder $salesOrderEntity |
||
598 | * |
||
599 | * @return void |
||
600 | */ |
||
601 | public function sendOrderShippedMail(SpySalesOrder $salesOrderEntity) |
||
602 | { |
||
603 | $this->getFactory()->createMailHandler()->sendOrderShippedMail($salesOrderEntity); |
||
604 | } |
||
605 | |||
606 | /** |
||
607 | * {@inheritDoc} |
||
608 | * |
||
609 | * @api |
||
610 | * |
||
611 | * @param string $sku |
||
612 | * @param \Generated\Shared\Transfer\StoreTransfer|null $storeTransfer |
||
613 | * |
||
614 | * @return void |
||
615 | */ |
||
616 | public function saveReservationVersion($sku, ?StoreTransfer $storeTransfer = null) |
||
617 | { |
||
618 | $this->getFactory()->createReservationVersionHandler()->saveReservationVersion($sku, $storeTransfer); |
||
619 | } |
||
620 | |||
621 | /** |
||
622 | * {@inheritDoc} |
||
623 | * |
||
624 | * @api |
||
625 | * |
||
626 | * @param \Generated\Shared\Transfer\OmsAvailabilityReservationRequestTransfer $omsAvailabilityReservationRequestTransfer |
||
627 | * |
||
628 | * @return void |
||
629 | */ |
||
630 | public function importReservation( |
||
631 | OmsAvailabilityReservationRequestTransfer $omsAvailabilityReservationRequestTransfer |
||
632 | ) { |
||
633 | $this->getFactory()->createReservationWriter()->saveReservationRequest($omsAvailabilityReservationRequestTransfer); |
||
634 | } |
||
635 | |||
636 | /** |
||
637 | * {@inheritDoc} |
||
638 | * |
||
639 | * @api |
||
640 | * |
||
641 | * @return void |
||
642 | */ |
||
643 | public function exportReservation() |
||
644 | { |
||
645 | $this->getFactory()->createExportReservation()->exportReservation(); |
||
646 | } |
||
647 | |||
648 | /** |
||
649 | * {@inheritDoc} |
||
650 | * |
||
651 | * @api |
||
652 | * |
||
653 | * @param string $sku |
||
654 | * @param \Generated\Shared\Transfer\StoreTransfer $storeTransfer |
||
655 | * |
||
656 | * @return \Spryker\DecimalObject\Decimal |
||
657 | */ |
||
658 | public function getReservationsFromOtherStores(string $sku, StoreTransfer $storeTransfer): Decimal |
||
659 | { |
||
660 | return $this->getFactory()->createReservationReader()->getReservationsFromOtherStores($sku, $storeTransfer); |
||
661 | } |
||
662 | |||
663 | /** |
||
664 | * {@inheritDoc} |
||
665 | * |
||
666 | * @api |
||
667 | * |
||
668 | * @deprecated Will be removed without replacement. |
||
669 | * |
||
670 | * @return int |
||
671 | */ |
||
672 | public function getLastExportedReservationVersion() |
||
673 | { |
||
674 | return $this->getFactory()->createExportReservation()->getLastExportedVersion(); |
||
675 | } |
||
676 | |||
677 | /** |
||
678 | * {@inheritDoc} |
||
679 | * |
||
680 | * @api |
||
681 | * |
||
682 | * @param string $processName |
||
683 | * @param string $stateName |
||
684 | * |
||
685 | * @return array<string> |
||
686 | */ |
||
687 | public function getStateFlags(string $processName, string $stateName): array |
||
688 | { |
||
689 | return $this->getFactory()->createOrderStateMachineFlagReader()->getStateFlags($processName, $stateName); |
||
690 | } |
||
691 | |||
692 | /** |
||
693 | * {@inheritDoc} |
||
694 | * |
||
695 | * @api |
||
696 | * |
||
697 | * @deprecated Will be removed without replacement. |
||
698 | * |
||
699 | * @param string $sku |
||
700 | * @param \Generated\Shared\Transfer\StoreTransfer $storeTransfer |
||
701 | * @param \Spryker\DecimalObject\Decimal $reservationQuantity |
||
702 | * |
||
703 | * @return void |
||
704 | */ |
||
705 | public function saveReservation(string $sku, StoreTransfer $storeTransfer, Decimal $reservationQuantity): void |
||
706 | { |
||
707 | $this->getFactory() |
||
708 | ->createUtilReservation() |
||
709 | ->saveReservation($sku, $storeTransfer, $reservationQuantity); |
||
710 | } |
||
711 | |||
712 | /** |
||
713 | * {@inheritDoc} |
||
714 | * |
||
715 | * @api |
||
716 | * |
||
717 | * @deprecated Use {@link updateReservation()} instead. |
||
718 | * |
||
719 | * @param string $sku |
||
720 | * |
||
721 | * @return void |
||
722 | */ |
||
723 | public function updateReservationQuantity(string $sku): void |
||
724 | { |
||
725 | $this->getFactory() |
||
726 | ->createUtilReservation() |
||
727 | ->updateReservationQuantity($sku); |
||
728 | } |
||
729 | |||
730 | /** |
||
731 | * {@inheritDoc} |
||
732 | * |
||
733 | * @api |
||
734 | * |
||
735 | * @param \Generated\Shared\Transfer\ReservationRequestTransfer $reservationRequestTransfer |
||
736 | * |
||
737 | * @return void |
||
738 | */ |
||
739 | public function updateReservation(ReservationRequestTransfer $reservationRequestTransfer): void |
||
740 | { |
||
741 | $this->getFactory() |
||
742 | ->createUtilReservation() |
||
743 | ->updateReservation($reservationRequestTransfer); |
||
744 | } |
||
745 | |||
746 | /** |
||
747 | * {@inheritDoc} |
||
748 | * |
||
749 | * @api |
||
750 | * |
||
751 | * @deprecated Will be removed without replacement. |
||
752 | * |
||
753 | * @return \Generated\Shared\Transfer\OmsStateCollectionTransfer |
||
754 | */ |
||
755 | public function getOmsReservedStateCollection(): OmsStateCollectionTransfer |
||
756 | { |
||
757 | return $this->getFactory()->createReservationReader()->getOmsReservedStateCollection(); |
||
758 | } |
||
759 | |||
760 | /** |
||
761 | * {@inheritDoc} |
||
762 | * |
||
763 | * @api |
||
764 | * |
||
765 | * @param array<\Generated\Shared\Transfer\ItemTransfer> $itemTransfers |
||
766 | * |
||
767 | * @return array<\Generated\Shared\Transfer\ItemTransfer> |
||
768 | */ |
||
769 | public function expandOrderItemsWithStateHistory(array $itemTransfers): array |
||
770 | { |
||
771 | return $this->getFactory() |
||
772 | ->createStateHistoryExpander() |
||
773 | ->expandOrderItemsWithStateHistory($itemTransfers); |
||
774 | } |
||
775 | |||
776 | /** |
||
777 | * {@inheritDoc} |
||
778 | * |
||
779 | * @api |
||
780 | * |
||
781 | * @param \Generated\Shared\Transfer\OrderTransfer $orderTransfer |
||
782 | * |
||
783 | * @return \Generated\Shared\Transfer\OrderTransfer |
||
784 | */ |
||
785 | public function expandOrderWithOmsStates(OrderTransfer $orderTransfer): OrderTransfer |
||
790 | } |
||
791 | |||
792 | /** |
||
793 | * {@inheritDoc} |
||
794 | * |
||
795 | * @api |
||
796 | * |
||
797 | * @param \Generated\Shared\Transfer\OrderItemFilterTransfer $orderItemFilterTransfer |
||
798 | * |
||
799 | * @return array<array<string>> |
||
800 | */ |
||
801 | public function getOrderItemManualEvents(OrderItemFilterTransfer $orderItemFilterTransfer): array |
||
802 | { |
||
803 | return $this->getFactory() |
||
804 | ->createStateMachineReader() |
||
805 | ->getOrderItemManualEvents($orderItemFilterTransfer); |
||
806 | } |
||
807 | |||
808 | /** |
||
809 | * {@inheritDoc} |
||
810 | * |
||
811 | * @api |
||
812 | * |
||
813 | * @param \Generated\Shared\Transfer\ReservationRequestTransfer $reservationRequestTransfer |
||
814 | * |
||
815 | * @return \Generated\Shared\Transfer\ReservationResponseTransfer |
||
816 | */ |
||
817 | public function getOmsReservedProductQuantity(ReservationRequestTransfer $reservationRequestTransfer): ReservationResponseTransfer |
||
818 | { |
||
819 | return $this->getFactory()->createReservationReader()->getOmsReservedProductQuantity($reservationRequestTransfer); |
||
820 | } |
||
821 | |||
822 | /** |
||
823 | * {@inheritDoc} |
||
824 | * |
||
825 | * @api |
||
826 | * |
||
827 | * @param array<\Generated\Shared\Transfer\ItemTransfer> $itemTransfers |
||
828 | * |
||
829 | * @return array<\Generated\Shared\Transfer\ItemTransfer> |
||
830 | */ |
||
831 | public function expandOrderItemsWithItemState(array $itemTransfers): array |
||
832 | { |
||
833 | return $this->getFactory() |
||
834 | ->createOrderItemStateExpander() |
||
835 | ->expandOrderItemsWithItemState($itemTransfers); |
||
836 | } |
||
837 | |||
838 | /** |
||
839 | * {@inheritDoc} |
||
840 | * |
||
841 | * @api |
||
842 | * |
||
843 | * @param array<\Generated\Shared\Transfer\OrderTransfer> $orderTransfers |
||
844 | * |
||
845 | * @return array<\Generated\Shared\Transfer\OrderTransfer> |
||
846 | */ |
||
847 | public function expandOrdersWithAggregatedItemStates(array $orderTransfers): array |
||
848 | { |
||
849 | return $this->getFactory() |
||
850 | ->createOrderAggregatedItemStateExpander() |
||
851 | ->expandOrdersWithAggregatedItemStates($orderTransfers); |
||
852 | } |
||
853 | |||
854 | /** |
||
855 | * {@inheritDoc} |
||
856 | * |
||
857 | * @api |
||
858 | * |
||
859 | * @param array<\Generated\Shared\Transfer\OrderTransfer> $orderTransfers |
||
860 | * |
||
861 | * @return array<\Generated\Shared\Transfer\OrderTransfer> |
||
862 | */ |
||
863 | public function setOrderIsCancellableByItemState(array $orderTransfers): array |
||
868 | } |
||
869 | |||
870 | /** |
||
871 | * {@inheritDoc} |
||
872 | * |
||
873 | * @api |
||
874 | * |
||
875 | * @param int $idSalesOrder |
||
876 | * |
||
877 | * @return void |
||
878 | */ |
||
879 | public function sendOrderStatusChangedMessage(int $idSalesOrder): void |
||
880 | { |
||
881 | $this->getFactory()->createOrderStatusChangedMessageSender()->sendMessage($idSalesOrder); |
||
882 | } |
||
883 | |||
884 | /** |
||
885 | * {@inheritDoc} |
||
886 | * |
||
887 | * @api |
||
888 | * |
||
889 | * @param \Generated\Shared\Transfer\OrderTransfer $orderTransfer |
||
890 | * @param string $flag |
||
891 | * |
||
892 | * @return bool |
||
893 | */ |
||
894 | public function areOrderItemsSatisfiedByFlag(OrderTransfer $orderTransfer, string $flag): bool |
||
895 | { |
||
896 | return $this->getFactory() |
||
897 | ->createOrderChecker() |
||
898 | ->areOrderItemsSatisfiedByFlag($orderTransfer, $flag); |
||
899 | } |
||
900 | |||
901 | /** |
||
902 | * {@inheritDoc} |
||
903 | * |
||
904 | * @api |
||
905 | * |
||
906 | * @param \Generated\Shared\Transfer\OmsOrderItemStateHistoryCollectionDeleteCriteriaTransfer $omsOrderItemStateHistoryCollectionDeleteCriteriaTransfer |
||
907 | * |
||
908 | * @return \Generated\Shared\Transfer\OmsOrderItemStateHistoryCollectionResponseTransfer |
||
909 | */ |
||
910 | public function deleteOmsOrderItemStateHistoryCollection( |
||
911 | OmsOrderItemStateHistoryCollectionDeleteCriteriaTransfer $omsOrderItemStateHistoryCollectionDeleteCriteriaTransfer |
||
912 | ): OmsOrderItemStateHistoryCollectionResponseTransfer { |
||
913 | return $this->getFactory() |
||
914 | ->createOmsOrderItemStateHistoryDeleter() |
||
915 | ->deleteOmsOrderItemStateHistoryCollection($omsOrderItemStateHistoryCollectionDeleteCriteriaTransfer); |
||
916 | } |
||
917 | |||
918 | /** |
||
919 | * {@inheritDoc} |
||
920 | * |
||
921 | * @api |
||
922 | * |
||
923 | * @param \Generated\Shared\Transfer\OmsTransitionLogCollectionDeleteCriteriaTransfer $omsTransitionLogCollectionDeleteCriteriaTransfer |
||
924 | * |
||
925 | * @return \Generated\Shared\Transfer\OmsTransitionLogCollectionResponseTransfer |
||
926 | */ |
||
927 | public function deleteOmsTransitionLogCollection( |
||
933 | } |
||
934 | |||
935 | /** |
||
936 | * {@inheritDoc} |
||
937 | * |
||
938 | * @api |
||
939 | * |
||
940 | * @param \Generated\Shared\Transfer\OmsEventTimeoutCollectionDeleteCriteriaTransfer $omsEventTimeoutCollectionDeleteCriteriaTransfer |
||
941 | * |
||
942 | * @return \Generated\Shared\Transfer\OmsEventTimeoutCollectionResponseTransfer |
||
943 | */ |
||
944 | public function deleteOmsEventTimeoutCollection( |
||
945 | OmsEventTimeoutCollectionDeleteCriteriaTransfer $omsEventTimeoutCollectionDeleteCriteriaTransfer |
||
946 | ): OmsEventTimeoutCollectionResponseTransfer { |
||
947 | return $this->getFactory() |
||
948 | ->createOmsEventTimeoutDeleter() |
||
949 | ->deleteOmsEventTimeoutCollection($omsEventTimeoutCollectionDeleteCriteriaTransfer); |
||
950 | } |
||
951 | |||
952 | /** |
||
953 | * {@inheritDoc} |
||
954 | * |
||
955 | * @api |
||
956 | * |
||
957 | * @param string $stateName |
||
958 | * |
||
959 | * @return \Generated\Shared\Transfer\OmsOrderItemStateTransfer |
||
960 | */ |
||
961 | public function getOmsOrderItemState(string $stateName): OmsOrderItemStateTransfer |
||
966 | } |
||
967 | |||
968 | /** |
||
969 | * {@inheritDoc} |
||
970 | * |
||
971 | * @api |
||
972 | * |
||
973 | * @param array|string $identifier |
||
974 | * @param bool $blocking |
||
975 | * |
||
976 | * @return bool |
||
977 | */ |
||
978 | public function acquireOrderItemLock(array|string $identifier, bool $blocking): bool |
||
979 | { |
||
980 | return $this->getFactory() |
||
981 | ->createTriggerLocker() |
||
982 | ->acquire($identifier, null, $blocking); |
||
983 | } |
||
984 | |||
985 | /** |
||
986 | * {@inheritDoc} |
||
987 | * |
||
988 | * @api |
||
989 | * |
||
990 | * @param array|string $identifier |
||
991 | * |
||
992 | * @return void |
||
993 | */ |
||
994 | public function releaseOrderItemLock(array|string $identifier): void |
||
995 | { |
||
996 | $this->getFactory() |
||
997 | ->createTriggerLocker() |
||
998 | ->release($identifier); |
||
999 | } |
||
1000 | |||
1001 | /** |
||
1002 | * {@inheritDoc} |
||
1003 | * |
||
1004 | * @api |
||
1005 | * |
||
1006 | * @param array|string $identifier |
||
1007 | * @param bool $blocking |
||
1008 | * |
||
1009 | * @return bool |
||
1010 | */ |
||
1011 | public function acquireOrderLock(array|string $identifier, bool $blocking): bool |
||
1016 | } |
||
1017 | |||
1018 | /** |
||
1019 | * {@inheritDoc} |
||
1020 | * |
||
1021 | * @api |
||
1022 | * |
||
1023 | * @param array|string $identifier |
||
1024 | * |
||
1025 | * @return void |
||
1026 | */ |
||
1027 | public function releaseOrderLock(array|string $identifier): void |
||
1032 | } |
||
1033 | } |
||
1034 |