From a4976fdfa558cfa1cb217cea4b256420f59b0443 Mon Sep 17 00:00:00 2001 From: eastargh Date: Thu, 10 Sep 2026 13:20:13 +0900 Subject: [PATCH] =?UTF-8?q?UMS=20=EC=B9=B4=ED=86=A1=20=ED=85=9C=ED=94=8C?= =?UTF-8?q?=EB=A6=BF=20=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../portal/template/entity/MessageCode.java | 4 ++-- .../template/entity/MessageRequest.java | 3 +++ .../template/service/MessageSendService.java | 24 ++++++++++++------- 3 files changed, 20 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/eactive/apim/portal/template/entity/MessageCode.java b/src/main/java/com/eactive/apim/portal/template/entity/MessageCode.java index 942d6d6..bfeaa1a 100644 --- a/src/main/java/com/eactive/apim/portal/template/entity/MessageCode.java +++ b/src/main/java/com/eactive/apim/portal/template/entity/MessageCode.java @@ -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), diff --git a/src/main/java/com/eactive/apim/portal/template/entity/MessageRequest.java b/src/main/java/com/eactive/apim/portal/template/entity/MessageRequest.java index 36be55a..d2b1c99 100644 --- a/src/main/java/com/eactive/apim/portal/template/entity/MessageRequest.java +++ b/src/main/java/com/eactive/apim/portal/template/entity/MessageRequest.java @@ -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; diff --git a/src/main/java/com/eactive/apim/portal/template/service/MessageSendService.java b/src/main/java/com/eactive/apim/portal/template/service/MessageSendService.java index 324727c..00382fc 100644 --- a/src/main/java/com/eactive/apim/portal/template/service/MessageSendService.java +++ b/src/main/java/com/eactive/apim/portal/template/service/MessageSendService.java @@ -38,21 +38,21 @@ public class MessageSendService { @Transactional public List sendMessage(MessageCode messageCode, MessageRecipient recipient, Map messageParams) { - return processMessage(messageCode.name(), recipient, messageParams); + return processMessage(messageCode, recipient, messageParams); } - private List processMessage(String messageCode, MessageRecipient recipient, Map messageParams) { + private List processMessage(MessageCode messageCode, MessageRecipient recipient, Map messageParams) { - Optional template = messageTemplateRepository.findById(messageCode.toUpperCase()); + Optional template = messageTemplateRepository.findById(messageCode.name().toUpperCase()); List created = new ArrayList<>(); if (template.isPresent()) { List 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 processSingleRecipient(MessageRecipient user, MessageTemplate template, Map messageParams) { + public List processSingleRecipient(MessageRecipient user, MessageTemplate template, Map messageParams, MessageCode messageCode) { Map 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));