From 3e88ee9889e5bc46a23dc162b91ff51e7318fe6a Mon Sep 17 00:00:00 2001 From: "hehihoho3@gmail.com" Date: Thu, 26 Dec 2024 15:09:00 +0900 Subject: [PATCH] =?UTF-8?q?=EC=82=AC=EC=9A=A9=EC=9E=90=20=EC=95=8C?= =?UTF-8?q?=EB=A6=BC=20=EC=84=A4=EC=A0=95=EC=97=90=20=EB=94=B0=EB=A5=B8=20?= =?UTF-8?q?=EC=A6=89=EC=8B=9C=20=EB=B0=9C=EC=86=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/itn/com/cmm/util/MsgSendUtils.java | 27 ++++++++----------- .../itn/let/mjo/mjocommon/MjonCommon.java | 5 ++-- .../let/mjo/msg/web/MjonMsgController.java | 10 ++++++- .../service/impl/MjonMsgDataServiceImpl.java | 21 +++++++++++---- 4 files changed, 39 insertions(+), 24 deletions(-) diff --git a/src/main/java/itn/com/cmm/util/MsgSendUtils.java b/src/main/java/itn/com/cmm/util/MsgSendUtils.java index fa13a5bc..6d58b489 100644 --- a/src/main/java/itn/com/cmm/util/MsgSendUtils.java +++ b/src/main/java/itn/com/cmm/util/MsgSendUtils.java @@ -198,12 +198,13 @@ public final class MsgSendUtils { * @param statusResponse * @param agentSendCounts * @param sendRateList + * @param isNotified * @return call by reference * @throws Exception */ public static Boolean populateSendLists(MjonMsgVO mjonMsgVO, List mjonMsgSendListVO , StatusResponse statusResponse, List resultSpamTxt - , Map agentSendCounts, List sendRateList) throws Exception{ + , Map agentSendCounts, List sendRateList, boolean isNotified) throws Exception{ log.info(" :: populateSendLists :: "); @@ -299,7 +300,7 @@ public final class MsgSendUtils { if (!replaceYN) { // 스팸 체크와 메시지 타입 체크 각각 한 번만 수행 if (!hasPerformedSpamCheck) { - checkSpamAndSetStatus(mjonMsgVO, smsSpamChkTxt, resultSpamTxt); + checkSpamAndSetStatus(mjonMsgVO, smsSpamChkTxt, resultSpamTxt, isNotified); hasPerformedSpamCheck = true; } if (!hasPerformedMsgType) { @@ -315,7 +316,7 @@ public final class MsgSendUtils { {// 치환 문자인 경우 // 스팸 체크는 `spamChkSize`만큼 반복 수행 if (sampleCounter < spamChkSize && !"Y".equals(mjonMsgVO.getSpamStatus())) { - checkSpamAndSetStatus(mjonMsgVO, smsSpamChkTxt, resultSpamTxt); + checkSpamAndSetStatus(mjonMsgVO, smsSpamChkTxt, resultSpamTxt, isNotified); sampleCounter++; } @@ -419,7 +420,10 @@ public final class MsgSendUtils { sendVO.setFileCnt(mjonMsgVO.getFileCnt()); } - private static void checkSpamAndSetStatus(MjonMsgVO mjonMsgVO, String personalizedSmsTxt, List resultSpamTxt) throws Exception { + private static void checkSpamAndSetStatus(MjonMsgVO mjonMsgVO, String personalizedSmsTxt, List resultSpamTxt, boolean isNotified) throws Exception { + + + mjonMsgVO.setSpamStatus("N"); if(StringUtils.isNotEmpty(personalizedSmsTxt)) { @@ -442,21 +446,12 @@ public final class MsgSendUtils { spmFilterTxt = StringUtil.getWordLeft(spmFilterTxt.trim(), 1); } - log.info(" + spmFilterTxt :: [{}]", spmFilterTxt); - log.info(" + resultParser :: [{}]", resultParser); - // mjonMsgVO.setSpamKeyword(spmFilterTxt); mjonMsgVO.setSpamStatus("Y"); - mjonMsgVO.setDelayYn("Y"); + if(isNotified) { + mjonMsgVO.setDelayYn("Y"); + } } - else - { - mjonMsgVO.setSpamStatus("N"); - } - - }else { - mjonMsgVO.setSpamStatus("N"); - } } diff --git a/src/main/java/itn/let/mjo/mjocommon/MjonCommon.java b/src/main/java/itn/let/mjo/mjocommon/MjonCommon.java index 5db91c18..3b95fa04 100644 --- a/src/main/java/itn/let/mjo/mjocommon/MjonCommon.java +++ b/src/main/java/itn/let/mjo/mjocommon/MjonCommon.java @@ -545,7 +545,7 @@ private int parseIntOrDefault(String value, int defaultValue) { // 알림 발송 if (!isNotificationAllowed) { - getAdminSandSlack(mjonMsgVO); +// getAdminSandSlack(mjonMsgVO); return true; // 알림 발송 성공 } @@ -562,6 +562,7 @@ private int parseIntOrDefault(String value, int defaultValue) { MsgAlarmSetVO msgAlarmSetVO = new MsgAlarmSetVO(); msgAlarmSetVO.setUseYn("Y"); msgAlarmSetVO.setFirstIndex(0); + msgAlarmSetVO.setRecordCountPerPage(10000); return msgHolidayService.selectAlarmSettingList(msgAlarmSetVO); } @@ -572,7 +573,7 @@ private int parseIntOrDefault(String value, int defaultValue) { MsgHolidayVO msgHolidayVO = new MsgHolidayVO(); msgHolidayVO.setFirstIndex(0); - msgHolidayVO.setRecordCountPerPage(100); + msgHolidayVO.setRecordCountPerPage(10000); msgHolidayVO.setSearchHoliYear(Integer.toString(year)); return msgHolidayService.selectMsgHolidayList(msgHolidayVO); } diff --git a/src/main/java/itn/let/mjo/msg/web/MjonMsgController.java b/src/main/java/itn/let/mjo/msg/web/MjonMsgController.java index 85d00345..3c0544fc 100644 --- a/src/main/java/itn/let/mjo/msg/web/MjonMsgController.java +++ b/src/main/java/itn/let/mjo/msg/web/MjonMsgController.java @@ -20,6 +20,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; +import org.apache.commons.lang3.StringUtils; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellStyle; import org.apache.poi.ss.usermodel.Font; @@ -1280,7 +1281,7 @@ public class MjonMsgController { searchVO.setSearchSortCnd("FRST_REGIST_PNTTM"); searchVO.setSearchSortOrd("desc"); } - + System.out.println("searchVO.getCancelResultYn() :: "+ searchVO.getCancelResultYn()); /* * 2024.01.26 우영두 변경 @@ -1293,6 +1294,13 @@ public class MjonMsgController { searchVO.setNtceBgnde(beforeMonthDay); searchVO.setNtceEndde(toDay); } + + + // 조건 값이 없을때 미처리 상태 노출 + if(StringUtils.isEmpty(searchVO.getCancelResultYn())) { + searchVO.setCancelResultYn("N"); + } + List resultList = new ArrayList(); resultList = mjonMsgService.selectMjonHoliMsgList(searchVO); 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 b0ef4da3..3332d2e5 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 @@ -4054,9 +4054,15 @@ public class MjonMsgDataServiceImpl extends EgovAbstractServiceImpl implements M // UserManageVO userManageVO = MjonCommon.getUserManageInfo(userId); + + + // 스팸 및 스미싱 의심이면 slack 알림 + boolean isNotified = mjonCommon.processUserAndCheckSms(mjonMsgVO, userId); + + // 스팸관련 키워드 select List resultSpamTxt = mjonMsgDataService.selectSpamKeywordList(); - + /** * @methodName : populateReplacementLists * @author : 이호영 @@ -4066,7 +4072,7 @@ public class MjonMsgDataServiceImpl extends EgovAbstractServiceImpl implements M * 전송사 코드 셋팅 */ if (!MsgSendUtils.populateSendLists(mjonMsgVO, mjonMsgSendVOList, statusResponse, resultSpamTxt, - agentSendCounts, sendRateList)) { + agentSendCounts, sendRateList, isNotified)) { ; // 문자 치환 후 전송 문자 길이를 초과하였습니다. // 문자 치환 중 오류가 발생하였습니다. @@ -4153,13 +4159,13 @@ public class MjonMsgDataServiceImpl extends EgovAbstractServiceImpl implements M log.debug("총 단가 합계: [{}]", mjonMsgVO.getTotPrice()); // - // 스팸 및 스미싱 의심이면 slack 알림 - boolean isNotified = mjonCommon.processUserAndCheckSms(mjonMsgVO, userId); if (isNotified) { System.out.println("스미싱 알림이 처리되었습니다."); - } else { + mjonCommon.getAdminSandSlack(mjonMsgVO); + } else if("Y".equalsIgnoreCase(mjonMsgVO.getSpamStatus())){ System.out.println("알림 조건을 충족하지 않았습니다."); + mjonMsgDAO.insertSpamPassMsgData(mjonMsgVO); } statusResponse.setStatus(HttpStatus.OK); @@ -4191,6 +4197,11 @@ public class MjonMsgDataServiceImpl extends EgovAbstractServiceImpl implements M mjonMsgVO.setMsgGroupId(mjonMsgSendVO.getMsgGroupId()); mjonMsgVO.setMsgType(mjonMsgSendVO.getMsgType()); + + + //test - 스미싱의심 [발송승인, 발송취소] 조건 + // mjonMsgVO.setDelayYn("N"); + mjonMsgDAO.insertGroupMsgData(mjonMsgVO); }