1616use Extcode \Cart \Domain \Model \Order \AddressInterface ;
1717use Extcode \Cart \Domain \Model \Order \Item ;
1818use Extcode \Cart \Event \Mail \AttachmentEvent ;
19+ use InvalidArgumentException ;
1920use Psr \EventDispatcher \EventDispatcherInterface ;
2021use Psr \Http \Message \ServerRequestInterface ;
2122use Symfony \Component \Mime \Address ;
@@ -340,7 +341,8 @@ public function sendBuyerMail(Item $orderItem): void
340341 $ this ->mailer ->send ($ email );
341342 $ this ->logService ->write (
342343 Log ::info (
343- (string )$ orderItem ->getUid (),
344+ $ this ->getOrderItemUid ($ orderItem ),
345+ 'sendBuyerMail ' ,
344346 'Mail was send to buyer. ' ,
345347 [
346348 'time ' => time (),
@@ -350,7 +352,8 @@ public function sendBuyerMail(Item $orderItem): void
350352 } catch (Exception $ e ) {
351353 $ this ->logService ->write (
352354 Log ::error (
353- (string )$ orderItem ->getUid (),
355+ $ this ->getOrderItemUid ($ orderItem ),
356+ 'sendBuyerMail ' ,
354357 'Mail could not send to buyer. ' ,
355358 [
356359 'time ' => time (),
@@ -366,6 +369,9 @@ public function sendBuyerMail(Item $orderItem): void
366369 */
367370 public function sendSellerMail (Item $ orderItem ): void
368371 {
372+ if (is_null ($ orderItem ->getUid ())) {
373+ throw new InvalidArgumentException ('Method should only called for persisted orders. ' , 1774715307 );
374+ }
369375 $ sellerEmailTo = $ this ->getSellerEmailTo ();
370376 if (empty ($ this ->getSellerEmailFrom ()) || empty ($ sellerEmailTo )) {
371377 return ;
@@ -410,7 +416,8 @@ public function sendSellerMail(Item $orderItem): void
410416 $ this ->mailer ->send ($ email );
411417 $ this ->logService ->write (
412418 Log ::info (
413- (string )$ orderItem ->getUid (),
419+ $ this ->getOrderItemUid ($ orderItem ),
420+ 'sendSellerMail ' ,
414421 'Mail was send to seller. ' ,
415422 [
416423 'time ' => time (),
@@ -420,7 +427,8 @@ public function sendSellerMail(Item $orderItem): void
420427 } catch (Exception $ e ) {
421428 $ this ->logService ->write (
422429 Log ::error (
423- (string )$ orderItem ->getUid (),
430+ $ this ->getOrderItemUid ($ orderItem ),
431+ 'sendSellerMail ' ,
424432 'Mail could not send to seller. ' ,
425433 [
426434 'time ' => time (),
@@ -445,7 +453,8 @@ public function addAttachments(string $type, Item $orderItem, FluidEmail $email)
445453 } else {
446454 $ this ->logService ->write (
447455 Log ::warning (
448- (string )$ orderItem ->getUid (),
456+ $ this ->getOrderItemUid ($ orderItem ),
457+ 'addAttachments ' ,
449458 'Mail could add attachment ' . $ attachment . ' to mail. ' ,
450459 [
451460 'time ' => time (),
@@ -456,4 +465,15 @@ public function addAttachments(string $type, Item $orderItem, FluidEmail $email)
456465 }
457466 }
458467 }
468+
469+ private function getOrderItemUid (Item $ orderItem ): int
470+ {
471+ $ orderItemUid = $ orderItem ->getUid ();
472+
473+ if (is_null ($ orderItemUid )) {
474+ throw new InvalidArgumentException ('Method should only called for persisted orders. ' , 1774715307 );
475+ }
476+
477+ return $ orderItemUid ;
478+ }
459479}
0 commit comments