Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
BulkOperationsStatus.php
Go to the documentation of this file.
1 <?php
7 declare(strict_types=1);
8 
10 
13 use Magento\AsynchronousOperations\Api\Data\BulkOperationsStatusInterfaceFactory as BulkStatusShortFactory;
14 use Magento\AsynchronousOperations\Api\Data\DetailedBulkOperationsStatusInterfaceFactory as BulkStatusDetailedFactory;
15 use Magento\AsynchronousOperations\Api\Data\OperationDetailsInterfaceFactory;
17 use Magento\AsynchronousOperations\Model\ResourceModel\Operation\CollectionFactory;
18 
23 {
27  private $entityManager;
28 
32  private $bulkDetailedFactory;
33 
37  private $bulkShortFactory;
38 
42  private $bulkStatus;
43 
47  private $operationCollectionFactory;
48 
58  public function __construct(
59  BulkStatus $bulkStatus,
60  CollectionFactory $operationCollection,
61  BulkStatusDetailedFactory $bulkDetailedFactory,
62  BulkStatusShortFactory $bulkShortFactory,
63  EntityManager $entityManager
64  ) {
65  $this->operationCollectionFactory = $operationCollection;
66  $this->bulkStatus = $bulkStatus;
67  $this->bulkDetailedFactory = $bulkDetailedFactory;
68  $this->bulkShortFactory = $bulkShortFactory;
69  $this->entityManager = $entityManager;
70  }
71 
75  public function getFailedOperationsByBulkId($bulkUuid, $failureType = null)
76  {
77  return $this->bulkStatus->getFailedOperationsByBulkId($bulkUuid, $failureType);
78  }
79 
83  public function getOperationsCountByBulkIdAndStatus($bulkUuid, $status)
84  {
85  return $this->bulkStatus->getOperationsCountByBulkIdAndStatus($bulkUuid, $status);
86  }
87 
91  public function getBulksByUser($userId)
92  {
93  return $this->bulkStatus->getBulksByUser($userId);
94  }
95 
99  public function getBulkStatus($bulkUuid)
100  {
101  return $this->bulkStatus->getBulkStatus($bulkUuid);
102  }
103 
107  public function getBulkDetailedStatus($bulkUuid)
108  {
109  $bulkSummary = $this->bulkDetailedFactory->create();
110 
112  $bulk = $this->entityManager->load($bulkSummary, $bulkUuid);
113 
114  if ($bulk->getBulkId() === null) {
115  throw new NoSuchEntityException(
116  __(
117  'Bulk uuid %bulkUuid not exist',
118  ['bulkUuid' => $bulkUuid]
119  )
120  );
121  }
122  $operations = $this->operationCollectionFactory->create()->addFieldToFilter('bulk_uuid', $bulkUuid)->getItems();
123  $bulk->setOperationsList($operations);
124 
125  return $bulk;
126  }
127 
131  public function getBulkShortStatus($bulkUuid)
132  {
133  $bulkSummary = $this->bulkShortFactory->create();
134 
136  $bulk = $this->entityManager->load($bulkSummary, $bulkUuid);
137  if ($bulk->getBulkId() === null) {
138  throw new NoSuchEntityException(
139  __(
140  'Bulk uuid %bulkUuid not exist',
141  ['bulkUuid' => $bulkUuid]
142  )
143  );
144  }
145  $operations = $this->operationCollectionFactory->create()->addFieldToFilter('bulk_uuid', $bulkUuid)->getItems();
146  $bulk->setOperationsList($operations);
147 
148  return $bulk;
149  }
150 }
$operations
Definition: bulk.php:55
__construct(BulkStatus $bulkStatus, CollectionFactory $operationCollection, BulkStatusDetailedFactory $bulkDetailedFactory, BulkStatusShortFactory $bulkShortFactory, EntityManager $entityManager)
__()
Definition: __.php:13
$status
Definition: order_status.php:8