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