diff --git a/src/main/java/com/eactive/apim/portal/partnership/event/PartnershipCreatedEvent.java b/src/main/java/com/eactive/apim/portal/partnership/event/PartnershipCreatedEvent.java new file mode 100644 index 0000000..cb8824a --- /dev/null +++ b/src/main/java/com/eactive/apim/portal/partnership/event/PartnershipCreatedEvent.java @@ -0,0 +1,60 @@ +package com.eactive.apim.portal.partnership.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 PartnershipCreatedEvent implements MessageEventHandler { + + public static final MessageCode KEY = MessageCode.PARTNERSHIP_CREATED; + + @Override + public boolean allowAdditionalRecipients() { + return true; + } + + @Override + public MessageSendEvent createEvent(Object source, MessageRecipient recipient, Map params) { + Map requestParams = new HashMap<>(); + String subject = toStr(params.get("bizSubject")); + if (subject.isEmpty()) { + subject = toStr(params.get("subject")); + } + requestParams.put("partnershipId", toStr(params.get("partnershipId"))); + requestParams.put("bizSubject", 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; + } + + @Override + public String getDisplayName() { + return "개선요청/제휴 게시물 등록"; + } + + @Override + public String getDescription() { + return "
사용 가능 변수:

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

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

" + + "
- partnershipId: 신청 ID

" + + "
- bizSubject: 신청 제목

" + + "
- subject: 신청 제목 (별칭)

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

"; + } +}