diff --git a/src/main/java/com/eactive/apim/portal/invitation/event/UserInvitationCancelEvent.java b/src/main/java/com/eactive/apim/portal/invitation/event/UserInvitationCancelEvent.java index 2c14801..a606c56 100644 --- a/src/main/java/com/eactive/apim/portal/invitation/event/UserInvitationCancelEvent.java +++ b/src/main/java/com/eactive/apim/portal/invitation/event/UserInvitationCancelEvent.java @@ -25,6 +25,8 @@ public class UserInvitationCancelEvent implements MessageEventHandler { Map requestParams = new HashMap<>(); requestParams.put("corpName", params.get("corpName").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); } diff --git a/src/main/java/com/eactive/apim/portal/invitation/event/UserInvitationEvent.java b/src/main/java/com/eactive/apim/portal/invitation/event/UserInvitationEvent.java index ecf3455..49f53a7 100644 --- a/src/main/java/com/eactive/apim/portal/invitation/event/UserInvitationEvent.java +++ b/src/main/java/com/eactive/apim/portal/invitation/event/UserInvitationEvent.java @@ -26,6 +26,8 @@ public class UserInvitationEvent implements MessageEventHandler { requestParams.put("url", params.get("url").toString()); requestParams.put("loginId",params.get("corpName").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); } diff --git a/src/main/java/com/eactive/apim/portal/portaluser/event/UserPasswordResetEvent.java b/src/main/java/com/eactive/apim/portal/portaluser/event/UserPasswordResetEvent.java index 97db5f8..ce0143c 100644 --- a/src/main/java/com/eactive/apim/portal/portaluser/event/UserPasswordResetEvent.java +++ b/src/main/java/com/eactive/apim/portal/portaluser/event/UserPasswordResetEvent.java @@ -24,7 +24,10 @@ public class UserPasswordResetEvent implements MessageEventHandler { @Override public MessageSendEvent createEvent(Object source, MessageRecipient recipient, Map params) { Map 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); } diff --git a/src/main/java/com/eactive/apim/portal/portaluser/event/UserVerificationEmailEvent.java b/src/main/java/com/eactive/apim/portal/portaluser/event/UserVerificationEmailEvent.java index c1facd5..80924fb 100644 --- a/src/main/java/com/eactive/apim/portal/portaluser/event/UserVerificationEmailEvent.java +++ b/src/main/java/com/eactive/apim/portal/portaluser/event/UserVerificationEmailEvent.java @@ -23,7 +23,10 @@ public class UserVerificationEmailEvent implements MessageEventHandler { @Override public MessageSendEvent createEvent(Object source, MessageRecipient recipient, Map params) { Map 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); } diff --git a/src/main/java/com/eactive/apim/portal/portaluser/event/UserVerificationMobilePhoneEvent.java b/src/main/java/com/eactive/apim/portal/portaluser/event/UserVerificationMobilePhoneEvent.java index dd4fa03..6f2b6ea 100644 --- a/src/main/java/com/eactive/apim/portal/portaluser/event/UserVerificationMobilePhoneEvent.java +++ b/src/main/java/com/eactive/apim/portal/portaluser/event/UserVerificationMobilePhoneEvent.java @@ -24,7 +24,10 @@ public class UserVerificationMobilePhoneEvent implements MessageEventHandler { @Override public MessageSendEvent createEvent(Object source, MessageRecipient recipient, Map params) { Map 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); } 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 52e703a..88244fd 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 @@ -10,83 +10,47 @@ public enum MessageCode { // 사용자 이벤트 영역 - USER_VERIFICATION_EMAIL("이메일 주소 인증", "FM_APIM001", Channels.EMAIL), - USER_VERIFICATION_MOBILEPHONE("휴대폰 번호 인증", "S55_ICT_0006", Channels.KAKAO_ALIMTALK), + USER_VERIFICATION_EMAIL("이메일 주소 인증", null, Channels.EMAIL), + USER_VERIFICATION_MOBILEPHONE("휴대폰 번호 인증", null, Channels.KAKAO_ALIMTALK), - USER_PASSWORD_RESET("비밀번호 재설정", "FM_APIM002", Channels.EMAIL), - USER_PASSWORD_CHANGED("사용자 비밀번호 변경", "FM_APIM003", Channels.EMAIL), + USER_PASSWORD_RESET("비밀번호 재설정", null, Channels.KAKAO_ALIMTALK), + 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_CANCELED("법인 이용자 이메일 초대 취소", "FM_APIM006", Channels.EMAIL), + USER_INVITATION("법인 이용자 이메일 초대", null, Channels.KAKAO_ALIMTALK), + USER_INVITATION_CANCELED("법인 이용자 이메일 초대 취소", null, Channels.KAKAO_ALIMTALK), - MANAGER_WITH_ORG_REGISTER_APPROVED("법인관리자 및 법인 등록 승인", "FM_APIM007", Channels.EMAIL), - MANAGER_WITH_ORG_REGISTER_REJECTED("법인관리자 및 법인 등록 거절", "FM_APIM008", Channels.EMAIL), + MANAGER_WITH_ORG_REGISTER_APPROVED("법인관리자 및 법인 등록 승인", null, Channels.KAKAO_ALIMTALK), + MANAGER_WITH_ORG_REGISTER_REJECTED("법인관리자 및 법인 등록 거절", null, Channels.KAKAO_ALIMTALK), // 관리자 영역 - APP_REGISTER_APPROVED("앱 등록 승인", "FM_APIM009", Channels.EMAIL), - APP_REGISTER_REJECTED("앱 등록 거절", "FM_APIM010", Channels.EMAIL), + APP_APPROVE("앱 사용 승인", null, Channels.KAKAO_ALIMTALK), + APP_REJECTED("앱 사용 거절", null, Channels.KAKAO_ALIMTALK), // Q&A 등록/댓글 등록 알림 (DJBank 커스텀 — portal-admin 수신) - INQUIRY_CREATED("Q&A 등록 알림", null, Channels.NONE), - INQUIRY_COMMENT_CREATED("Q&A 댓글 등록 알림", null, Channels.NONE), + INQUIRY_CREATED("Q&A 등록 알림", null, Channels.SWING), + INQUIRY_COMMENT_CREATED("Q&A 댓글 등록 알림", null, Channels.SWING), + PARTNERSHIP_CREATED("개선요청/제휴 게시물 등록 알림", null, Channels.SWING), // 제주은행 - API_STATUS_CHANGED("API 상태 변화", "FM_APIM011", Channels.SWING), - INFLOW_TOKEN_FAILED("유량제어 토큰 획득 실패", "FM_APIM012", Channels.SWING), - ADMIN_VERIFICATION_MOBILEPHONE("관리자포탈 휴대폰 번호 인증", "FM_APIM013", Channels.KAKAO_ALIMTALK), + API_STATUS_CHANGED("API 상태 변화", null, Channels.SWING), + INFLOW_TOKEN_FAILED("유량제어 토큰 획득 실패", null, Channels.SWING), + ADMIN_VERIFICATION_MOBILEPHONE("관리자포탈 휴대폰 번호 인증", null, Channels.KAKAO_ALIMTALK), - - // 미 사용, 미 분류 - @Deprecated + // 레거시/미사용 — Event 핸들러 클래스 호환을 위해 유지 (실제 발송 없음) 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), - - @Deprecated + APP_REGISTER_REJECTED("앱 등록 거절", 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), - - @Deprecated // 정확한 용도 모름 + USER_REGISTRATION_DENIED("사용자 등록 거절", null, Channels.NONE), USER_REGISTRATION_REQUEST_USER("사용자 등록 요청 완료", null, Channels.NONE), - - @Deprecated + REQUEST_PASSWORD_RESET("비밀번호 초기화 요청", null, Channels.NONE), + USER_MANAGER_ASSIGNED("관리자 권한 부여", null, Channels.NONE), + USER_REGISTRATION_APPROVED("사용자 등록 승인 완료", null, Channels.NONE), + PASSWORD_RESET_COMPLETE("비밀번호 변경 완료", null, Channels.NONE), INQUIRY_RESPONSE("QnA 답변 작성", null, Channels.NONE) ; 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 82e64e0..194b152 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 @@ -130,10 +130,14 @@ public class MessageSendService { } private void updateMessageParams(MessageRecipient user, Map messageParams) { + // 공통 자동주입. 대문자 별칭(USER_ID/USER_NAME)은 DB 템플릿 변수 표기와 맞춘다. + // putIfAbsent 이므로 개별 이벤트(createEvent)가 먼저 넣은 값이 있으면 그대로 둔다(오버라이드). messageParams.put("userId", user.getUserId()); + messageParams.putIfAbsent("USER_ID", user.getUserId()); if (StringUtils.hasText(user.getUsername())) { messageParams.put("userName", user.getUsername()); + messageParams.putIfAbsent("USER_NAME", user.getUsername()); } }