@@ -170,6 +170,11 @@ class Multishipping extends \Magento\Framework\DataObject
170
170
*/
171
171
private $ logger ;
172
172
173
+ /**
174
+ * @var \Magento\Framework\Api\DataObjectHelper
175
+ */
176
+ private $ dataObjectHelper ;
177
+
173
178
/**
174
179
* Constructor
175
180
*
@@ -227,7 +232,8 @@ public function __construct(
227
232
\Magento \Quote \Api \Data \CartExtensionFactory $ cartExtensionFactory = null ,
228
233
AllowedCountries $ allowedCountryReader = null ,
229
234
Multishipping \PlaceOrderFactory $ placeOrderFactory = null ,
230
- LoggerInterface $ logger = null
235
+ LoggerInterface $ logger = null ,
236
+ \Magento \Framework \Api \DataObjectHelper $ dataObjectHelper = null
231
237
) {
232
238
$ this ->_eventManager = $ eventManager ;
233
239
$ this ->_scopeConfig = $ scopeConfig ;
@@ -258,6 +264,8 @@ public function __construct(
258
264
->get (Multishipping \PlaceOrderFactory::class);
259
265
$ this ->logger = $ logger ?: ObjectManager::getInstance ()
260
266
->get (LoggerInterface::class);
267
+ $ this ->dataObjectHelper = $ dataObjectHelper ?: ObjectManager::getInstance ()
268
+ ->get (\Magento \Framework \Api \DataObjectHelper::class);
261
269
parent ::__construct ($ data );
262
270
$ this ->_init ();
263
271
}
@@ -670,7 +678,14 @@ protected function _prepareOrder(\Magento\Quote\Model\Quote\Address $address)
670
678
$ quote ->reserveOrderId ();
671
679
$ quote ->collectTotals ();
672
680
673
- $ order = $ this ->quoteAddressToOrder ->convert ($ address );
681
+ $ order = $ this ->_orderFactory ->create ();
682
+
683
+ $ this ->dataObjectHelper ->mergeDataObjects (
684
+ \Magento \Sales \Api \Data \OrderInterface::class,
685
+ $ order ,
686
+ $ this ->quoteAddressToOrder ->convert ($ address )
687
+ );
688
+
674
689
$ order ->setQuote ($ quote );
675
690
$ order ->setBillingAddress ($ this ->quoteAddressToOrderAddress ->convert ($ quote ->getBillingAddress ()));
676
691
0 commit comments