From ec29d583f5f378a1fa3206a2fa8681400b15f690 Mon Sep 17 00:00:00 2001 From: Timo Bejan Date: Fri, 3 Jun 2022 10:11:12 +0300 Subject: [PATCH] RED-3584 / RED-3581 - notification issues - preferences validation test --- .../persistence/NotificationEmailService.java | 1 + .../service/job/SendNotificationEmailJob.java | 32 ++++++++----------- 2 files changed, 14 insertions(+), 19 deletions(-) diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/NotificationEmailService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/NotificationEmailService.java index a9d71ad3f..1d7322930 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/NotificationEmailService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/NotificationEmailService.java @@ -11,6 +11,7 @@ import java.util.List; @Slf4j @Service @RequiredArgsConstructor +@SuppressWarnings("PMD") public class NotificationEmailService { public void sendNotificationEmail(String userId, EmailNotificationType emailNotificationType, List notifications) { diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/job/SendNotificationEmailJob.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/job/SendNotificationEmailJob.java index a27c6d7e3..07adc7298 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/job/SendNotificationEmailJob.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/job/SendNotificationEmailJob.java @@ -30,28 +30,23 @@ public class SendNotificationEmailJob implements Job { var allConfiguredPreferences = notificationPreferencesPersistenceService.findAll(); allConfiguredPreferences.forEach(preference -> { - if (preference.isEmailNotificationsEnabled()) { + if (preference.isEmailNotificationsEnabled() && preference.getEmailNotificationType() == EmailNotificationType.WEEKLY_SUMMARY || preference.getEmailNotificationType() == EmailNotificationType.DAILY_SUMMARY) { - // summary emails only - if (preference.getEmailNotificationType() == EmailNotificationType.WEEKLY_SUMMARY || preference.getEmailNotificationType() == EmailNotificationType.DAILY_SUMMARY) { + var now = OffsetDateTime.now().truncatedTo(ChronoUnit.HOURS); - var now = OffsetDateTime.now().truncatedTo(ChronoUnit.HOURS); + // Weekly summary is sent monday night + if (now.getDayOfWeek() == DayOfWeek.MONDAY && preference.getEmailNotificationType() == EmailNotificationType.WEEKLY_SUMMARY) { + var from = OffsetDateTime.now().minusDays(7).truncatedTo(ChronoUnit.HOURS).withHour(0); + var to = OffsetDateTime.now().truncatedTo(ChronoUnit.HOURS).withHour(0); + var notifications = notificationPersistenceService.getNotificationsForEmailSummary(preference.getUserId(), from, to); - // Weekly summary is sent monday night - if (now.getDayOfWeek() == DayOfWeek.MONDAY && preference.getEmailNotificationType() == EmailNotificationType.WEEKLY_SUMMARY) { - var from = OffsetDateTime.now().minusDays(7).truncatedTo(ChronoUnit.HOURS).withHour(0); - var to = OffsetDateTime.now().truncatedTo(ChronoUnit.HOURS).withHour(0); - var notifications = notificationPersistenceService.getNotificationsForEmailSummary(preference.getUserId(), from, to); + notificationEmailService.sendNotificationEmail(preference.getUserId(), EmailNotificationType.WEEKLY_SUMMARY, notifications); + } else { + var from = OffsetDateTime.now().minusDays(1).withHour(0).truncatedTo(ChronoUnit.HOURS); + var to = OffsetDateTime.now().minusDays(1).withHour(23).truncatedTo(ChronoUnit.HOURS); + var notifications = notificationPersistenceService.getNotificationsForEmailSummary(preference.getUserId(), from, to); - notificationEmailService.sendNotificationEmail(preference.getUserId(), EmailNotificationType.WEEKLY_SUMMARY, notifications); - } else { - var from = OffsetDateTime.now().minusDays(1).withHour(0).truncatedTo(ChronoUnit.HOURS); - var to = OffsetDateTime.now().minusDays(1).withHour(23).truncatedTo(ChronoUnit.HOURS); - var notifications = notificationPersistenceService.getNotificationsForEmailSummary(preference.getUserId(), from, to); - - notificationEmailService.sendNotificationEmail(preference.getUserId(), EmailNotificationType.DAILY_SUMMARY, notifications); - - } + notificationEmailService.sendNotificationEmail(preference.getUserId(), EmailNotificationType.DAILY_SUMMARY, notifications); } @@ -60,5 +55,4 @@ public class SendNotificationEmailJob implements Job { } - }