30 private $stockConfiguration;
35 private $stockRegistry;
40 private $stockItemValidator;
45 private $paramListToCheck = [
46 'use_config_min_qty' => [
47 'item' =>
'stock_data/min_qty',
48 'config' =>
'stock_data/use_config_min_qty',
50 'use_config_min_sale_qty' => [
51 'item' =>
'stock_data/min_sale_qty',
52 'config' =>
'stock_data/use_config_min_sale_qty',
54 'use_config_max_sale_qty' => [
55 'item' =>
'stock_data/max_sale_qty',
56 'config' =>
'stock_data/use_config_max_sale_qty',
58 'use_config_backorders' => [
59 'item' =>
'stock_data/backorders',
60 'config' =>
'stock_data/use_config_backorders',
62 'use_config_notify_stock_qty' => [
63 'item' =>
'stock_data/notify_stock_qty',
64 'config' =>
'stock_data/use_config_notify_stock_qty',
66 'use_config_enable_qty_inc' => [
67 'item' =>
'stock_data/enable_qty_increments',
68 'config' =>
'stock_data/use_config_enable_qty_inc',
70 'use_config_qty_increments' => [
71 'item' =>
'stock_data/qty_increments',
72 'config' =>
'stock_data/use_config_qty_increments',
86 $this->stockConfiguration = $stockConfiguration;
105 if (
$product->getStockData() !==
null) {
121 $extendedAttributes =
$product->getExtensionAttributes();
122 $stockItem = $extendedAttributes->getStockItem();
136 private function getStockData(Product
$product)
142 $stockData[
'website_id'] = $this->stockConfiguration->getDefaultScopeId();
144 $stockData[
'stock_id'] = $this->stockRegistry->getStock(
$stockData[
'website_id'])->getStockId();
146 foreach ($this->paramListToCheck as $dataKey => $configPath) {
147 if (
null !==
$product->getData($configPath[
'item']) &&
null ===
$product->getData($configPath[
'config'])) {
152 $originalQty =
$product->getData(
'stock_data/original_inventory_qty');
153 if (strlen($originalQty) > 0) {
__construct(StockConfigurationInterface $stockConfiguration, StockRegistryInterface $stockRegistry, StockItemValidator $stockItemValidator=null)
execute(EventObserver $observer)