14 use Magento\Sales\Api\Data\ShipmentCommentInterfaceFactory;
15 use Magento\Sales\Api\Data\ShipmentCommentSearchResultInterfaceFactory;
20 use Psr\Log\LoggerInterface;
30 private $commentResource;
35 private $commentFactory;
40 private $searchResultFactory;
45 private $collectionProcessor;
50 private $shipmentCommentSender;
55 private $shipmentRepository;
73 ShipmentCommentInterfaceFactory $commentFactory,
74 ShipmentCommentSearchResultInterfaceFactory $searchResultFactory,
78 LoggerInterface $logger =
null 80 $this->commentResource = $commentResource;
81 $this->commentFactory = $commentFactory;
82 $this->searchResultFactory = $searchResultFactory;
83 $this->collectionProcessor = $collectionProcessor;
84 $this->shipmentCommentSender = $shipmentCommentSender
86 $this->shipmentRepository = $shipmentRepository
96 $searchResult = $this->searchResultFactory->create();
107 $entity = $this->commentFactory->create();
118 $this->commentResource->delete(
$entity);
119 }
catch (\Exception $e) {
131 $this->commentResource->save(
$entity);
132 }
catch (\Exception $e) {
139 }
catch (\Exception $exception) {
140 $this->logger->critical($exception);
foreach($order->getItems() as $orderItem) $shipment