Abandoned.php 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. <?php
  2. namespace Dotdigitalgroup\Email\Model\ResourceModel;
  3. use Dotdigitalgroup\Email\Setup\Schema;
  4. class Abandoned extends \Magento\Framework\Model\ResourceModel\Db\AbstractDb
  5. {
  6. /**
  7. * @var \Dotdigitalgroup\Email\Helper\Data
  8. */
  9. public $helper;
  10. /**
  11. * Initialize resource.
  12. *
  13. * @return null
  14. */
  15. public function _construct()
  16. {
  17. $this->_init(Schema::EMAIL_ABANDONED_CART_TABLE, 'id');
  18. }
  19. /**
  20. * @param \Magento\Framework\Model\ResourceModel\Db\Context $context
  21. * @param \Dotdigitalgroup\Email\Helper\Data $data
  22. */
  23. public function __construct(
  24. \Magento\Framework\Model\ResourceModel\Db\Context $context,
  25. \Dotdigitalgroup\Email\Helper\Data $data
  26. ) {
  27. $this->helper = $data;
  28. parent::__construct($context);
  29. }
  30. /**
  31. * @param array $ids
  32. * @param string $date
  33. * @param bool $contactStatus
  34. */
  35. public function update($ids, $date, $contactStatus)
  36. {
  37. if (empty($ids)) {
  38. return;
  39. }
  40. $bind = ['updated_at' => $date, 'status' => $contactStatus];
  41. $where = ['id IN(?)' => $ids];
  42. $this->getConnection()->update(
  43. $this->getTable(Schema::EMAIL_ABANDONED_CART_TABLE),
  44. $bind,
  45. $where
  46. );
  47. }
  48. /**
  49. * @param array $ids
  50. * @param string $date
  51. * @param string $contactStatus
  52. * @param bool $isActive
  53. */
  54. public function updateByQuoteIds($ids, $date, $contactStatus, $isActive)
  55. {
  56. $bind = [
  57. 'updated_at' => $date,
  58. 'status' => $contactStatus,
  59. 'is_active' => $isActive
  60. ];
  61. $where = ['quote_id IN(?)' => $ids];
  62. $this->getConnection()->update(
  63. $this->getTable(Schema::EMAIL_ABANDONED_CART_TABLE),
  64. $bind,
  65. $where
  66. );
  67. }
  68. }