diff --git a/src/main/java/itn/com/cmm/util/MsgSendUtils.java b/src/main/java/itn/com/cmm/util/MsgSendUtils.java index 9673b365..a3cbcf87 100644 --- a/src/main/java/itn/com/cmm/util/MsgSendUtils.java +++ b/src/main/java/itn/com/cmm/util/MsgSendUtils.java @@ -205,11 +205,14 @@ public final class MsgSendUtils { */ public static Boolean populateSendLists(MjonMsgVO mjonMsgVO, List mjonMsgSendListVO , StatusResponse statusResponse, List resultSpamTxt - , Map agentSendCounts, List sendRateList, boolean isHolidayNotified, String smishingYn) throws Exception{ + , Map agentSendCounts, List sendRateList, boolean isHolidayNotified, UserManageVO userManageVO) throws Exception{ + + log.info(" :: populateSendLists :: "); - - + + String smishingYn = userManageVO.getSmishingYn(); + String exceptSpamYn = userManageVO.getExceptSpamYn(); // 예약 시간 기본값 설정 @@ -303,7 +306,7 @@ public final class MsgSendUtils { // 치환 문자가 아닌 경우 if (!replaceYN) { // 스팸 체크와 메시지 타입 체크 각각 한 번만 수행 - if (!hasPerformedSpamCheck) { + if (!hasPerformedSpamCheck && "N".equals(exceptSpamYn)) { checkSpamAndSetStatus(mjonMsgVO, smsSpamChkTxt, resultSpamTxt, isHolidayNotified); hasPerformedSpamCheck = true; } @@ -319,7 +322,7 @@ public final class MsgSendUtils { else {// 치환 문자인 경우 // 스팸 체크는 `spamChkSize`만큼 반복 수행 - if (sampleCounter < spamChkSize && !"Y".equals(mjonMsgVO.getSpamStatus())) { + if (sampleCounter < spamChkSize && !"Y".equals(mjonMsgVO.getSpamStatus()) && "N".equals(exceptSpamYn)) { checkSpamAndSetStatus(mjonMsgVO, smsSpamChkTxt, resultSpamTxt, isHolidayNotified); sampleCounter++; } diff --git a/src/main/java/itn/let/mjo/msgdata/service/impl/MjonMsgDataServiceImpl.java b/src/main/java/itn/let/mjo/msgdata/service/impl/MjonMsgDataServiceImpl.java index 71e736fc..8110a76a 100644 --- a/src/main/java/itn/let/mjo/msgdata/service/impl/MjonMsgDataServiceImpl.java +++ b/src/main/java/itn/let/mjo/msgdata/service/impl/MjonMsgDataServiceImpl.java @@ -4076,7 +4076,7 @@ public class MjonMsgDataServiceImpl extends EgovAbstractServiceImpl implements M * 전송사 코드 셋팅 */ if (!MsgSendUtils.populateSendLists(mjonMsgVO, mjonMsgSendVOList, statusResponse, resultSpamTxt, - agentSendCounts, sendRateList, isHolidayNotified, userManageVO.getSmishingYn())) { + agentSendCounts, sendRateList, isHolidayNotified, userManageVO)) { ; // 문자 치환 후 전송 문자 길이를 초과하였습니다. // 문자 치환 중 오류가 발생하였습니다. diff --git a/src/main/java/itn/let/uss/umt/service/UserManageVO.java b/src/main/java/itn/let/uss/umt/service/UserManageVO.java index be544c1f..25a68350 100644 --- a/src/main/java/itn/let/uss/umt/service/UserManageVO.java +++ b/src/main/java/itn/let/uss/umt/service/UserManageVO.java @@ -218,6 +218,8 @@ public class UserManageVO extends UserDefaultVO{ private String nextPayMethod; private float paymentCash; //이전달에 실제 사용한 캐시 정보 + private String exceptSpamYn; //금지어 예외여부 온(on) - Y, 오프(off) - N + public UserManageVO(String userId) { diff --git a/src/main/resources/egovframework/sqlmap/let/uss/umt/EgovUserManage_SQL_Mysql.xml b/src/main/resources/egovframework/sqlmap/let/uss/umt/EgovUserManage_SQL_Mysql.xml index 1029ce20..35067b05 100644 --- a/src/main/resources/egovframework/sqlmap/let/uss/umt/EgovUserManage_SQL_Mysql.xml +++ b/src/main/resources/egovframework/sqlmap/let/uss/umt/EgovUserManage_SQL_Mysql.xml @@ -1318,6 +1318,7 @@ ,AUTO_CASH AS autoCash ,IFNULL(BLINE_CODE, 'N') AS blineCode ,IFNULL(RECOMMEND_ID, '') AS recommendId + ,EXCEPT_SPAM_YN AS exceptSpamYn FROM LETTNGNRLMBER WHERE