Unify variable naming for newsletter entity with rest of codebase
[MAILPOET-3782]
This commit is contained in:
committed by
Veljko V
parent
4b8abf1148
commit
799eb38f4a
@@ -60,25 +60,25 @@ class ReEngagementScheduler {
|
|||||||
return array_filter($scheduled);
|
return array_filter($scheduled);
|
||||||
}
|
}
|
||||||
|
|
||||||
private function scheduleForEmail(NewsletterEntity $email): ?ScheduledTaskEntity {
|
private function scheduleForEmail(NewsletterEntity $newsletter): ?ScheduledTaskEntity {
|
||||||
$scheduledOrRunning = $this->scheduledTasksRepository->findByScheduledAndRunningForNewsletter($email);
|
$scheduledOrRunning = $this->scheduledTasksRepository->findByScheduledAndRunningForNewsletter($newsletter);
|
||||||
if ($scheduledOrRunning) {
|
if ($scheduledOrRunning) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
$intervalUnit = $email->getOptionValue(NewsletterOptionFieldEntity::NAME_AFTER_TIME_TYPE);
|
$intervalUnit = $newsletter->getOptionValue(NewsletterOptionFieldEntity::NAME_AFTER_TIME_TYPE);
|
||||||
$intervalValue = (int)$email->getOptionValue(NewsletterOptionFieldEntity::NAME_AFTER_TIME_NUMBER);
|
$intervalValue = (int)$newsletter->getOptionValue(NewsletterOptionFieldEntity::NAME_AFTER_TIME_NUMBER);
|
||||||
if (!$intervalValue || !in_array($intervalUnit, ['weeks', 'months'], true)) {
|
if (!$intervalValue || !in_array($intervalUnit, ['weeks', 'months'], true)) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
if (!$email->getNewsletterSegments()->count()) {
|
if (!$newsletter->getNewsletterSegments()->count()) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
$scheduledTask = $this->scheduleTask($email);
|
$scheduledTask = $this->scheduleTask($email);
|
||||||
$enqueuedCount = $this->enqueueSubscribers($email, $scheduledTask, $intervalUnit, $intervalValue);
|
$enqueuedCount = $this->enqueueSubscribers($newsletter, $scheduledTask, $intervalUnit, $intervalValue);
|
||||||
|
|
||||||
if ($enqueuedCount) {
|
if ($enqueuedCount) {
|
||||||
$this->createSendingQueue($email, $scheduledTask, $enqueuedCount);
|
$this->createSendingQueue($newsletter, $scheduledTask, $enqueuedCount);
|
||||||
return $scheduledTask;
|
return $scheduledTask;
|
||||||
} else {
|
} else {
|
||||||
// Nothing to send
|
// Nothing to send
|
||||||
@@ -100,11 +100,11 @@ class ReEngagementScheduler {
|
|||||||
return $scheduledTask;
|
return $scheduledTask;
|
||||||
}
|
}
|
||||||
|
|
||||||
private function createSendingQueue(NewsletterEntity $email, ScheduledTaskEntity $scheduledTask, int $countToProcess): SendingQueueEntity {
|
private function createSendingQueue(NewsletterEntity $newsletter, ScheduledTaskEntity $scheduledTask, int $countToProcess): SendingQueueEntity {
|
||||||
// Sending queue
|
// Sending queue
|
||||||
$sendingQueue = new SendingQueueEntity();
|
$sendingQueue = new SendingQueueEntity();
|
||||||
$sendingQueue->setTask($scheduledTask);
|
$sendingQueue->setTask($scheduledTask);
|
||||||
$sendingQueue->setNewsletter($email);
|
$sendingQueue->setNewsletter($newsletter);
|
||||||
$sendingQueue->setCountToProcess($countToProcess);
|
$sendingQueue->setCountToProcess($countToProcess);
|
||||||
$sendingQueue->setCountTotal($countToProcess);
|
$sendingQueue->setCountTotal($countToProcess);
|
||||||
$this->entityManager->persist($sendingQueue);
|
$this->entityManager->persist($sendingQueue);
|
||||||
@@ -116,7 +116,7 @@ class ReEngagementScheduler {
|
|||||||
* Finds subscribers that should receive re-engagement email and saves scheduled tasks subscribers
|
* Finds subscribers that should receive re-engagement email and saves scheduled tasks subscribers
|
||||||
* @return int Count of enqueued subscribers
|
* @return int Count of enqueued subscribers
|
||||||
*/
|
*/
|
||||||
private function enqueueSubscribers(NewsletterEntity $email, ScheduledTaskEntity $scheduledTask, string $intervalUnit, int $intervalValue): int {
|
private function enqueueSubscribers(NewsletterEntity $newsletter, ScheduledTaskEntity $scheduledTask, string $intervalUnit, int $intervalValue): int {
|
||||||
// Parameters for scheduled task subscribers query
|
// Parameters for scheduled task subscribers query
|
||||||
$thresholdDate = Carbon::createFromTimestamp($this->wp->currentTime('timestamp'));
|
$thresholdDate = Carbon::createFromTimestamp($this->wp->currentTime('timestamp'));
|
||||||
if ($intervalUnit === 'months') {
|
if ($intervalUnit === 'months') {
|
||||||
@@ -132,8 +132,8 @@ class ReEngagementScheduler {
|
|||||||
$upperThresholdDate = $upperThresholdDate->toDateTimeString();
|
$upperThresholdDate = $upperThresholdDate->toDateTimeString();
|
||||||
$taskId = $scheduledTask->getId();
|
$taskId = $scheduledTask->getId();
|
||||||
$subscribedStatus = SubscriberEntity::STATUS_SUBSCRIBED;
|
$subscribedStatus = SubscriberEntity::STATUS_SUBSCRIBED;
|
||||||
$newsletterId = $email->getId();
|
$newsletterId = $newsletter->getId();
|
||||||
$segmentIds = $email->getSegmentIds();
|
$segmentIds = $newsletter->getSegmentIds();
|
||||||
$newsletterStatsTable = $this->entityManager->getClassMetadata(StatisticsNewsletterEntity::class)->getTableName();
|
$newsletterStatsTable = $this->entityManager->getClassMetadata(StatisticsNewsletterEntity::class)->getTableName();
|
||||||
$scheduledTaskSubscribersTable = $this->entityManager->getClassMetadata(ScheduledTaskSubscriberEntity::class)->getTableName();
|
$scheduledTaskSubscribersTable = $this->entityManager->getClassMetadata(ScheduledTaskSubscriberEntity::class)->getTableName();
|
||||||
$subscriberSegmentTable = $this->entityManager->getClassMetadata(SubscriberSegmentEntity::class)->getTableName();
|
$subscriberSegmentTable = $this->entityManager->getClassMetadata(SubscriberSegmentEntity::class)->getTableName();
|
||||||
|
Reference in New Issue
Block a user