@@ -170,6 +170,11 @@ class Multishipping extends \Magento\Framework\DataObject
170170 */
171171 private $ logger ;
172172
173+ /**
174+ * @var \Magento\Framework\Api\DataObjectHelper
175+ */
176+ private $ dataObjectHelper ;
177+
173178 /**
174179 * Constructor
175180 *
@@ -227,7 +232,8 @@ public function __construct(
227232 \Magento \Quote \Api \Data \CartExtensionFactory $ cartExtensionFactory = null ,
228233 AllowedCountries $ allowedCountryReader = null ,
229234 Multishipping \PlaceOrderFactory $ placeOrderFactory = null ,
230- LoggerInterface $ logger = null
235+ LoggerInterface $ logger = null ,
236+ \Magento \Framework \Api \DataObjectHelper $ dataObjectHelper = null
231237 ) {
232238 $ this ->_eventManager = $ eventManager ;
233239 $ this ->_scopeConfig = $ scopeConfig ;
@@ -258,6 +264,8 @@ public function __construct(
258264 ->get (Multishipping \PlaceOrderFactory::class);
259265 $ this ->logger = $ logger ?: ObjectManager::getInstance ()
260266 ->get (LoggerInterface::class);
267+ $ this ->dataObjectHelper = $ dataObjectHelper ?: ObjectManager::getInstance ()
268+ ->get (\Magento \Framework \Api \DataObjectHelper::class);
261269 parent ::__construct ($ data );
262270 $ this ->_init ();
263271 }
@@ -663,7 +671,14 @@ protected function _prepareOrder(\Magento\Quote\Model\Quote\Address $address)
663671 $ quote ->reserveOrderId ();
664672 $ quote ->collectTotals ();
665673
666- $ order = $ this ->quoteAddressToOrder ->convert ($ address );
674+ $ order = $ this ->_orderFactory ->create ();
675+
676+ $ this ->dataObjectHelper ->mergeDataObjects (
677+ \Magento \Sales \Api \Data \OrderInterface::class,
678+ $ order ,
679+ $ this ->quoteAddressToOrder ->convert ($ address )
680+ );
681+
667682 $ order ->setQuote ($ quote );
668683 $ order ->setBillingAddress ($ this ->quoteAddressToOrderAddress ->convert ($ quote ->getBillingAddress ()));
669684
0 commit comments