이호영 이호영 2024-12-23
null 처리 오류 수정
@6d880bbdb09063ad41c90fb35d1d2e9f9e21cf77
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
@@ -284,7 +284,10 @@
 				}
 			}
 
-			String smsSpamChkTxt = smsTxt.replaceAll(String.valueOf((char) 13), "");
+			String smsSpamChkTxt = smsTxt;
+			if(StringUtils.isNotEmpty(smsTxt)) {
+				smsSpamChkTxt = smsTxt.replaceAll(String.valueOf((char) 13), "");
+			}
 
 			// == 치환 여부에 따라 처리 로직 분기 == 
 			// 치환 문자가 아닌 경우
@@ -420,32 +423,44 @@
 	}
 
 	private static void checkSpamAndSetStatus(MjonMsgVO mjonMsgVO, String personalizedSmsTxt, List<String> resultSpamTxt) throws Exception {
-		String resultParser = ComGetSpamStringParser.getSpamTextParse(personalizedSmsTxt).trim();
-		int spmCnt = 0;
-		String spmFilterTxt = "";
-
-		for (String spmTxt : resultSpamTxt) {
-			String parserStr = ComGetSpamStringParser.getSpamTextParse(spmTxt).trim();
-			if (resultParser.contains(parserStr)) {
-				spmCnt++;
-				spmFilterTxt += spmTxt + ",";
-			}
-		}
-
-		if (spmCnt > 0) { // 스팸 문자가 포함된 경우
-
-			if (StringUtil.getWordRight(spmFilterTxt.trim(), 1).equals(",")) {
-				// 처음부터 idx 만큼 잘라낸 나머지 글자 
-				spmFilterTxt = StringUtil.getWordLeft(spmFilterTxt.trim(), 1); 	
-				
-			}
-			log.info(" + spmFilterTxt :: [{}]", spmFilterTxt);
-			log.info(" + resultParser :: [{}]", resultParser);
+		
+		if(StringUtils.isNotEmpty(personalizedSmsTxt)) {
 			
-//			mjonMsgVO.setSpamKeyword(spmFilterTxt);
-			mjonMsgVO.setSpamStatus("Y");
-			mjonMsgVO.setDelayYn("Y");
-		}else {mjonMsgVO.setSpamStatus("N");}
+			String resultParser = ComGetSpamStringParser.getSpamTextParse(personalizedSmsTxt).trim();
+			int spmCnt = 0;
+			String spmFilterTxt = "";
+	
+			for (String spmTxt : resultSpamTxt) {
+				String parserStr = ComGetSpamStringParser.getSpamTextParse(spmTxt).trim();
+				if (resultParser.contains(parserStr)) {
+					spmCnt++;
+					spmFilterTxt += spmTxt + ",";
+				}
+			}
+	
+			if (spmCnt > 0) { // 스팸 문자가 포함된 경우
+	
+				if (StringUtil.getWordRight(spmFilterTxt.trim(), 1).equals(",")) {
+					// 처음부터 idx 만큼 잘라낸 나머지 글자 
+					spmFilterTxt = StringUtil.getWordLeft(spmFilterTxt.trim(), 1); 	
+					
+				}
+				log.info(" + spmFilterTxt :: [{}]", spmFilterTxt);
+				log.info(" + resultParser :: [{}]", resultParser);
+				
+	//			mjonMsgVO.setSpamKeyword(spmFilterTxt);
+				mjonMsgVO.setSpamStatus("Y");
+				mjonMsgVO.setDelayYn("Y");
+			}
+			else 
+			{
+				mjonMsgVO.setSpamStatus("N");
+			}
+			
+		}else {
+			mjonMsgVO.setSpamStatus("N");
+			
+		}
 	}
 
 	private static Boolean getReplaceYN(String smsTxtTemplate) {// 여러 치환 구문이 포함된 정규식 패턴
Add a comment
List