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: 작성자 이름
";
}
}