![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/module-quote/Model/GuestCart/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Quote\Model\GuestCart; use Magento\Quote\Api\GuestCartManagementInterface; use Magento\Quote\Api\CartManagementInterface; use Magento\Quote\Model\QuoteIdMask; use Magento\Quote\Model\QuoteIdMaskFactory; use Magento\Quote\Api\Data\PaymentInterface; use Magento\Quote\Api\CartRepositoryInterface; /** * Cart Management class for guest carts. * * @SuppressWarnings(PHPMD.CouplingBetweenObjects) */ class GuestCartManagement implements GuestCartManagementInterface { /** * @var CartManagementInterface */ protected $quoteManagement; /** * @var QuoteIdMaskFactory */ protected $quoteIdMaskFactory; /** * @var CartRepositoryInterface */ protected $cartRepository; /** * Initialize dependencies. * * @param CartManagementInterface $quoteManagement * @param QuoteIdMaskFactory $quoteIdMaskFactory * @param CartRepositoryInterface $cartRepository * @SuppressWarnings(PHPMD.ExcessiveParameterList) */ public function __construct( CartManagementInterface $quoteManagement, QuoteIdMaskFactory $quoteIdMaskFactory, CartRepositoryInterface $cartRepository ) { $this->quoteManagement = $quoteManagement; $this->quoteIdMaskFactory = $quoteIdMaskFactory; $this->cartRepository = $cartRepository; } /** * {@inheritdoc} */ public function createEmptyCart() { /** @var $quoteIdMask \Magento\Quote\Model\QuoteIdMask */ $quoteIdMask = $this->quoteIdMaskFactory->create(); $cartId = $this->quoteManagement->createEmptyCart(); $quoteIdMask->setQuoteId($cartId)->save(); return $quoteIdMask->getMaskedId(); } /** * {@inheritdoc} */ public function assignCustomer($cartId, $customerId, $storeId) { /** @var $quoteIdMask QuoteIdMask */ $quoteIdMask = $this->quoteIdMaskFactory->create()->load($cartId, 'masked_id'); return $this->quoteManagement->assignCustomer($quoteIdMask->getQuoteId(), $customerId, $storeId); } /** * {@inheritdoc} */ public function placeOrder($cartId, PaymentInterface $paymentMethod = null) { /** @var $quoteIdMask QuoteIdMask */ $quoteIdMask = $this->quoteIdMaskFactory->create()->load($cartId, 'masked_id'); $this->cartRepository->get($quoteIdMask->getQuoteId()) ->setCheckoutMethod(CartManagementInterface::METHOD_GUEST); return $this->quoteManagement->placeOrder($quoteIdMask->getQuoteId(), $paymentMethod); } }