UMS 카톡 템플릿 적용

This commit is contained in:
eastargh
2026-09-10 13:20:13 +09:00
parent d86b169a6c
commit a4976fdfa5
3 changed files with 20 additions and 11 deletions
@@ -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));