@@ -35,18 +35,16 @@ public function __construct(
35
35
* Save gift message
36
36
*
37
37
* @param \Magento\Sales\Api\OrderRepositoryInterface $subject
38
- * @param callable $proceed
39
- * @param \Magento\Sales\Api\Data\OrderInterface $order
38
+ * @param \Magento\Sales\Api\Data\OrderInterface $resultOrder
40
39
* @return \Magento\Sales\Api\Data\OrderInterface
41
40
* @SuppressWarnings(PHPMD.UnusedFormalParameter)
41
+ * @throws CouldNotSaveException
42
42
*/
43
- public function aroundSave (
43
+ public function afterSave (
44
44
\Magento \Sales \Api \OrderRepositoryInterface $ subject ,
45
- \Closure $ proceed ,
46
- \Magento \Sales \Api \Data \OrderInterface $ order
45
+ \Magento \Sales \Api \Data \OrderInterface $ resultOrder
47
46
) {
48
47
/** @var \Magento\Sales\Api\Data\OrderInterface $resultOrder */
49
- $ resultOrder = $ proceed ($ order );
50
48
$ resultOrder = $ this ->saveOrderGiftMessage ($ resultOrder );
51
49
$ resultOrder = $ this ->saveOrderItemGiftMessage ($ resultOrder );
52
50
@@ -58,24 +56,24 @@ public function aroundSave(
58
56
*
59
57
* @param \Magento\Sales\Api\Data\OrderInterface $order
60
58
* @return \Magento\Sales\Api\Data\OrderInterface
59
+ * @throws CouldNotSaveException
61
60
*/
62
61
protected function saveOrderGiftMessage (\Magento \Sales \Api \Data \OrderInterface $ order )
63
62
{
63
+ $ extensionAttributes = $ order ->getExtensionAttributes ();
64
64
if (
65
- null !== $ order -> getExtensionAttributes () &&
66
- null !== $ order -> getExtensionAttributes () ->getGiftMessage ()
65
+ null !== $ extensionAttributes &&
66
+ null !== $ extensionAttributes ->getGiftMessage ()
67
67
) {
68
68
/* @var \Magento\GiftMessage\Api\Data\MessageInterface $giftMessage */
69
- $ giftMessage = $ order ->getExtensionAttributes ()->getGiftMessage ();
70
- if (null !== $ giftMessage ) {
71
- try {
72
- $ this ->giftMessageOrderRepository ->save ($ order ->getEntityId (), $ giftMessage );
73
- } catch (\Exception $ e ) {
74
- throw new CouldNotSaveException (
75
- __ ('Could not add gift message to order: "%1" ' , $ e ->getMessage ()),
76
- $ e
77
- );
78
- }
69
+ $ giftMessage = $ extensionAttributes ->getGiftMessage ();
70
+ try {
71
+ $ this ->giftMessageOrderRepository ->save ($ order ->getEntityId (), $ giftMessage );
72
+ } catch (\Exception $ e ) {
73
+ throw new CouldNotSaveException (
74
+ __ ('Could not add gift message to order: "%1" ' , $ e ->getMessage ()),
75
+ $ e
76
+ );
79
77
}
80
78
}
81
79
return $ order ;
@@ -86,18 +84,21 @@ protected function saveOrderGiftMessage(\Magento\Sales\Api\Data\OrderInterface $
86
84
*
87
85
* @param \Magento\Sales\Api\Data\OrderInterface $order
88
86
* @return \Magento\Sales\Api\Data\OrderInterface
87
+ * @throws CouldNotSaveException
89
88
*/
90
89
protected function saveOrderItemGiftMessage (\Magento \Sales \Api \Data \OrderInterface $ order )
91
90
{
92
- if (null !== $ order ->getItems ()) {
91
+ $ items = $ order ->getItems ();
92
+ if (null !== $ items ) {
93
93
/** @var \Magento\Sales\Api\Data\OrderItemInterface $orderItem */
94
- foreach ($ order ->getItems () as $ orderItem ) {
94
+ foreach ($ items as $ orderItem ) {
95
+ $ extensionAttribute = $ orderItem ->getExtensionAttributes ();
95
96
if (
96
- null !== $ orderItem -> getExtensionAttributes () &&
97
- null !== $ orderItem -> getExtensionAttributes () ->getGiftMessage ()
97
+ null !== $ extensionAttribute &&
98
+ null !== $ extensionAttribute ->getGiftMessage ()
98
99
) {
99
100
/* @var \Magento\GiftMessage\Api\Data\MessageInterface $giftMessage */
100
- $ giftMessage = $ orderItem -> getExtensionAttributes () ->getGiftMessage ();
101
+ $ giftMessage = $ extensionAttribute ->getGiftMessage ();
101
102
try {
102
103
$ this ->giftMessageOrderItemRepository ->save (
103
104
$ order ->getEntityId (),
0 commit comments