diff --git a/src/main/java/com/depromeet/stonebed/domain/fcm/api/FcmController.java b/src/main/java/com/depromeet/stonebed/domain/fcm/api/FcmController.java index 84429fac..e77ef9a8 100644 --- a/src/main/java/com/depromeet/stonebed/domain/fcm/api/FcmController.java +++ b/src/main/java/com/depromeet/stonebed/domain/fcm/api/FcmController.java @@ -13,6 +13,7 @@ import jakarta.validation.Valid; import jakarta.validation.constraints.Min; import jakarta.validation.constraints.NotNull; +import java.util.List; import lombok.RequiredArgsConstructor; import org.springframework.http.ResponseEntity; import org.springframework.validation.annotation.Validated; @@ -41,7 +42,8 @@ public ResponseEntity pushMessageToAll( Notification notification = FcmNotificationUtil.buildNotification( fcmSendRequest.title(), fcmSendRequest.body()); - fcmService.sendMulticastMessageToAll(notification); + List tokens = fcmTokenService.getAllTokens(); + fcmService.sendMulticastMessage(notification, tokens); return ResponseEntity.ok().build(); } diff --git a/src/main/java/com/depromeet/stonebed/domain/fcm/application/FcmScheduledService.java b/src/main/java/com/depromeet/stonebed/domain/fcm/application/FcmScheduledService.java index c7a3b6f2..71773c46 100644 --- a/src/main/java/com/depromeet/stonebed/domain/fcm/application/FcmScheduledService.java +++ b/src/main/java/com/depromeet/stonebed/domain/fcm/application/FcmScheduledService.java @@ -39,8 +39,8 @@ public void sendDailyNotification() { FcmNotificationConstants notificationConstants = FcmNotificationConstants.MISSION_START; String title = notificationConstants.getTitle(); String message = notificationConstants.getMessage(); - List tokens = fcmTokenService.getAllTokens(); + fcmNotificationService.sendAndNotifications(title, message, tokens); log.info("모든 사용자에게 정규 알림 전송 및 저장 완료"); diff --git a/src/main/java/com/depromeet/stonebed/domain/fcm/application/FcmService.java b/src/main/java/com/depromeet/stonebed/domain/fcm/application/FcmService.java index 91b3806c..1f81f500 100644 --- a/src/main/java/com/depromeet/stonebed/domain/fcm/application/FcmService.java +++ b/src/main/java/com/depromeet/stonebed/domain/fcm/application/FcmService.java @@ -19,20 +19,6 @@ public class FcmService { private final FcmTokenService fcmTokenService; @Transactional(readOnly = true) - public void sendMulticastMessageToAll(Notification notification) { - List tokens = fcmTokenService.getAllTokens(); - int totalTokens = tokens.size(); - - for (int i = 0; i < totalTokens; i += BATCH_SIZE) { - List batchTokens = tokens.subList(i, Math.min(i + BATCH_SIZE, totalTokens)); - MulticastMessage message = buildMulticastMessage(notification, batchTokens); - sendMessage(message, batchTokens); - } - - log.info("전체 메세지를 일괄 전송했습니다. 총 메세지 수: {}", totalTokens); - } - - @Transactional public void sendMulticastMessage(Notification notification, List tokens) { int totalTokens = tokens.size(); @@ -42,7 +28,7 @@ public void sendMulticastMessage(Notification notification, List tokens) sendMessage(message, batchTokens); } - log.info("리마인드 메세지를 일괄 전송했습니다. 총 메세지 수: {}", totalTokens); + log.info("전체 메세지를 일괄 전송했습니다. 총 메세지 수: {}", totalTokens); } private MulticastMessage buildMulticastMessage(Notification notification, List tokens) {