이메일 수신자명 처리 로직 추가 - resolveEmailUsername 메서드 구현
eapim-portal CI (from elink-portal-common) / build (push) Has been cancelled
eapim-portal CI (from elink-portal-common) / build (push) Has been cancelled
This commit is contained in:
@@ -103,7 +103,7 @@ public class MessageSendService {
|
|||||||
String emailMessage = buildMessage(template.getEmailTemplate(), messageParams);
|
String emailMessage = buildMessage(template.getEmailTemplate(), messageParams);
|
||||||
emailRequest.setMessage(emailMessage);
|
emailRequest.setMessage(emailMessage);
|
||||||
emailRequest.setRequestDate(LocalDateTime.now());
|
emailRequest.setRequestDate(LocalDateTime.now());
|
||||||
emailRequest.setUsername(user.getUsername());
|
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.setServiceId(portalProperties.get("djb.ums.email.tx_id"));
|
||||||
@@ -132,6 +132,22 @@ public class MessageSendService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PTL_MESSAGE_REQUEST.USERNAME 에 넣을 이메일 수신자명을 결정한다.
|
||||||
|
* 이메일 발송은 수신 주소(userId)의 '@' 앞 아이디 부분을 사용하고,
|
||||||
|
* 주소 형식이 아니면 기존 수신자 이름을 그대로 쓴다.
|
||||||
|
*/
|
||||||
|
private String resolveEmailUsername(MessageRecipient user) {
|
||||||
|
String address = user.getUserId();
|
||||||
|
if (StringUtils.hasText(address)) {
|
||||||
|
int atIndex = address.indexOf('@');
|
||||||
|
if (atIndex > 0) {
|
||||||
|
return address.substring(0, atIndex);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return user.getUsername();
|
||||||
|
}
|
||||||
|
|
||||||
private void updateMessageParams(MessageRecipient user, Map<String, String> messageParams) {
|
private void updateMessageParams(MessageRecipient user, Map<String, String> messageParams) {
|
||||||
// 공통 자동주입. 대문자 별칭(USER_ID/USER_NAME)은 DB 템플릿 변수 표기와 맞춘다.
|
// 공통 자동주입. 대문자 별칭(USER_ID/USER_NAME)은 DB 템플릿 변수 표기와 맞춘다.
|
||||||
// putIfAbsent 이므로 개별 이벤트(createEvent)가 먼저 넣은 값이 있으면 그대로 둔다(오버라이드).
|
// putIfAbsent 이므로 개별 이벤트(createEvent)가 먼저 넣은 값이 있으면 그대로 둔다(오버라이드).
|
||||||
|
|||||||
Reference in New Issue
Block a user