diff --git a/Whatnow-Domain/src/main/kotlin/com/depromeet/whatnow/domains/promiseactive/listener/RedisExpireEventRedisMessageListener.kt b/Whatnow-Domain/src/main/kotlin/com/depromeet/whatnow/domains/promiseactive/listener/RedisExpireEventRedisMessageListener.kt index f20896b3..036a049b 100644 --- a/Whatnow-Domain/src/main/kotlin/com/depromeet/whatnow/domains/promiseactive/listener/RedisExpireEventRedisMessageListener.kt +++ b/Whatnow-Domain/src/main/kotlin/com/depromeet/whatnow/domains/promiseactive/listener/RedisExpireEventRedisMessageListener.kt @@ -20,7 +20,7 @@ class RedisExpireEventRedisMessageListener( ) : MessageListener { @Transactional override fun onMessage(message: Message, pattern: ByteArray?) { - val event = message.toString() + val event = message.toString().replace("promiseActive:", "") val eventParts = event.split("_") if (!event.startsWith("EXPIRE_EVENT_") || eventParts.size < 6) { @@ -31,7 +31,7 @@ class RedisExpireEventRedisMessageListener( when (event) { "EXPIRE_EVENT_PROMISE_TIME_START_$promiseId" -> handlePromiseTimeStart(promiseId) "EXPIRE_EVENT_PROMISE_TIME_END_$promiseId" -> handlePromiseTimeEnd(promiseId) - "EXPIRE_EVENT_TRACKING_TIME_START_$promiseId" -> handleTrackingTimeEnd(promiseId) + "EXPIRE_EVENT_TRACKING_TIME_END_$promiseId" -> handleTrackingTimeEnd(promiseId) } } diff --git a/Whatnow-Domain/src/main/kotlin/com/depromeet/whatnow/events/handler/ImageRegisterEventHandler.kt b/Whatnow-Domain/src/main/kotlin/com/depromeet/whatnow/events/handler/ImageRegisterEventHandler.kt index 7748c293..d3fa9d45 100644 --- a/Whatnow-Domain/src/main/kotlin/com/depromeet/whatnow/events/handler/ImageRegisterEventHandler.kt +++ b/Whatnow-Domain/src/main/kotlin/com/depromeet/whatnow/events/handler/ImageRegisterEventHandler.kt @@ -46,22 +46,24 @@ class ImageRegisterEventHandler( data["imageKey"] = imageKey // 앱 알람 허용한 유저에게 알람 보내기 - when (promiseUser.promiseUserType) { - LATE -> { - fcmService.sendGroupMessageAsync( - appAlarmPermitUsers.map { user -> user.fcmNotification.fcmToken!! }, - "지각한 친구의 사진 도착", - "지각한 친구가 보낸 사진을 확인해봐!", - data, - ) - } - WAIT -> { - fcmService.sendGroupMessageAsync( - appAlarmPermitUsers.map { user -> user.fcmNotification.fcmToken!! }, - "도착한 친구들의 사진 도착", - "도착한 친구들이 보낸 사진을 확인해봐!", - data, - ) + if (appAlarmPermitUsers.isNotEmpty()) { + when (promiseUser.promiseUserType) { + LATE -> { + fcmService.sendGroupMessageAsync( + tokenList = appAlarmPermitUsers.map { user -> user.fcmNotification.fcmToken!! }, + title = "지각한 친구의 사진 도착", + content = "지각한 친구가 보낸 사진을 확인해봐!", + data = data, + ) + } + WAIT -> { + fcmService.sendGroupMessageAsync( + tokenList = appAlarmPermitUsers.map { user -> user.fcmNotification.fcmToken!! }, + title = "도착한 친구들의 사진 도착", + content = "도착한 친구들이 보낸 사진을 확인해봐!", + data = data, + ) + } } } diff --git a/Whatnow-Domain/src/main/kotlin/com/depromeet/whatnow/events/handler/InteractionFixedEventHandler.kt b/Whatnow-Domain/src/main/kotlin/com/depromeet/whatnow/events/handler/InteractionFixedEventHandler.kt index 37f2231e..fb63eaf3 100644 --- a/Whatnow-Domain/src/main/kotlin/com/depromeet/whatnow/events/handler/InteractionFixedEventHandler.kt +++ b/Whatnow-Domain/src/main/kotlin/com/depromeet/whatnow/events/handler/InteractionFixedEventHandler.kt @@ -41,10 +41,10 @@ class InteractionFixedEventHandler( if (user.fcmNotification.appAlarm) { fcmService.sendMessageAsync( - user.fcmNotification.fcmToken, - "이모지 100개 달성!", - "", - data, + token = user.fcmNotification.fcmToken, + title = "이모지 100개 달성!", + content = "", + data = data, ) } diff --git a/Whatnow-Domain/src/main/kotlin/com/depromeet/whatnow/events/handler/InteractionHistoryRegisterHandler.kt b/Whatnow-Domain/src/main/kotlin/com/depromeet/whatnow/events/handler/InteractionHistoryRegisterHandler.kt index 9ee65a8c..45f115a6 100644 --- a/Whatnow-Domain/src/main/kotlin/com/depromeet/whatnow/events/handler/InteractionHistoryRegisterHandler.kt +++ b/Whatnow-Domain/src/main/kotlin/com/depromeet/whatnow/events/handler/InteractionHistoryRegisterHandler.kt @@ -46,10 +46,10 @@ class InteractionHistoryRegisterHandler( if (targetUser.fcmNotification.appAlarm) { fcmService.sendMessageAsync( - targetUser.fcmNotification.fcmToken, - "이모지 투척!", - "from. $user.nickname", - data, + token = targetUser.fcmNotification.fcmToken, + title = "이모지 투척!", + content = "from. $user.nickname", + data = data, ) } diff --git a/Whatnow-Domain/src/main/kotlin/com/depromeet/whatnow/events/handler/PromiseActivationEventHandler.kt b/Whatnow-Domain/src/main/kotlin/com/depromeet/whatnow/events/handler/PromiseActivationEventHandler.kt index 00f0162c..1cd49377 100644 --- a/Whatnow-Domain/src/main/kotlin/com/depromeet/whatnow/events/handler/PromiseActivationEventHandler.kt +++ b/Whatnow-Domain/src/main/kotlin/com/depromeet/whatnow/events/handler/PromiseActivationEventHandler.kt @@ -24,7 +24,7 @@ class PromiseActivationEventHandler( val now = LocalDateTime.now() // 약속 시작 시간까지 남은 시간(초) - val promiseStartAndTrackingStartTime = Duration.between(now, promise.endTime.minusHours(1)).seconds + val promiseStartAndTrackingStartTime = Duration.between(now, promise.endTime.minusMinutes(30)).seconds // 약속 종료 시간까지 남은 시간(초) val promiseEndTime = Duration.between(now, promise.endTime).seconds @@ -34,6 +34,6 @@ class PromiseActivationEventHandler( promiseActiveAdapter.save(PromiseActiveRedisEntity("EXPIRE_EVENT_PROMISE_TIME_START_${promise.id}", promiseStartAndTrackingStartTime)) promiseActiveAdapter.save(PromiseActiveRedisEntity("EXPIRE_EVENT_PROMISE_TIME_END_${promise.id}", promiseEndTime)) - promiseActiveAdapter.save(PromiseActiveRedisEntity("EXPIRE_EVENT_TRACKING_TIME_START_${promise.id}", trackingEndTime)) + promiseActiveAdapter.save(PromiseActiveRedisEntity("EXPIRE_EVENT_TRACKING_TIME_END_${promise.id}", trackingEndTime)) } } diff --git a/Whatnow-Domain/src/main/kotlin/com/depromeet/whatnow/events/handler/PromiseTimeEndEventHandler.kt b/Whatnow-Domain/src/main/kotlin/com/depromeet/whatnow/events/handler/PromiseTimeEndEventHandler.kt index 4725b10d..d1c0fe9c 100644 --- a/Whatnow-Domain/src/main/kotlin/com/depromeet/whatnow/events/handler/PromiseTimeEndEventHandler.kt +++ b/Whatnow-Domain/src/main/kotlin/com/depromeet/whatnow/events/handler/PromiseTimeEndEventHandler.kt @@ -70,12 +70,14 @@ class PromiseTimeEndEventHandler( ).promiseUserType == LATE } .map { user -> user.fcmNotification.fcmToken } - fcmService.sendGroupMessageAsync( - appAlarmPermitLateUserTokens, - "TIMEOVER!", - "친구들에게 용서를 비는 사진을 보내봐!", - lateData, - ) + if (appAlarmPermitLateUserTokens.isNotEmpty()) { + fcmService.sendGroupMessageAsync( + tokenList = appAlarmPermitLateUserTokens, + title = "TIMEOVER!", + content = "친구들에게 용서를 비는 사진을 보내봐!", + data = lateData, + ) + } val waitData: MutableMap = mutableMapOf() waitData["notificationType"] = NotificationType.TIMEOVER.name @@ -89,12 +91,14 @@ class PromiseTimeEndEventHandler( ).promiseUserType == WAIT } .map { user -> user.fcmNotification.fcmToken } - fcmService.sendGroupMessageAsync( - appAlarmPermitWaitUserTokens, - "TIMEOVER!", - "친구들에게 재촉하는 사진을 보내봐!", - waitData, - ) + if (appAlarmPermitWaitUserTokens.isNotEmpty()) { + fcmService.sendGroupMessageAsync( + tokenList = appAlarmPermitWaitUserTokens, + title = "TIMEOVER!", + content = "친구들에게 재촉하는 사진을 보내봐!", + data = waitData, + ) + } // notification 저장 promiseUsers.forEach { promiseUser -> diff --git a/Whatnow-Domain/src/main/kotlin/com/depromeet/whatnow/events/handler/PromiseTimeStartEventHandler.kt b/Whatnow-Domain/src/main/kotlin/com/depromeet/whatnow/events/handler/PromiseTimeStartEventHandler.kt index d71d20d6..0663a709 100644 --- a/Whatnow-Domain/src/main/kotlin/com/depromeet/whatnow/events/handler/PromiseTimeStartEventHandler.kt +++ b/Whatnow-Domain/src/main/kotlin/com/depromeet/whatnow/events/handler/PromiseTimeStartEventHandler.kt @@ -44,12 +44,14 @@ class PromiseTimeStartEventHandler( data["promiseId"] = promiseId.toString() // 앱 알람 허용한 유저에게 알람 보내기 - fcmService.sendGroupMessageAsync( - appAlarmPermitUsers.map { user -> user.fcmNotification.fcmToken!! }, - "위치 공유 시작!", - "공유 시작! 지도를 확인해봐!", - data, - ) + if (appAlarmPermitUsers.isNotEmpty()) { + fcmService.sendGroupMessageAsync( + tokenList = appAlarmPermitUsers.map { user -> user.fcmNotification.fcmToken!! }, + title = "위치 공유 시작!", + content = "공유 시작! 지도를 확인해봐!", + data = data, + ) + } // notification 저장 users.forEach { user -> diff --git a/Whatnow-Domain/src/main/kotlin/com/depromeet/whatnow/events/handler/PromiseTrackingTimeEndEventHandler.kt b/Whatnow-Domain/src/main/kotlin/com/depromeet/whatnow/events/handler/PromiseTrackingTimeEndEventHandler.kt index 7a5612ec..6a55af43 100644 --- a/Whatnow-Domain/src/main/kotlin/com/depromeet/whatnow/events/handler/PromiseTrackingTimeEndEventHandler.kt +++ b/Whatnow-Domain/src/main/kotlin/com/depromeet/whatnow/events/handler/PromiseTrackingTimeEndEventHandler.kt @@ -27,6 +27,7 @@ class PromiseTrackingTimeEndEventHandler( @TransactionalEventListener(classes = [PromiseTrackingTimeEndEvent::class], phase = TransactionPhase.AFTER_COMMIT) fun handlePromiseTrackingTimeEndEvent(promiseTrackingTimeEndEvent: PromiseTrackingTimeEndEvent) { val promiseId = promiseTrackingTimeEndEvent.promiseId + val promise = promiseAdaptor.queryPromise(promiseId) promise.endPromise() @@ -45,12 +46,14 @@ class PromiseTrackingTimeEndEventHandler( data["promiseId"] = promiseId.toString() // 앱 알람 허용한 유저에게 알람 보내기 - fcmService.sendGroupMessageAsync( - appAlarmPermitUsers.map { user -> user.fcmNotification.fcmToken!! }, - "위치 공유 종료!", - "어떤 일이 있었는지 돌아보자!", - data, - ) + if (appAlarmPermitUsers.isNotEmpty()) { + fcmService.sendGroupMessageAsync( + tokenList = appAlarmPermitUsers.map { user -> user.fcmNotification.fcmToken!! }, + title = "위치 공유 종료!", + content = "어떤 일이 있었는지 돌아보자!", + data = data, + ) + } // notification 저장 users.forEach { user ->