ContactImportQueueExport.php 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. <?php
  2. namespace Dotdigitalgroup\Email\Model\Apiconnector;
  3. /**
  4. * Class ContactImportQueueExport
  5. * @package Dotdigitalgroup\Email\Model\Apiconnector
  6. */
  7. class ContactImportQueueExport
  8. {
  9. /**
  10. * @var \Dotdigitalgroup\Email\Model\ImporterFactory
  11. */
  12. public $importerFactory;
  13. /**
  14. * @var \Dotdigitalgroup\Email\Helper\File
  15. */
  16. public $file;
  17. /**
  18. * ContactImportQueueExport constructor.
  19. *
  20. * @param \Dotdigitalgroup\Email\Model\ImporterFactory $importerFactory
  21. * @param \Dotdigitalgroup\Email\Helper\File $file
  22. */
  23. public function __construct(
  24. \Dotdigitalgroup\Email\Model\ImporterFactory $importerFactory,
  25. \Dotdigitalgroup\Email\Helper\File $file
  26. ) {
  27. $this->importerFactory = $importerFactory;
  28. $this->file = $file;
  29. }
  30. /**
  31. * @param \Magento\Store\Api\Data\WebsiteInterface $website
  32. * @param string $customersFile
  33. * @param int $customerNum
  34. * @param array $customerIds
  35. * @param \Dotdigitalgroup\Email\Model\ResourceModel\Contact $resource
  36. *
  37. * @return null
  38. */
  39. public function enqueueForExport(
  40. \Magento\Store\Api\Data\WebsiteInterface $website,
  41. $customersFile,
  42. $customerNum,
  43. $customerIds,
  44. $resource
  45. ) {
  46. if (is_file($this->file->getFilePath($customersFile))) {
  47. if ($customerNum > 0) {
  48. //register in queue with importer
  49. $this->importerFactory->create()
  50. ->registerQueue(
  51. \Dotdigitalgroup\Email\Model\Importer::IMPORT_TYPE_CONTACT,
  52. '',
  53. \Dotdigitalgroup\Email\Model\Importer::MODE_BULK,
  54. $website->getId(),
  55. $customersFile
  56. );
  57. //set imported
  58. $resource->setImportedByIds($customerIds);
  59. }
  60. }
  61. }
  62. }