이호영 이호영 2025-01-06
금지어 예외처리 슬렉 알림 추가
@04c8475bc748ddaf63f6498851870f084591bd0a
src/main/java/itn/com/cmm/util/MsgSendUtils.java
--- src/main/java/itn/com/cmm/util/MsgSendUtils.java
+++ src/main/java/itn/com/cmm/util/MsgSendUtils.java
@@ -205,11 +205,14 @@
 	 */
 	public static Boolean populateSendLists(MjonMsgVO mjonMsgVO, List<MjonMsgSendVO> mjonMsgSendListVO
 			, StatusResponse statusResponse, List<String> resultSpamTxt
-			, Map<String, Integer> agentSendCounts, List<MjonMsgVO> sendRateList, boolean isHolidayNotified, String smishingYn) throws Exception{
+			, Map<String, Integer> agentSendCounts, List<MjonMsgVO> sendRateList, boolean isHolidayNotified, UserManageVO userManageVO) throws Exception{
+		
+		
 		
 		log.info(" :: populateSendLists :: ");
-		
-		
+
+		String smishingYn = userManageVO.getSmishingYn();
+		String exceptSpamYn = userManageVO.getExceptSpamYn();
 
 
 		// 예약 시간 기본값 설정
@@ -303,7 +306,7 @@
 			// 치환 문자가 아닌 경우
 			if (!replaceYN) {
 				// 스팸 체크와 메시지 타입 체크 각각 한 번만 수행
-				if (!hasPerformedSpamCheck) {
+				if (!hasPerformedSpamCheck && "N".equals(exceptSpamYn)) {
 					checkSpamAndSetStatus(mjonMsgVO, smsSpamChkTxt, resultSpamTxt, isHolidayNotified);
 					hasPerformedSpamCheck = true;
 				}
@@ -319,7 +322,7 @@
 			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++;
 				}
src/main/java/itn/let/mjo/msgdata/service/impl/MjonMsgDataServiceImpl.java
--- src/main/java/itn/let/mjo/msgdata/service/impl/MjonMsgDataServiceImpl.java
+++ src/main/java/itn/let/mjo/msgdata/service/impl/MjonMsgDataServiceImpl.java
@@ -4076,7 +4076,7 @@
 		 *              전송사 코드 셋팅
 		 */
 		if (!MsgSendUtils.populateSendLists(mjonMsgVO, mjonMsgSendVOList, statusResponse, resultSpamTxt,
-				agentSendCounts, sendRateList, isHolidayNotified, userManageVO.getSmishingYn())) {
+				agentSendCounts, sendRateList, isHolidayNotified, userManageVO)) {
 			;
 			// 문자 치환 후 전송 문자 길이를 초과하였습니다.
 			// 문자 치환 중 오류가 발생하였습니다.
src/main/java/itn/let/uss/umt/service/UserManageVO.java
--- src/main/java/itn/let/uss/umt/service/UserManageVO.java
+++ src/main/java/itn/let/uss/umt/service/UserManageVO.java
@@ -218,6 +218,8 @@
 	private String nextPayMethod;
 	private float paymentCash;		//이전달에 실제 사용한 캐시 정보
 	
+	private String exceptSpamYn;		//금지어 예외여부 온(on) - Y, 오프(off) - N
+	
 	
 
 	public UserManageVO(String userId) {
src/main/resources/egovframework/sqlmap/let/uss/umt/EgovUserManage_SQL_Mysql.xml
--- src/main/resources/egovframework/sqlmap/let/uss/umt/EgovUserManage_SQL_Mysql.xml
+++ 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
Add a comment
List