diff --git a/src/main/java/ru/soune/nocopy/scheduler/MonitoringScheduler.java b/src/main/java/ru/soune/nocopy/scheduler/MonitoringScheduler.java index 37be081..cb7681f 100644 --- a/src/main/java/ru/soune/nocopy/scheduler/MonitoringScheduler.java +++ b/src/main/java/ru/soune/nocopy/scheduler/MonitoringScheduler.java @@ -1,5 +1,7 @@ package ru.soune.nocopy.scheduler; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.node.ObjectNode; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.scheduling.annotation.Scheduled; @@ -55,7 +57,11 @@ public class MonitoringScheduler { Set usersForNotifications = groupingFilesMonitoring.keySet(); for (Long userId : usersForNotifications) { - notificationService.addNotification(NotificationType.MONITORING_RESULT, userId); + ObjectMapper mapper = new ObjectMapper(); + ObjectNode context = mapper.createObjectNode(); + context.put("message", "Monitoring files on monitoring"); + + notificationService.addNotification(NotificationType.MONITORING_RESULT, userId, context.toString()); } } } \ No newline at end of file diff --git a/src/main/java/ru/soune/nocopy/service/file/impl/FileUploadServiceImpl.java b/src/main/java/ru/soune/nocopy/service/file/impl/FileUploadServiceImpl.java index 6a3288f..0d66b47 100644 --- a/src/main/java/ru/soune/nocopy/service/file/impl/FileUploadServiceImpl.java +++ b/src/main/java/ru/soune/nocopy/service/file/impl/FileUploadServiceImpl.java @@ -458,7 +458,7 @@ public class FileUploadServiceImpl implements FileUploadService { context.put("support_id", fileEntity.getSupportId()); notificationService.addNotification(NotificationType.FILE_ADDED_TO_SYSTEM, session.getUserId(), - context); + context.toString()); } if (status != FileStatus.TEMP) { diff --git a/src/main/java/ru/soune/nocopy/service/file/moderation/ModerationService.java b/src/main/java/ru/soune/nocopy/service/file/moderation/ModerationService.java index a7a6ee9..d5ccd88 100644 --- a/src/main/java/ru/soune/nocopy/service/file/moderation/ModerationService.java +++ b/src/main/java/ru/soune/nocopy/service/file/moderation/ModerationService.java @@ -98,7 +98,7 @@ public class ModerationService { context.put("new_status", request.getNewStatus().name()); context.put("comment", request.getComment()); - notificationService.addNotification(NotificationType.FILE_MODERATION_EVENT, file.getUserId(), context); + notificationService.addNotification(NotificationType.FILE_MODERATION_EVENT, file.getUserId(), context.toString()); } /** diff --git a/src/main/java/ru/soune/nocopy/service/monitoring/MonitoringSearchService.java b/src/main/java/ru/soune/nocopy/service/monitoring/MonitoringSearchService.java index 028177d..0f80290 100644 --- a/src/main/java/ru/soune/nocopy/service/monitoring/MonitoringSearchService.java +++ b/src/main/java/ru/soune/nocopy/service/monitoring/MonitoringSearchService.java @@ -105,7 +105,8 @@ public class MonitoringSearchService { context.put("status", NotificationType.SEARCH_OPERATION_FAILED.name()); context.put("error_message", e.getMessage()); - notificationService.addNotification(NotificationType.SEARCH_OPERATION_FAILED, user.getId(), context); + notificationService.addNotification(NotificationType.SEARCH_OPERATION_FAILED, user.getId(), + context.toString()); } } else { log.info("Yandex search is disabled by settings"); @@ -136,7 +137,8 @@ public class MonitoringSearchService { context.put("next_run", Objects.requireNonNull(calculateNextRun( monitoring.getMonitoringType())).format(DateTimeFormatter.ofPattern("dd.MM.yyyy HH:mm"))); - notificationService.addNotification(NotificationType.SEARCH_OPERATION_FAILED, user.getId(), context); + notificationService.addNotification(NotificationType.SEARCH_OPERATION_FAILED, user.getId(), + context.toString()); } } else { log.info("Google search is disabled by settings"); @@ -182,7 +184,7 @@ public class MonitoringSearchService { context.put("next_run", Objects.requireNonNull(calculateNextRun( monitoring.getMonitoringType())).format(DateTimeFormatter.ofPattern("dd.MM.yyyy HH:mm"))); - notificationService.addNotification(NotificationType.TOKEN_NOT_FOUND, user.getId(), context); + notificationService.addNotification(NotificationType.TOKEN_NOT_FOUND, user.getId(), context.toString()); } catch (Exception e) { log.error("Error processing monitoring search", e); monitoring.setLastRunStatus("ERROR: " + e.getMessage()); @@ -197,7 +199,8 @@ public class MonitoringSearchService { context.put("next_run", Objects.requireNonNull(calculateNextRun( monitoring.getMonitoringType())).format(DateTimeFormatter.ofPattern("dd.MM.yyyy HH:mm"))); - notificationService.addNotification(NotificationType.SEARCH_OPERATION_FAILED, user.getId(), context); + notificationService.addNotification(NotificationType.SEARCH_OPERATION_FAILED, user.getId(), + context.toString()); } } diff --git a/src/main/java/ru/soune/nocopy/service/notification/NotificationService.java b/src/main/java/ru/soune/nocopy/service/notification/NotificationService.java index 18817fd..04b5375 100644 --- a/src/main/java/ru/soune/nocopy/service/notification/NotificationService.java +++ b/src/main/java/ru/soune/nocopy/service/notification/NotificationService.java @@ -32,18 +32,18 @@ public class NotificationService { private final MessageSource messageSource; - @Transactional - public void addNotification(NotificationType notificationType, long userId, Object... args) { - Notification notification = Notification.builder() - .notificationType(notificationType) - .createdAt(LocalDateTime.now()) - .user(userRepository.findById(userId).orElseThrow()) - .status(NotificationStatus.NEW) - .message(notificationType.getMessageKey()) - .build(); - - notificationRepository.save(notification); - } +// @Transactional +// public void addNotification(NotificationType notificationType, long userId, Object... args) { +// Notification notification = Notification.builder() +// .notificationType(notificationType) +// .createdAt(LocalDateTime.now()) +// .user(userRepository.findById(userId).orElseThrow()) +// .status(NotificationStatus.NEW) +// .message(notificationType.getMessageKey()) +// .build(); +// +// notificationRepository.save(notification); +// } @Transactional public void addNotification(NotificationType notificationType, long userId, String context) { diff --git a/src/main/java/ru/soune/nocopy/service/payment/PaymentService.java b/src/main/java/ru/soune/nocopy/service/payment/PaymentService.java index 7cd3ce3..4aecb1b 100644 --- a/src/main/java/ru/soune/nocopy/service/payment/PaymentService.java +++ b/src/main/java/ru/soune/nocopy/service/payment/PaymentService.java @@ -206,7 +206,7 @@ public class PaymentService { context.put("reason", reason); context.put("amount", payment.getAmount()); - notificationService.addNotification(NotificationType.PAYMENT_RESULT, userId, context); + notificationService.addNotification(NotificationType.PAYMENT_RESULT, userId, context.toString()); } public List userPayments(String email) { diff --git a/src/main/java/ru/soune/nocopy/service/referral/ReferralRepoImpl.java b/src/main/java/ru/soune/nocopy/service/referral/ReferralRepoImpl.java index 3a24817..49c0ca6 100644 --- a/src/main/java/ru/soune/nocopy/service/referral/ReferralRepoImpl.java +++ b/src/main/java/ru/soune/nocopy/service/referral/ReferralRepoImpl.java @@ -177,7 +177,7 @@ public class ReferralRepoImpl implements ReferralRepo { ObjectNode context = mapper.createObjectNode(); context.put("referral_user", user != null ? user.getFullName(): null); - notificationService.addNotification(NotificationType.REFERRAL_REGISTERED, inviter); + notificationService.addNotification(NotificationType.REFERRAL_REGISTERED, inviter, context.toString()); } } diff --git a/src/main/java/ru/soune/nocopy/service/search/GlobalSearchAsyncProcessor.java b/src/main/java/ru/soune/nocopy/service/search/GlobalSearchAsyncProcessor.java index d2ac58a..951dfb0 100644 --- a/src/main/java/ru/soune/nocopy/service/search/GlobalSearchAsyncProcessor.java +++ b/src/main/java/ru/soune/nocopy/service/search/GlobalSearchAsyncProcessor.java @@ -98,7 +98,7 @@ public class GlobalSearchAsyncProcessor { context.put("files_id", files.toString()); context.put("count", files.toString()); - notificationService.addNotification(NotificationType.SEARCH_RESULT, userId, context); + notificationService.addNotification(NotificationType.SEARCH_RESULT, userId, context.toString()); } private GlobalSearchResult processFile(FileEntity file, String taskId, Long userId) {