UMS 카톡 템플릿 적용
This commit is contained in:
@@ -11,7 +11,7 @@ public enum MessageCode {
|
||||
|
||||
// 사용자 이벤트 영역
|
||||
USER_VERIFICATION_EMAIL("이메일 주소 인증", null, Channels.EMAIL),
|
||||
USER_VERIFICATION_MOBILEPHONE("휴대폰 번호 인증", null, Channels.SMS),
|
||||
USER_VERIFICATION_MOBILEPHONE("휴대폰 번호 인증", "JJB_85959019001", Channels.SMS),
|
||||
|
||||
USER_PASSWORD_RESET("비밀번호 재설정", null, Channels.SMS),
|
||||
USER_PASSWORD_CHANGED("사용자 비밀번호 변경", null, Channels.SMS),
|
||||
@@ -37,7 +37,7 @@ public enum MessageCode {
|
||||
// 제주은행
|
||||
API_STATUS_CHANGED("API 상태 변화", null, Channels.SWING),
|
||||
INFLOW_TOKEN_FAILED("유량제어 토큰 획득 실패", null, Channels.SWING),
|
||||
ADMIN_VERIFICATION_MOBILEPHONE("관리자포탈 휴대폰 번호 인증", null, Channels.SMS),
|
||||
ADMIN_VERIFICATION_MOBILEPHONE("관리자포탈 휴대폰 번호 인증", "JJB_85999019001", Channels.SMS),
|
||||
|
||||
// 레거시/미사용 — Event 핸들러 클래스 호환을 위해 유지 (실제 발송 없음)
|
||||
API_APPROVED("API 승인 알림", null, Channels.NONE),
|
||||
|
||||
@@ -86,6 +86,9 @@ public class MessageRequest implements Serializable {
|
||||
@Column(name = "eai_interface_id")
|
||||
private String eaiInterfaceId;
|
||||
|
||||
@Column(name = "eai_tx_id")
|
||||
private String eaiTxId;
|
||||
|
||||
@Column(name = "service_id")
|
||||
private String serviceId;
|
||||
|
||||
|
||||
@@ -38,21 +38,21 @@ public class MessageSendService {
|
||||
|
||||
@Transactional
|
||||
public List<MessageRequest> sendMessage(MessageCode messageCode, MessageRecipient recipient, Map<String, String> messageParams) {
|
||||
return processMessage(messageCode.name(), recipient, messageParams);
|
||||
return processMessage(messageCode, recipient, messageParams);
|
||||
}
|
||||
|
||||
private List<MessageRequest> processMessage(String messageCode, MessageRecipient recipient, Map<String, String> messageParams) {
|
||||
private List<MessageRequest> processMessage(MessageCode messageCode, MessageRecipient recipient, Map<String, String> messageParams) {
|
||||
|
||||
Optional<MessageTemplate> template = messageTemplateRepository.findById(messageCode.toUpperCase());
|
||||
Optional<MessageTemplate> template = messageTemplateRepository.findById(messageCode.name().toUpperCase());
|
||||
|
||||
List<MessageRequest> created = new ArrayList<>();
|
||||
if (template.isPresent()) {
|
||||
List<MessageRecipient> recipients = prepareRecipients(template.get(), recipient);
|
||||
for (MessageRecipient user : recipients) {
|
||||
created.addAll(processSingleRecipient(user, template.get(), messageParams));
|
||||
created.addAll(processSingleRecipient(user, template.get(), messageParams, messageCode));
|
||||
}
|
||||
} else {
|
||||
log.warn("메세지 템플릿이 존재 하지 않음 - {}", messageCode);
|
||||
log.warn("메세지 템플릿이 존재 하지 않음 - {}", messageCode.name());
|
||||
}
|
||||
return created;
|
||||
}
|
||||
@@ -72,7 +72,7 @@ public class MessageSendService {
|
||||
}
|
||||
|
||||
|
||||
public List<MessageRequest> processSingleRecipient(MessageRecipient user, MessageTemplate template, Map<String, String> messageParams) {
|
||||
public List<MessageRequest> processSingleRecipient(MessageRecipient user, MessageTemplate template, Map<String, String> messageParams, MessageCode messageCode) {
|
||||
Map<String, String> portalProperties = portalPropertyService.getPortalPropertiesAsMap("Portal");
|
||||
|
||||
updateMessageParams(user, messageParams);
|
||||
@@ -83,6 +83,7 @@ public class MessageSendService {
|
||||
|
||||
if (template.getEnableSms().equalsIgnoreCase("Y")) {
|
||||
String smsEaiInterfaceId = portalProperties.get("djb.ums.sms.if_id");
|
||||
String smsEaiTxId = portalProperties.get("djb.ums.sms.tx_id");
|
||||
MessageRequest smsRequest = new MessageRequest();
|
||||
smsRequest.setMessageCode(MessageCode.valueOf(template.getMessageCode().toUpperCase()));
|
||||
smsRequest.setSubject(subject);
|
||||
@@ -92,7 +93,8 @@ public class MessageSendService {
|
||||
smsRequest.setUsername(user.getUsername());
|
||||
smsRequest.setPhone(user.getPhone());
|
||||
smsRequest.setEaiInterfaceId(smsEaiInterfaceId);
|
||||
smsRequest.setServiceId(portalProperties.get("djb.ums.sms.tx_id"));
|
||||
smsRequest.setEaiTxId(smsEaiTxId);
|
||||
smsRequest.setServiceId(messageCode.getServiceId());
|
||||
smsRequest.setUserId(user.getUserId());
|
||||
smsRequest.setMessageType("SMS");
|
||||
created.add(messageRequestRepository.save(smsRequest));
|
||||
@@ -101,6 +103,7 @@ public class MessageSendService {
|
||||
|
||||
if (template.getEnableEmail().equalsIgnoreCase("Y")) {
|
||||
String mailEaiInterfaceId = portalProperties.get("djb.ums.email.if_id");
|
||||
String mailEaiTxId = portalProperties.get("djb.ums.email.tx_id");
|
||||
MessageRequest emailRequest = new MessageRequest();
|
||||
emailRequest.setMessageCode(MessageCode.valueOf(template.getMessageCode().toUpperCase()));
|
||||
emailRequest.setSubject(subject);
|
||||
@@ -110,7 +113,8 @@ public class MessageSendService {
|
||||
emailRequest.setUsername(resolveEmailUsername(user));
|
||||
emailRequest.setEmail(user.getUserId());
|
||||
emailRequest.setEaiInterfaceId(mailEaiInterfaceId);
|
||||
emailRequest.setServiceId(portalProperties.get("djb.ums.email.tx_id"));
|
||||
emailRequest.setEaiTxId(mailEaiTxId);
|
||||
emailRequest.setServiceId(messageCode.getServiceId());
|
||||
emailRequest.setMessageType("EMAIL");
|
||||
emailRequest.setUserId(user.getUserId());
|
||||
created.add(messageRequestRepository.save(emailRequest));
|
||||
@@ -119,6 +123,7 @@ public class MessageSendService {
|
||||
|
||||
if (template.getEnableMessenger().equalsIgnoreCase("Y")) {
|
||||
String swingEaiInterfaceId = portalProperties.get("djb.ums.messenger.if_id");
|
||||
String swingEaiTxId = portalProperties.get("djb.ums.messenger.tx_id");
|
||||
MessageRequest messengerRequest = new MessageRequest();
|
||||
messengerRequest.setMessageCode(MessageCode.valueOf(template.getMessageCode()));
|
||||
messengerRequest.setSubject(subject);
|
||||
@@ -128,7 +133,8 @@ public class MessageSendService {
|
||||
messengerRequest.setUsername(user.getUsername());
|
||||
messengerRequest.setMessengerId(user.getMessengerId());
|
||||
messengerRequest.setEaiInterfaceId(swingEaiInterfaceId);
|
||||
messengerRequest.setServiceId(portalProperties.get("djb.ums.messenger.tx_id"));
|
||||
messengerRequest.setEaiTxId(swingEaiTxId);
|
||||
messengerRequest.setServiceId(messageCode.getServiceId());
|
||||
messengerRequest.setMessageType("MESSENGER");
|
||||
messengerRequest.setUserId(user.getUserId());
|
||||
created.add(messageRequestRepository.save(messengerRequest));
|
||||
|
||||
Reference in New Issue
Block a user