123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154 |
- <?php
- namespace Dotdigitalgroup\Email\Model;
- class Order extends \Magento\Framework\Model\AbstractModel
- {
- const EMAIL_ORDER_NOT_IMPORTED = null;
- /**
- * @var \Magento\Sales\Api\Data\OrderSearchResultInterfaceFactory
- */
- private $salesCollection;
- /**
- * Constructor.
- *
- * @return null
- */
- public function _construct()
- {
- parent::_construct();
- $this->_init(\Dotdigitalgroup\Email\Model\ResourceModel\Order::class);
- }
- /**
- * Order constructor.
- *
- * @param \Magento\Framework\Model\Context $context
- * @param \Magento\Framework\Registry $registry
- * @param \Magento\Sales\Api\Data\OrderSearchResultInterfaceFactory $salesCollection
- * @param array $data
- * @param \Magento\Framework\Model\ResourceModel\AbstractResource|null $resource
- * @param \Magento\Framework\Data\Collection\AbstractDb|null $resourceCollection
- */
- public function __construct(
- \Magento\Framework\Model\Context $context,
- \Magento\Framework\Registry $registry,
- \Magento\Sales\Api\Data\OrderSearchResultInterfaceFactory $salesCollection,
- array $data = [],
- \Magento\Framework\Model\ResourceModel\AbstractResource $resource = null,
- \Magento\Framework\Data\Collection\AbstractDb $resourceCollection = null
- ) {
-
- $this->salesCollection = $salesCollection;
- parent::__construct(
- $context,
- $registry,
- $resource,
- $resourceCollection,
- $data
- );
- }
- /**
- * Load the email order by quote id.
- *
- * @param int $orderId
- * @param int $quoteId
- *
- * @return $this|\Magento\Framework\DataObject
- */
- public function loadByOrderId($orderId, $quoteId)
- {
- $item = $this->getCollection()
- ->loadByOrderIdAndQuoteId($orderId, $quoteId);
- if ($item) {
- return $item;
- } else {
- return $this->setOrderId($orderId)
- ->setQuoteId($quoteId);
- }
- }
- /**
- * Get connector order.
- *
- * @param int $orderId
- * @param int $quoteId
- * @param int $storeId
- *
- * @return $this|\Magento\Framework\DataObject
- */
- public function getEmailOrderRow($orderId, $quoteId, $storeId)
- {
- $item = $this->getCollection()
- ->getEmailOrderRow($orderId, $quoteId, $storeId);
- if ($item) {
- return $item;
- } else {
- return $this->setOrderId($orderId)
- ->setQuoteId($quoteId)
- ->setStoreId($storeId)
- ->setCreatedAt(time());
- }
- }
- /**
- * Get pending orders for import.
- *
- * @param array $storeIds
- * @param int $limit
- * @param array $orderStatuses
- *
- * @return \Dotdigitalgroup\Email\Model\ResourceModel\Order\Collection|\Magento\Framework\DataObject
- */
- public function getOrdersToImport($storeIds, $limit, $orderStatuses)
- {
- return $this->getCollection()
- ->getOrdersToImport($storeIds, $limit, $orderStatuses);
- }
- /**
- * Get pending modified orders to import.
- *
- * @param array $storeIds
- * @param int $limit
- * @param array $orderStatuses
- *
- * @return \Dotdigitalgroup\Email\Model\ResourceModel\Order\Collection
- */
- public function getModifiedOrdersToImport($storeIds, $limit, $orderStatuses)
- {
- return $this->getCollection()
- ->getModifiedOrdersToImport($storeIds, $limit, $orderStatuses);
- }
- /**
- * Get all sent orders
- *
- * @param array $storeIds
- * @param int $limit
- *
- * @return \Dotdigitalgroup\Email\Model\ResourceModel\Order\Collection
- */
- public function getAllSentOrders($storeIds, $limit)
- {
- return $this->getCollection()
- ->getAllSentOrders($storeIds, $limit);
- }
- /**
- * @param array $orderIds
- *
- * @return \Magento\Sales\Model\ResourceModel\Order\Collection
- */
- public function getSalesOrdersWithIds($orderIds)
- {
- return $this->salesCollection->create()
- ->addFieldToFilter('entity_id', ['in' => $orderIds]);
- }
- }
|