diff --git a/src/main/java/org/terning/fcm/application/FcmPushSenderImpl.java b/src/main/java/org/terning/fcm/application/FcmPushSenderImpl.java index 068369a..79539af 100644 --- a/src/main/java/org/terning/fcm/application/FcmPushSenderImpl.java +++ b/src/main/java/org/terning/fcm/application/FcmPushSenderImpl.java @@ -6,6 +6,7 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import org.terning.message.domain.enums.ViewType; import org.terning.notification.domain.Notification; import org.terning.user.domain.User; @@ -20,8 +21,12 @@ public boolean send(Notification notification) { User user = notification.getUser(); String token = user.getToken().value(); + ViewType viewType = ViewType.fromTemplate(notification.getMessage().getMessageTemplateType()); + Message fcmMessage = Message.builder() .setToken(token) + .putData("token", token) + .putData("type", notification.getMessage().getViewType()) .putData("title", notification.getMessage().getMain()) .putData("body", notification.getMessage().getSub()) .build(); diff --git a/src/main/java/org/terning/message/domain/Message.java b/src/main/java/org/terning/message/domain/Message.java index c58cfbb..39db0c3 100644 --- a/src/main/java/org/terning/message/domain/Message.java +++ b/src/main/java/org/terning/message/domain/Message.java @@ -6,6 +6,7 @@ import lombok.NoArgsConstructor; import org.terning.global.entity.BaseEntity; import org.terning.message.domain.enums.MessageTemplateType; +import org.terning.message.domain.enums.ViewType; @Entity @Getter @@ -23,14 +24,17 @@ public class Message extends BaseEntity { private String sub; - private Message(MessageTemplateType messageTemplateType, String main, String sub) { + private String viewType; + + private Message(MessageTemplateType messageTemplateType, String main, String sub, String viewType) { this.messageTemplateType = messageTemplateType; this.main = main; this.sub = sub; + this.viewType = viewType; } public static Message of(MessageTemplateType messageTemplateType, String main, String sub) { - return new Message(messageTemplateType, main, sub); + return new Message(messageTemplateType, main, sub, ViewType.fromTemplate(messageTemplateType).name()); } public boolean isSameType(MessageTemplateType other) { diff --git a/src/main/java/org/terning/message/domain/enums/ViewType.java b/src/main/java/org/terning/message/domain/enums/ViewType.java new file mode 100644 index 0000000..96682ea --- /dev/null +++ b/src/main/java/org/terning/message/domain/enums/ViewType.java @@ -0,0 +1,15 @@ +package org.terning.message.domain.enums; + +public enum ViewType { + CALENDAR, + HOME, + SEARCH; + + public static ViewType fromTemplate(MessageTemplateType tmpl) { + return switch (tmpl) { + case INTERESTED_ANNOUNCEMENT_REMINDER -> CALENDAR; + case RECENTLY_POSTED_INTERNSHIP_RECOMMENDATION -> HOME; + case TRENDING_INTERNSHIP_ALERT -> SEARCH; + }; + } +}