- 인증 이벤트 매핑 추가: 이메일/휴대폰 인증번호 DB 변수 설정
eapim-portal CI (from elink-portal-common) / build (push) Has been cancelled
eapim-portal CI (from elink-portal-common) / build (push) Has been cancelled
- 초대 관련 이벤트 매핑 개선: %ORG_NAME% 변수 지원 추가 - 메시지 발송 공통 변수 자동 주입 로직 추가
This commit is contained in:
@@ -25,6 +25,8 @@ public class UserInvitationCancelEvent implements MessageEventHandler {
|
|||||||
Map<String, String> requestParams = new HashMap<>();
|
Map<String, String> requestParams = new HashMap<>();
|
||||||
requestParams.put("corpName", params.get("corpName").toString());
|
requestParams.put("corpName", params.get("corpName").toString());
|
||||||
requestParams.put("managerName", params.get("managerName").toString());
|
requestParams.put("managerName", params.get("managerName").toString());
|
||||||
|
// DB 템플릿 USER_INVITATION_CANCELED SMS 변수(%ORG_NAME%)에 매핑
|
||||||
|
requestParams.put("ORG_NAME", params.get("corpName").toString());
|
||||||
return new MessageSendEvent(source, KEY, recipient, requestParams);
|
return new MessageSendEvent(source, KEY, recipient, requestParams);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -26,6 +26,8 @@ public class UserInvitationEvent implements MessageEventHandler {
|
|||||||
requestParams.put("url", params.get("url").toString());
|
requestParams.put("url", params.get("url").toString());
|
||||||
requestParams.put("loginId",params.get("corpName").toString() + " 이용자");
|
requestParams.put("loginId",params.get("corpName").toString() + " 이용자");
|
||||||
requestParams.put("authNumber", params.get("authNumber").toString());
|
requestParams.put("authNumber", params.get("authNumber").toString());
|
||||||
|
// DB 템플릿 USER_INVITATION SMS 변수(%ORG_NAME%)에 매핑 (USER_NAME 은 공통 자동주입)
|
||||||
|
requestParams.put("ORG_NAME", params.get("corpName").toString());
|
||||||
return new MessageSendEvent(source, KEY, recipient, requestParams);
|
return new MessageSendEvent(source, KEY, recipient, requestParams);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -24,7 +24,10 @@ public class UserPasswordResetEvent implements MessageEventHandler {
|
|||||||
@Override
|
@Override
|
||||||
public MessageSendEvent createEvent(Object source, MessageRecipient recipient, Map<String, Object> params) {
|
public MessageSendEvent createEvent(Object source, MessageRecipient recipient, Map<String, Object> params) {
|
||||||
Map<String, String> requestParams = new HashMap<>();
|
Map<String, String> requestParams = new HashMap<>();
|
||||||
requestParams.put("tempPassword", (String) params.get("tempPassword"));
|
String tempPassword = (String) params.get("tempPassword");
|
||||||
|
requestParams.put("tempPassword", tempPassword);
|
||||||
|
// DB 템플릿 USER_PASSWORD_RESET SMS 변수(%TEMP_PASSWORD%)에 매핑
|
||||||
|
requestParams.put("TEMP_PASSWORD", tempPassword);
|
||||||
return new MessageSendEvent(source, KEY, recipient, requestParams);
|
return new MessageSendEvent(source, KEY, recipient, requestParams);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+4
-1
@@ -23,7 +23,10 @@ public class UserVerificationEmailEvent implements MessageEventHandler {
|
|||||||
@Override
|
@Override
|
||||||
public MessageSendEvent createEvent(Object source, MessageRecipient recipient, Map<String, Object> params) {
|
public MessageSendEvent createEvent(Object source, MessageRecipient recipient, Map<String, Object> params) {
|
||||||
Map<String, String> requestParams = new HashMap<>();
|
Map<String, String> requestParams = new HashMap<>();
|
||||||
requestParams.put("authNumber", (String) params.get("authNumber"));
|
String authNumber = (String) params.get("authNumber");
|
||||||
|
requestParams.put("authNumber", authNumber);
|
||||||
|
// DB 템플릿 USER_VERIFICATION_EMAIL 변수(%AUTH_NO%)에 매핑
|
||||||
|
requestParams.put("AUTH_NO", authNumber);
|
||||||
return new MessageSendEvent(source, KEY, recipient, requestParams);
|
return new MessageSendEvent(source, KEY, recipient, requestParams);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+4
-1
@@ -24,7 +24,10 @@ public class UserVerificationMobilePhoneEvent implements MessageEventHandler {
|
|||||||
@Override
|
@Override
|
||||||
public MessageSendEvent createEvent(Object source, MessageRecipient recipient, Map<String, Object> params) {
|
public MessageSendEvent createEvent(Object source, MessageRecipient recipient, Map<String, Object> params) {
|
||||||
Map<String, String> requestParams = new HashMap<>();
|
Map<String, String> requestParams = new HashMap<>();
|
||||||
requestParams.put("authNumber", (String) params.get("authNumber"));
|
String authNumber = (String) params.get("authNumber");
|
||||||
|
requestParams.put("authNumber", authNumber);
|
||||||
|
// DB 템플릿 USER_VERIFICATION_MOBILEPHONE SMS 변수(%AUTH_CODE%)에 매핑
|
||||||
|
requestParams.put("AUTH_CODE", authNumber);
|
||||||
return new MessageSendEvent(source, KEY, recipient, requestParams);
|
return new MessageSendEvent(source, KEY, recipient, requestParams);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -10,83 +10,47 @@ public enum MessageCode {
|
|||||||
|
|
||||||
|
|
||||||
// 사용자 이벤트 영역
|
// 사용자 이벤트 영역
|
||||||
USER_VERIFICATION_EMAIL("이메일 주소 인증", "FM_APIM001", Channels.EMAIL),
|
USER_VERIFICATION_EMAIL("이메일 주소 인증", null, Channels.EMAIL),
|
||||||
USER_VERIFICATION_MOBILEPHONE("휴대폰 번호 인증", "S55_ICT_0006", Channels.KAKAO_ALIMTALK),
|
USER_VERIFICATION_MOBILEPHONE("휴대폰 번호 인증", null, Channels.KAKAO_ALIMTALK),
|
||||||
|
|
||||||
USER_PASSWORD_RESET("비밀번호 재설정", "FM_APIM002", Channels.EMAIL),
|
USER_PASSWORD_RESET("비밀번호 재설정", null, Channels.KAKAO_ALIMTALK),
|
||||||
USER_PASSWORD_CHANGED("사용자 비밀번호 변경", "FM_APIM003", Channels.EMAIL),
|
USER_PASSWORD_CHANGED("사용자 비밀번호 변경", null, Channels.KAKAO_ALIMTALK),
|
||||||
|
|
||||||
USER_ACCOUNT_LOCKED("계정 잠금 알림", "FM_APIM004", Channels.EMAIL),
|
USER_ACCOUNT_LOCKED("계정 잠금 알림", null, Channels.KAKAO_ALIMTALK),
|
||||||
|
|
||||||
// 법인관리자 이벤트 영역
|
// 법인관리자 이벤트 영역
|
||||||
USER_INVITATION("법인 이용자 이메일 초대", "FM_APIM005", Channels.EMAIL),
|
USER_INVITATION("법인 이용자 이메일 초대", null, Channels.KAKAO_ALIMTALK),
|
||||||
USER_INVITATION_CANCELED("법인 이용자 이메일 초대 취소", "FM_APIM006", Channels.EMAIL),
|
USER_INVITATION_CANCELED("법인 이용자 이메일 초대 취소", null, Channels.KAKAO_ALIMTALK),
|
||||||
|
|
||||||
MANAGER_WITH_ORG_REGISTER_APPROVED("법인관리자 및 법인 등록 승인", "FM_APIM007", Channels.EMAIL),
|
MANAGER_WITH_ORG_REGISTER_APPROVED("법인관리자 및 법인 등록 승인", null, Channels.KAKAO_ALIMTALK),
|
||||||
MANAGER_WITH_ORG_REGISTER_REJECTED("법인관리자 및 법인 등록 거절", "FM_APIM008", Channels.EMAIL),
|
MANAGER_WITH_ORG_REGISTER_REJECTED("법인관리자 및 법인 등록 거절", null, Channels.KAKAO_ALIMTALK),
|
||||||
|
|
||||||
// 관리자 영역
|
// 관리자 영역
|
||||||
APP_REGISTER_APPROVED("앱 등록 승인", "FM_APIM009", Channels.EMAIL),
|
APP_APPROVE("앱 사용 승인", null, Channels.KAKAO_ALIMTALK),
|
||||||
APP_REGISTER_REJECTED("앱 등록 거절", "FM_APIM010", Channels.EMAIL),
|
APP_REJECTED("앱 사용 거절", null, Channels.KAKAO_ALIMTALK),
|
||||||
|
|
||||||
// Q&A 등록/댓글 등록 알림 (DJBank 커스텀 — portal-admin 수신)
|
// Q&A 등록/댓글 등록 알림 (DJBank 커스텀 — portal-admin 수신)
|
||||||
INQUIRY_CREATED("Q&A 등록 알림", null, Channels.NONE),
|
INQUIRY_CREATED("Q&A 등록 알림", null, Channels.SWING),
|
||||||
INQUIRY_COMMENT_CREATED("Q&A 댓글 등록 알림", null, Channels.NONE),
|
INQUIRY_COMMENT_CREATED("Q&A 댓글 등록 알림", null, Channels.SWING),
|
||||||
|
PARTNERSHIP_CREATED("개선요청/제휴 게시물 등록 알림", null, Channels.SWING),
|
||||||
|
|
||||||
// 제주은행
|
// 제주은행
|
||||||
API_STATUS_CHANGED("API 상태 변화", "FM_APIM011", Channels.SWING),
|
API_STATUS_CHANGED("API 상태 변화", null, Channels.SWING),
|
||||||
INFLOW_TOKEN_FAILED("유량제어 토큰 획득 실패", "FM_APIM012", Channels.SWING),
|
INFLOW_TOKEN_FAILED("유량제어 토큰 획득 실패", null, Channels.SWING),
|
||||||
ADMIN_VERIFICATION_MOBILEPHONE("관리자포탈 휴대폰 번호 인증", "FM_APIM013", Channels.KAKAO_ALIMTALK),
|
ADMIN_VERIFICATION_MOBILEPHONE("관리자포탈 휴대폰 번호 인증", null, Channels.KAKAO_ALIMTALK),
|
||||||
|
|
||||||
|
// 레거시/미사용 — Event 핸들러 클래스 호환을 위해 유지 (실제 발송 없음)
|
||||||
// 미 사용, 미 분류
|
|
||||||
@Deprecated
|
|
||||||
API_APPROVED("API 승인 알림", null, Channels.NONE),
|
API_APPROVED("API 승인 알림", null, Channels.NONE),
|
||||||
|
|
||||||
@Deprecated
|
|
||||||
API_REJECTED("API 거절 알림", null, Channels.NONE),
|
|
||||||
|
|
||||||
@Deprecated
|
|
||||||
APP_REGISTER("앱 등록 완료", null, Channels.NONE),
|
|
||||||
|
|
||||||
@Deprecated
|
|
||||||
USER_MANAGER_ASSIGNED("관리자 권한 부여", null, Channels.NONE),
|
|
||||||
|
|
||||||
@Deprecated
|
|
||||||
REQUEST_AUTH_NUMBER("인증번호 요청", null, Channels.NONE),
|
|
||||||
|
|
||||||
@Deprecated
|
|
||||||
USER_WITHDRAWAL_APPROVED("계정 비활성화", null, Channels.NONE),
|
|
||||||
|
|
||||||
@Deprecated
|
|
||||||
USER_ACTIVATION("사용자 활성화 완료", null, Channels.NONE), // 이게 왜...이메일 인증인건데........
|
|
||||||
|
|
||||||
@Deprecated
|
|
||||||
APP_REGISTER_REQUEST("앱 등록 요청", null, Channels.NONE),
|
APP_REGISTER_REQUEST("앱 등록 요청", null, Channels.NONE),
|
||||||
|
APP_REGISTER_REJECTED("앱 등록 거절", null, Channels.NONE),
|
||||||
@Deprecated
|
|
||||||
UNKNOWN_ERROR("알수 없는 에러 발생", null, Channels.NONE),
|
UNKNOWN_ERROR("알수 없는 에러 발생", null, Channels.NONE),
|
||||||
|
|
||||||
@Deprecated
|
|
||||||
PASSWORD_RESET_COMPLETE("비밀번호 변경 완료", null, Channels.NONE),
|
|
||||||
|
|
||||||
@Deprecated
|
|
||||||
REQUEST_PASSWORD_RESET("비밀번호 초기화 요청", null, Channels.NONE),
|
|
||||||
|
|
||||||
@Deprecated // 정확한 용도 모름
|
|
||||||
USER_REGISTRATION_APPROVED("사용자 등록 승인 완료", null, Channels.NONE),
|
|
||||||
|
|
||||||
@Deprecated // 정확한 용도 모름
|
|
||||||
USER_REGISTRATION_DENIED("사용자 등록 거절", null, Channels.NONE),
|
|
||||||
|
|
||||||
|
|
||||||
@Deprecated // 정확한 용도 모름
|
|
||||||
USER_REGISTRATION_REQUEST_ADMIN("사용자 등록 승인 요청", null, Channels.NONE),
|
USER_REGISTRATION_REQUEST_ADMIN("사용자 등록 승인 요청", null, Channels.NONE),
|
||||||
|
USER_REGISTRATION_DENIED("사용자 등록 거절", null, Channels.NONE),
|
||||||
@Deprecated // 정확한 용도 모름
|
|
||||||
USER_REGISTRATION_REQUEST_USER("사용자 등록 요청 완료", null, Channels.NONE),
|
USER_REGISTRATION_REQUEST_USER("사용자 등록 요청 완료", null, Channels.NONE),
|
||||||
|
REQUEST_PASSWORD_RESET("비밀번호 초기화 요청", null, Channels.NONE),
|
||||||
@Deprecated
|
USER_MANAGER_ASSIGNED("관리자 권한 부여", null, Channels.NONE),
|
||||||
|
USER_REGISTRATION_APPROVED("사용자 등록 승인 완료", null, Channels.NONE),
|
||||||
|
PASSWORD_RESET_COMPLETE("비밀번호 변경 완료", null, Channels.NONE),
|
||||||
INQUIRY_RESPONSE("QnA 답변 작성", null, Channels.NONE)
|
INQUIRY_RESPONSE("QnA 답변 작성", null, Channels.NONE)
|
||||||
;
|
;
|
||||||
|
|
||||||
|
|||||||
@@ -130,10 +130,14 @@ public class MessageSendService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void updateMessageParams(MessageRecipient user, Map<String, String> messageParams) {
|
private void updateMessageParams(MessageRecipient user, Map<String, String> messageParams) {
|
||||||
|
// 공통 자동주입. 대문자 별칭(USER_ID/USER_NAME)은 DB 템플릿 변수 표기와 맞춘다.
|
||||||
|
// putIfAbsent 이므로 개별 이벤트(createEvent)가 먼저 넣은 값이 있으면 그대로 둔다(오버라이드).
|
||||||
messageParams.put("userId", user.getUserId());
|
messageParams.put("userId", user.getUserId());
|
||||||
|
messageParams.putIfAbsent("USER_ID", user.getUserId());
|
||||||
|
|
||||||
if (StringUtils.hasText(user.getUsername())) {
|
if (StringUtils.hasText(user.getUsername())) {
|
||||||
messageParams.put("userName", user.getUsername());
|
messageParams.put("userName", user.getUsername());
|
||||||
|
messageParams.putIfAbsent("USER_NAME", user.getUsername());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user