diff --git a/src/main/java/com/eactive/apim/portal/qna/event/InquiryCommentCreatedEvent.java b/src/main/java/com/eactive/apim/portal/qna/event/InquiryCommentCreatedEvent.java new file mode 100644 index 0000000..27f404d --- /dev/null +++ b/src/main/java/com/eactive/apim/portal/qna/event/InquiryCommentCreatedEvent.java @@ -0,0 +1,56 @@ +package com.eactive.apim.portal.qna.event; + +import com.eactive.apim.portal.template.entity.MessageCode; +import com.eactive.apim.portal.template.service.MessageEventHandler; +import com.eactive.apim.portal.template.service.MessageRecipient; +import com.eactive.apim.portal.template.service.MessageSendEvent; +import org.springframework.stereotype.Component; + +import java.util.HashMap; +import java.util.Map; + +@Component +public class InquiryCommentCreatedEvent implements MessageEventHandler { + + public static final MessageCode KEY = MessageCode.INQUIRY_COMMENT_CREATED; + + @Override + public MessageCode getKey() { + return KEY; + } + + @Override + public boolean allowAdditionalRecipients() { + return true; + } + + @Override + public String getDisplayName() { + return "Q&A 댓글 등록 알림"; + } + + @Override + public String getDescription() { + return "
사용 가능 변수:

" + + "
- userName: 수신자 이름

" + + "
- userId: 수신자 ID

" + + "
- inquiryId: 문의 ID

" + + "
- inquirySubject: 문의 제목

" + + "
- commentContent: 댓글 본문

" + + "
- writerName: 작성자 이름

"; + } + + @Override + public MessageSendEvent createEvent(Object source, MessageRecipient recipient, Map params) { + Map requestParams = new HashMap<>(); + requestParams.put("inquiryId", toStr(params.get("inquiryId"))); + requestParams.put("inquirySubject", toStr(params.get("inquirySubject"))); + requestParams.put("commentContent", toStr(params.get("commentContent"))); + requestParams.put("writerName", toStr(params.get("writerName"))); + return new MessageSendEvent(source, KEY, recipient, requestParams); + } + + private String toStr(Object value) { + return value == null ? "" : value.toString(); + } +} diff --git a/src/main/java/com/eactive/apim/portal/qna/event/InquiryCreatedEvent.java b/src/main/java/com/eactive/apim/portal/qna/event/InquiryCreatedEvent.java index 24b370a..908e225 100644 --- a/src/main/java/com/eactive/apim/portal/qna/event/InquiryCreatedEvent.java +++ b/src/main/java/com/eactive/apim/portal/qna/event/InquiryCreatedEvent.java @@ -23,11 +23,21 @@ public class InquiryCreatedEvent implements MessageEventHandler { @Override public MessageSendEvent createEvent(Object source, MessageRecipient recipient, Map params) { Map requestParams = new HashMap<>(); - requestParams.put("inquiryId", (String) params.get("inquiryId")); - requestParams.put("subject", (String) params.get("subject")); + String subject = toStr(params.get("inquirySubject")); + if (subject.isEmpty()) { + subject = toStr(params.get("subject")); + } + requestParams.put("inquiryId", toStr(params.get("inquiryId"))); + requestParams.put("inquirySubject", subject); + requestParams.put("subject", subject); + requestParams.put("writerName", toStr(params.get("writerName"))); return new MessageSendEvent(source, KEY, recipient, requestParams); } + private String toStr(Object value) { + return value == null ? "" : value.toString(); + } + @Override public MessageCode getKey() { return KEY; @@ -44,7 +54,9 @@ public class InquiryCreatedEvent implements MessageEventHandler { + "
- userName: 수신자 이름

" + "
- userId: 수신자 ID (이메일)

" + "
- inquiryId: 질문 ID

" - + "
- subject: 제목

"; + + "
- inquirySubject: 질문 제목

" + + "
- subject: 질문 제목 (별칭)

" + + "
- writerName: 작성자 이름

"; } }