![]() 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-catalog-inventory/Model/Stock/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\CatalogInventory\Model\Stock; use Magento\CatalogInventory\Api\Data\StockItemInterface; use Magento\CatalogInventory\Api\Data\StockStatusInterface; use Magento\CatalogInventory\Api\StockRegistryInterface; use Magento\Framework\Api\AttributeValueFactory; use Magento\Framework\Api\ExtensionAttributesFactory; use Magento\Framework\Model\AbstractExtensibleModel; /** * CatalogInventory Stock Status */ class Status extends AbstractExtensibleModel implements StockStatusInterface { /**#@+ * Field name */ const KEY_PRODUCT_ID = 'product_id'; const KEY_WEBSITE_ID = 'website_id'; const KEY_STOCK_ID = 'stock_id'; const KEY_QTY = 'qty'; const KEY_STOCK_STATUS = 'stock_status'; /**#@-*/ /** * @var StockRegistryInterface */ private $stockRegistry; /** * @param \Magento\Framework\Model\Context $context * @param \Magento\Framework\Registry $registry * @param ExtensionAttributesFactory $extensionFactory * @param AttributeValueFactory $customAttributeFactory * @param StockRegistryInterface $stockRegistry * @param \Magento\Framework\Model\ResourceModel\AbstractResource $resource * @param \Magento\Framework\Data\Collection\AbstractDb $resourceCollection * @param array $data */ public function __construct( \Magento\Framework\Model\Context $context, \Magento\Framework\Registry $registry, ExtensionAttributesFactory $extensionFactory, AttributeValueFactory $customAttributeFactory, StockRegistryInterface $stockRegistry, \Magento\Framework\Model\ResourceModel\AbstractResource $resource = null, \Magento\Framework\Data\Collection\AbstractDb $resourceCollection = null, array $data = [] ) { parent::__construct( $context, $registry, $extensionFactory, $customAttributeFactory, $resource, $resourceCollection, $data ); $this->stockRegistry = $stockRegistry; } /** * Init resource model * * @return void */ protected function _construct() { $this->_init(\Magento\CatalogInventory\Model\ResourceModel\Stock\Status::class); } //@codeCoverageIgnoreStart /** * Retrieve product ID * * @return int */ public function getProductId() { return $this->getData(self::KEY_PRODUCT_ID); } /** * Retrieve website ID * * @return int */ public function getWebsiteId() { return $this->getData(self::KEY_WEBSITE_ID); } /** * Retrieve stock ID * * @return int */ public function getStockId() { return $this->getData(self::KEY_STOCK_ID); } /** * Retrieve qty * * @return int */ public function getQty() { return $this->getData(self::KEY_QTY); } /** * Retrieve stock status * * @return int */ public function getStockStatus(): int { return (int)$this->getData(self::KEY_STOCK_STATUS); } //@codeCoverageIgnoreEnd /** * Retrieve stock item * * @return StockItemInterface */ public function getStockItem() { return $this->stockRegistry->getStockItem($this->getProductId(), $this->getWebsiteId()); } //@codeCoverageIgnoreStart /** * Set product ID * * @param int $productId * @return $this */ public function setProductId($productId) { return $this->setData(self::KEY_PRODUCT_ID, $productId); } /** * Set web website ID * * @param int $websiteId * @return $this */ public function setWebsiteId($websiteId) { return $this->setData(self::KEY_WEBSITE_ID, $websiteId); } /** * Set stock ID * * @param int $stockId * @return $this */ public function setStockId($stockId) { return $this->setData(self::KEY_STOCK_ID, $stockId); } /** * Set qty * * @param int $qty * @return $this */ public function setQty($qty) { return $this->setData(self::KEY_QTY, $qty); } /** * Set stock status * * @param int $stockStatus * @return $this */ public function setStockStatus($stockStatus) { return $this->setData(self::KEY_STOCK_STATUS, $stockStatus); } /** * Retrieve existing extension attributes object or create a new one. * * @return \Magento\CatalogInventory\Api\Data\StockStatusExtensionInterface|null */ public function getExtensionAttributes() { return $this->_getExtensionAttributes(); } /** * Set an extension attributes object. * * @param \Magento\CatalogInventory\Api\Data\StockStatusExtensionInterface $extensionAttributes * @return $this */ public function setExtensionAttributes( \Magento\CatalogInventory\Api\Data\StockStatusExtensionInterface $extensionAttributes ) { return $this->_setExtensionAttributes($extensionAttributes); } //@codeCoverageIgnoreEnd }