From 6d880bbdb09063ad41c90fb35d1d2e9f9e21cf77 Mon Sep 17 00:00:00 2001 From: "hehihoho3@gmail.com" Date: Mon, 23 Dec 2024 14:46:52 +0900 Subject: [PATCH] =?UTF-8?q?null=20=EC=B2=98=EB=A6=AC=20=EC=98=A4=EB=A5=98?= =?UTF-8?q?=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/itn/com/cmm/util/MsgSendUtils.java | 67 ++++++++++++------- 1 file changed, 41 insertions(+), 26 deletions(-) diff --git a/src/main/java/itn/com/cmm/util/MsgSendUtils.java b/src/main/java/itn/com/cmm/util/MsgSendUtils.java index 853dc97b..db216201 100644 --- a/src/main/java/itn/com/cmm/util/MsgSendUtils.java +++ b/src/main/java/itn/com/cmm/util/MsgSendUtils.java @@ -284,7 +284,10 @@ public final class MsgSendUtils { } } - 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 @@ public final class MsgSendUtils { } private static void checkSpamAndSetStatus(MjonMsgVO mjonMsgVO, String personalizedSmsTxt, List 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) {// 여러 치환 구문이 포함된 정규식 패턴