From 09e75d847a74ced46b64bf704e0db2811e70cc6d Mon Sep 17 00:00:00 2001 From: Dltmd202 Date: Thu, 22 Aug 2024 20:27:22 +0900 Subject: [PATCH 1/2] =?UTF-8?q?feat:=20=EC=95=8C=EB=A6=BC=EC=9D=B4=20?= =?UTF-8?q?=ED=8A=B9=EC=A0=95=20=ED=82=A4=EB=A5=BC=20=EA=B0=80=EC=A7=80?= =?UTF-8?q?=EB=8F=84=EB=A1=9D=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../backgu/amaker/domain/notifiacation/Notification.kt | 6 ++++++ .../amaker/domain/notifiacation/PushNotification.kt | 8 +++++++- .../domain/notifiacation/UserFulfilledNotification.kt | 8 +++++++- .../amaker/domain/notifiacation/UserNotification.kt | 8 +++++++- .../amaker/domain/notifiacation/WorkspaceNotification.kt | 8 +++++++- .../kafka/service/KafkaNotificationEventService.kt | 2 +- 6 files changed, 35 insertions(+), 5 deletions(-) diff --git a/domain/src/main/kotlin/com/backgu/amaker/domain/notifiacation/Notification.kt b/domain/src/main/kotlin/com/backgu/amaker/domain/notifiacation/Notification.kt index d1903802..226c064e 100644 --- a/domain/src/main/kotlin/com/backgu/amaker/domain/notifiacation/Notification.kt +++ b/domain/src/main/kotlin/com/backgu/amaker/domain/notifiacation/Notification.kt @@ -5,4 +5,10 @@ import java.io.Serializable interface Notification : Serializable { val method: NotificationMethod + val keyPrefix: String + val keyValue: String + + fun getNotificationKey(): String { + return "$keyPrefix:$keyValue" + } } diff --git a/domain/src/main/kotlin/com/backgu/amaker/domain/notifiacation/PushNotification.kt b/domain/src/main/kotlin/com/backgu/amaker/domain/notifiacation/PushNotification.kt index 6257a528..79267346 100644 --- a/domain/src/main/kotlin/com/backgu/amaker/domain/notifiacation/PushNotification.kt +++ b/domain/src/main/kotlin/com/backgu/amaker/domain/notifiacation/PushNotification.kt @@ -6,4 +6,10 @@ import com.backgu.amaker.domain.user.UserDevice class PushNotification( override val method: NotificationMethod, val userDevices: List, -) : Notification +) : Notification{ + override val keyPrefix: String + get() = "PUSH" + + override val keyValue: String + get() = userDevices.first().userId +} diff --git a/domain/src/main/kotlin/com/backgu/amaker/domain/notifiacation/UserFulfilledNotification.kt b/domain/src/main/kotlin/com/backgu/amaker/domain/notifiacation/UserFulfilledNotification.kt index 6c22e169..2489a2b0 100644 --- a/domain/src/main/kotlin/com/backgu/amaker/domain/notifiacation/UserFulfilledNotification.kt +++ b/domain/src/main/kotlin/com/backgu/amaker/domain/notifiacation/UserFulfilledNotification.kt @@ -6,4 +6,10 @@ import com.backgu.amaker.domain.user.User class UserFulfilledNotification( val user: User, override val method: RealTimeNotificationMethod, -) : RealTimeBasedNotification(method) +) : RealTimeBasedNotification(method){ + override val keyPrefix: String + get() = "USER" + + override val keyValue: String + get() = user.id +} diff --git a/domain/src/main/kotlin/com/backgu/amaker/domain/notifiacation/UserNotification.kt b/domain/src/main/kotlin/com/backgu/amaker/domain/notifiacation/UserNotification.kt index 9a5ec2d2..75c4f8f9 100644 --- a/domain/src/main/kotlin/com/backgu/amaker/domain/notifiacation/UserNotification.kt +++ b/domain/src/main/kotlin/com/backgu/amaker/domain/notifiacation/UserNotification.kt @@ -5,4 +5,10 @@ import com.backgu.amaker.domain.notifiacation.method.RealTimeNotificationMethod open class UserNotification( val userId: String, override val method: RealTimeNotificationMethod, -) : RealTimeBasedNotification(method) +) : RealTimeBasedNotification(method) { + override val keyPrefix: String + get() = "USER" + + override val keyValue: String + get() = userId +} diff --git a/domain/src/main/kotlin/com/backgu/amaker/domain/notifiacation/WorkspaceNotification.kt b/domain/src/main/kotlin/com/backgu/amaker/domain/notifiacation/WorkspaceNotification.kt index 9cea6198..8963762e 100644 --- a/domain/src/main/kotlin/com/backgu/amaker/domain/notifiacation/WorkspaceNotification.kt +++ b/domain/src/main/kotlin/com/backgu/amaker/domain/notifiacation/WorkspaceNotification.kt @@ -5,4 +5,10 @@ import com.backgu.amaker.domain.notifiacation.method.RealTimeNotificationMethod open class WorkspaceNotification( open val workspaceId: Long, override val method: RealTimeNotificationMethod, -) : RealTimeBasedNotification(method) +) : RealTimeBasedNotification(method){ + override val keyPrefix: String + get() = "WORKSPACE" + + override val keyValue: String + get() = workspaceId.toString() +} diff --git a/infra/src/main/kotlin/com/backgu/amaker/infra/notification/kafka/service/KafkaNotificationEventService.kt b/infra/src/main/kotlin/com/backgu/amaker/infra/notification/kafka/service/KafkaNotificationEventService.kt index 9b299f9c..c5be8782 100644 --- a/infra/src/main/kotlin/com/backgu/amaker/infra/notification/kafka/service/KafkaNotificationEventService.kt +++ b/infra/src/main/kotlin/com/backgu/amaker/infra/notification/kafka/service/KafkaNotificationEventService.kt @@ -9,6 +9,6 @@ class KafkaNotificationEventService( private val kafkaTemplate: KafkaTemplate, ) : NotificationEventService { override fun publishNotificationEvent(notification: Notification) { - kafkaTemplate.send(KafkaConfig.NOTIFICATION_TOPIC, notification) + kafkaTemplate.send(KafkaConfig.NOTIFICATION_TOPIC, notification.getNotificationKey(), notification) } } From 2b49955b03381374630adc11298b2db842175fe4 Mon Sep 17 00:00:00 2001 From: Dltmd202 Date: Thu, 22 Aug 2024 20:44:56 +0900 Subject: [PATCH 2/2] =?UTF-8?q?fix:=20=EB=A6=B0=ED=8C=85=20=EC=97=90?= =?UTF-8?q?=EB=9F=AC=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/backgu/amaker/domain/notifiacation/PushNotification.kt | 2 +- .../amaker/domain/notifiacation/UserFulfilledNotification.kt | 2 +- .../backgu/amaker/domain/notifiacation/WorkspaceNotification.kt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/domain/src/main/kotlin/com/backgu/amaker/domain/notifiacation/PushNotification.kt b/domain/src/main/kotlin/com/backgu/amaker/domain/notifiacation/PushNotification.kt index 79267346..2dfc3db6 100644 --- a/domain/src/main/kotlin/com/backgu/amaker/domain/notifiacation/PushNotification.kt +++ b/domain/src/main/kotlin/com/backgu/amaker/domain/notifiacation/PushNotification.kt @@ -6,7 +6,7 @@ import com.backgu.amaker.domain.user.UserDevice class PushNotification( override val method: NotificationMethod, val userDevices: List, -) : Notification{ +) : Notification { override val keyPrefix: String get() = "PUSH" diff --git a/domain/src/main/kotlin/com/backgu/amaker/domain/notifiacation/UserFulfilledNotification.kt b/domain/src/main/kotlin/com/backgu/amaker/domain/notifiacation/UserFulfilledNotification.kt index 2489a2b0..7cd570a0 100644 --- a/domain/src/main/kotlin/com/backgu/amaker/domain/notifiacation/UserFulfilledNotification.kt +++ b/domain/src/main/kotlin/com/backgu/amaker/domain/notifiacation/UserFulfilledNotification.kt @@ -6,7 +6,7 @@ import com.backgu.amaker.domain.user.User class UserFulfilledNotification( val user: User, override val method: RealTimeNotificationMethod, -) : RealTimeBasedNotification(method){ +) : RealTimeBasedNotification(method) { override val keyPrefix: String get() = "USER" diff --git a/domain/src/main/kotlin/com/backgu/amaker/domain/notifiacation/WorkspaceNotification.kt b/domain/src/main/kotlin/com/backgu/amaker/domain/notifiacation/WorkspaceNotification.kt index 8963762e..fe835a82 100644 --- a/domain/src/main/kotlin/com/backgu/amaker/domain/notifiacation/WorkspaceNotification.kt +++ b/domain/src/main/kotlin/com/backgu/amaker/domain/notifiacation/WorkspaceNotification.kt @@ -5,7 +5,7 @@ import com.backgu.amaker.domain.notifiacation.method.RealTimeNotificationMethod open class WorkspaceNotification( open val workspaceId: Long, override val method: RealTimeNotificationMethod, -) : RealTimeBasedNotification(method){ +) : RealTimeBasedNotification(method) { override val keyPrefix: String get() = "WORKSPACE"