스미싱 알림 기능 기존 비활성화 상태에서 예외처리 되는 것을 활성화 상태에서 예외 처리 되도록 기능 변경 처리 함

This commit is contained in:
rosewiper 2024-08-20 18:42:37 +09:00
parent 45d7b704f7
commit ea145c3a4c
11 changed files with 210 additions and 180 deletions

View File

@ -112,13 +112,12 @@ public class KakaoAlimTalkServiceImpl extends EgovAbstractServiceImpl implements
JoinSettingVO joinSettingVO = siteManagerDAO.selectAdminNotiDetail();
String holiSmishingNoti = joinSettingVO.getHoliSmishingNoti();
System.out.println("++++++++++++++++++ holiSmishingNoti ::: "+holiSmishingNoti);
//스팸,스미싱이어도 딜레이없이 문자 전송을 처리할지 선택 상태값 변수
boolean spamSmishingPassStatus = false; //야간스미싱 알림여부가 활성화인 경우 false, 비활성화인경우 true 값을 가지도록 한다.
//야간스미싱알리 여부가 비활성화 인경우 무조건 문자를 즉시 보내도록 한다.
//현재는 평일, 주말, 휴일 상관없이 N 이면 30분 딜레이 없이 발송 처리하도록 .
if(holiSmishingNoti.equals("N")) {
if(holiSmishingNoti.equals("Y")) {
MsgAlarmSetVO msgAlarmSetVO = new MsgAlarmSetVO();
@ -141,9 +140,11 @@ public class KakaoAlimTalkServiceImpl extends EgovAbstractServiceImpl implements
boolean smishingAlarmPassSts = mjonHolidayApi.getHolidaySmishingPassStatus(resultAlarmList, resultHolidayList);
System.out.println("+++++++++ 스미싱을 패스 시킬건지 ::: "+smishingAlarmPassSts);
spamSmishingPassStatus = smishingAlarmPassSts;
}else {
spamSmishingPassStatus = true;
}
String atSmishingYn = kakaoVO.getAtSmishingYn();
@ -152,8 +153,6 @@ public class KakaoAlimTalkServiceImpl extends EgovAbstractServiceImpl implements
atSmishingYn = "N";
}
System.out.println("++++++++++++++++ spamSmishingPassStatus ::: "+spamSmishingPassStatus);
/** 카카오 알림톡 전송 리스트 생성 (시작)-------------------------------------------*/
for(int i = 0; i < callToCnt; i++) {
@ -380,7 +379,7 @@ public class KakaoAlimTalkServiceImpl extends EgovAbstractServiceImpl implements
try {
//야간 스미싱 알림이 활성화 이고 스팸 또는 스미싱 의심 상태일 경우 문자정보 별도 저장처리 - 20240722 우영두 추가
//야간 스미싱 알림이 활성화 이고 알림 예외 일정에 포함되고, 스팸 또는 스미싱 의심 상태일 경우 문자정보 별도 저장처리 - 20240722 우영두 추가
if(spamSmishingPassStatus && kakaoVO.getAtSmishingYn().equals("Y")) {
mjonMsgDAO.insertSpamPassMsgData(mjonMsgVO);
}

View File

@ -51,9 +51,13 @@ import itn.let.kakao.kakaoComm.kakaoApi.KakaoApiTemplate;
import itn.let.kakao.kakaoComm.kakaoApi.service.KakaoApiService;
import itn.let.kakao.user.kakaoAt.service.KakaoAlimTalkService;
import itn.let.mjo.mjocommon.MjonCommon;
import itn.let.mjo.mjocommon.MjonHolidayApi;
import itn.let.mjo.msgdata.service.MjonMsgDataService;
import itn.let.mjo.msgdata.service.MjonMsgDataVO;
import itn.let.mjo.msgdata.service.MjonMsgReturnVO;
import itn.let.mjo.msgholiday.service.MsgAlarmSetVO;
import itn.let.mjo.msgholiday.service.MsgHolidayService;
import itn.let.mjo.msgholiday.service.MsgHolidayVO;
import itn.let.sym.site.service.EgovSiteManagerService;
import itn.let.sym.site.service.JoinSettingVO;
import itn.let.uss.umt.service.EgovUserManageService;
@ -104,6 +108,9 @@ public class KakaoAlimTalkSendController {
@Resource(name = "egovSiteManagerService")
EgovSiteManagerService egovSiteManagerService;
@Resource(name = "MsgHolidayService")
private MsgHolidayService msgHolidayService;
@Autowired
KakaoApiProfile kakaoApiProfile;
@ -776,9 +783,35 @@ public class KakaoAlimTalkSendController {
// SLACK 체크
if (joinSettingVO != null && joinSettingVO.getSlackNoti().equals("Y")) {
//Slack으로 메세지 전송 처리
MsgAlarmSetVO msgAlarmSetVO = new MsgAlarmSetVO();
msgAlarmSetVO.setUseYn("Y");
msgAlarmSetVO.setFirstIndex(0);
List<MsgAlarmSetVO> resultAlarmList = msgHolidayService.selectAlarmSettingList(msgAlarmSetVO);
Calendar calendar = Calendar.getInstance();
int year = calendar.get(Calendar.YEAR);
MsgHolidayVO msgHolidayVO = new MsgHolidayVO();
msgHolidayVO.setFirstIndex(0);
msgHolidayVO.setRecordCountPerPage(100);
msgHolidayVO.setSearchHoliYear(Integer.toString(year));
List<MsgHolidayVO> resultHolidayList = msgHolidayService.selectMsgHolidayList(msgHolidayVO);
MjonHolidayApi mjonHolidayApi = new MjonHolidayApi();
boolean smishingAlarmPassSts = mjonHolidayApi.getHolidaySmishingPassStatus(resultAlarmList, resultHolidayList);
if(!smishingAlarmPassSts) {//평일,주말, 공휴일 알림설정 시간에 포함되지 않는 경우 슬랙 알림 발송
MjonCommon comm = new MjonCommon();
comm.getAdminKakaoAtSandSlack(kakaoVO);
}
}
}

View File

@ -1374,7 +1374,7 @@ public class MjonMsgController {
//회원 상태 변경하기
int resultCnt = 0;
mberManageVO.setMberSttus("B"); //이용정지 상태로 변경
mberManageVO.setSmiMemo("야간 스미싱의심 문자 발송으로 이용정지 처리");
mberManageVO.setSmiMemo("시스템 스팸 필터링에 의한 이용정지");
resultCnt = mberManageService.updateUserMsttus(mberManageVO);
if(resultCnt > 0) {
@ -1417,7 +1417,7 @@ public class MjonMsgController {
// 관리자 메모
String memo = "";
memo = "회원상태 변경 : 이용정지, 사유 : 야간 스미싱의심 문자 발송으로 이용정지 처리";
memo = "회원상태 변경 : 이용정지, 사유 : 알림 비활성화 시간대 발송(예약) 문자내역 중 스미싱 의심으로 판단하여 이용자 정지 처리";
mberManageVO.setMberId(mberId);
mberManageVO.setMemoCn(memo);
mberManageVO.setFrstRegisterId(adminId);

View File

@ -3205,11 +3205,6 @@ public class MjonMsgCampainDataController {
if(holiSmishingNoti.equals("Y")) {
// SLACK 체크
if (joinSettingVO != null && joinSettingVO.getSlackNoti().equals("Y")) {
//Slack으로 메세지 전송 처리
MjonCommon comm = new MjonCommon();
comm.getAdminSandSlack(mjonMsgVO);
}
}else {//야간스미싱 알림 비활성화인 경우 - 알림일정에 포함되지 않으면 슬랙 발송 처리(알림일정에 포함되면 슬랙발송 X - 알림 비활성화이기 때문에 발송X)
MsgAlarmSetVO msgAlarmSetVO = new MsgAlarmSetVO();
@ -3244,6 +3239,8 @@ public class MjonMsgCampainDataController {
}
}
} catch (Exception e) {
throw new Exception("++++++++++++++++++++++ 선거문자 메뉴 getAdminPhoneSendMsgData Error !!! " + e);
}

View File

@ -1115,11 +1115,6 @@ public class MjonMsgCampainHGDataController {
if(holiSmishingNoti.equals("Y")) {
// SLACK 체크
if (joinSettingVO != null && joinSettingVO.getSlackNoti().equals("Y")) {
//Slack으로 메세지 전송 처리
MjonCommon comm = new MjonCommon();
comm.getAdminSandSlack(mjonMsgVO);
}
}else {//야간스미싱 알림 비활성화인 경우 - 알림일정에 포함되지 않으면 슬랙 발송 처리(알림일정에 포함되면 슬랙발송 X - 알림 비활성화이기 때문에 발송X)
MsgAlarmSetVO msgAlarmSetVO = new MsgAlarmSetVO();
@ -1154,6 +1149,8 @@ public class MjonMsgCampainHGDataController {
}
}
} catch (Exception e) {
throw new Exception("++++++++++++++++++++++ 선거문자 메뉴 getAdminPhoneSendMsgData Error !!! " + e);
}

View File

@ -2089,11 +2089,6 @@ public class MjonMsgCampainTWDataController {
if(holiSmishingNoti.equals("Y")) {
// SLACK 체크
if (joinSettingVO != null && joinSettingVO.getSlackNoti().equals("Y")) {
//Slack으로 메세지 전송 처리
MjonCommon comm = new MjonCommon();
comm.getAdminSandSlack(mjonMsgVO);
}
}else {//야간스미싱 알림 비활성화인 경우 - 알림일정에 포함되지 않으면 슬랙 발송 처리(알림일정에 포함되면 슬랙발송 X - 알림 비활성화이기 때문에 발송X)
MsgAlarmSetVO msgAlarmSetVO = new MsgAlarmSetVO();
@ -2128,6 +2123,8 @@ public class MjonMsgCampainTWDataController {
}
}
} catch (Exception e) {
throw new Exception("++++++++++++++++++++++ 선거문자 메뉴 getAdminPhoneSendMsgData Error !!! " + e);
}
@ -2136,21 +2133,6 @@ public class MjonMsgCampainTWDataController {
}
/*
* 선거문자 20건 발송 처리 종료
*
* */
/**
* 선거문자 20건씩 문자 발송 - 엑셀파일 불러오기
* @param body

View File

@ -171,9 +171,9 @@ public class MjonMsgDataServiceImpl extends EgovAbstractServiceImpl implements M
boolean spamSmishingPassStatus = false; //야간스미싱 알림여부가 활성화인 경우 false, 비활성화인경우 true 값을 가지도록 한다.
//스팸, 스미싱 상태인 경우에만 true 처리
//야간스미싱알리 여부가 활성화 인경우 무조건 문자를 즉시 보내도록 한다.
//야간스미싱알리 여부가 활성화 인경우 무조건 문자를 즉시 보내도록 한다.
//스미싱 알림 일정에 등록된 날짜와 시간에 포함되면 30분 딜레이 없이 발송 처리하도록 .
if(holiSmishingNoti.equals("N")) {
if(holiSmishingNoti.equals("Y")) {
MsgAlarmSetVO msgAlarmSetVO = new MsgAlarmSetVO();
@ -197,6 +197,10 @@ public class MjonMsgDataServiceImpl extends EgovAbstractServiceImpl implements M
boolean smishingAlarmPassSts = mjonHolidayApi.getHolidaySmishingPassStatus(resultAlarmList, resultHolidayList);
spamSmishingPassStatus = smishingAlarmPassSts;
}else {
spamSmishingPassStatus = true;
}
//전용 전송사가 지정되어 있으면 실행
@ -357,8 +361,8 @@ public class MjonMsgDataServiceImpl extends EgovAbstractServiceImpl implements M
}
//야간 스미싱 알림여부가 비활성인 경우 스팸, 스미싱, 딜레이 값을 모두 N 으로 처리
if(spamSmishingPassStatus && (spamStatus.equals("Y") || smishingYn.equals("Y"))) {
//야간 스미싱 알림여부가 활성화 이고 예외시간에 포함되는 경우 스팸, 스미싱, 딜레이 값을 모두 N 으로 처리
if(spamSmishingPassStatus) {
spamStatus = "N";
smishingYn = "N";
@ -2445,12 +2449,12 @@ public class MjonMsgDataServiceImpl extends EgovAbstractServiceImpl implements M
System.out.println("++++++++++++++++++ holiSmishingNoti ::: "+holiSmishingNoti);
//스팸,스미싱이어도 딜레이없이 문자 전송을 처리할지 선택 상태값 변수
boolean spamSmishingPassStatus = false; //야간스미싱 알림여부가 활성화인 경우 false, 비활성화인경우 true 값을 가지도록 .
boolean spamSmishingPassStatus = false; //야간스미싱 알림여부가 활성화인 경우 예외 알림 일정에 포함되는 시간에는 슬랙 30분 딜레이를 하지 않는.
//스팸, 스미싱 상태인 경우에만 true 처리
//야간스미싱알리 여부가 비활성화 인경우 무조건 문자를 즉시 보내도록 한다.
//스미싱 알림 일정에 등록된 날짜와 시간에 포함되면 30분 딜레이 없이 발송 처리하도록 .
if(holiSmishingNoti.equals("N")) {
//야간 스미싱 알림 여부가 활성화 이고 스미싱 알림 일정에 등록된 날짜와 시간에 포함되면 30분 딜레이 없이 발송 처리하도록 .
if(holiSmishingNoti.equals("Y")) {
MsgAlarmSetVO msgAlarmSetVO = new MsgAlarmSetVO();
@ -2474,6 +2478,9 @@ public class MjonMsgDataServiceImpl extends EgovAbstractServiceImpl implements M
boolean smishingAlarmPassSts = mjonHolidayApi.getHolidaySmishingPassStatus(resultAlarmList, resultHolidayList);
spamSmishingPassStatus = smishingAlarmPassSts;
}else {
spamSmishingPassStatus = true;
}
//전용 전송사가 지정되어 있으면 실행
@ -2634,8 +2641,8 @@ public class MjonMsgDataServiceImpl extends EgovAbstractServiceImpl implements M
}
//야간 스미싱 알림여부가 비활성인 경우 스팸, 스미싱, 딜레이 값을 모두 N 으로 처리
if(spamSmishingPassStatus && (spamStatus.equals("Y") || smishingYn.equals("Y"))) {
//스팸스미싱 예외 상태가 true 이면 30분 딜레이 슬랙 알림을 하지 않는다.
if(spamSmishingPassStatus) {
spamStatus = "N";
smishingYn = "N";
@ -3130,19 +3137,7 @@ public class MjonMsgDataServiceImpl extends EgovAbstractServiceImpl implements M
//야간 스미싱 알림이 비활성화 이고 스팸 또는 스미싱 의심 상태일 경우 문자정보 별도 저장처리 - 20240722 우영두 추가
if(spamSmishingPassStatus && (mjonMsgVO.getSpamStatus().equals("Y") || mjonMsgVO.getSmishingYn().equals("Y"))) {
System.out.println(mjonMsgVO.getMsgGroupId());
System.out.println(mjonMsgVO.getMsgGroupCnt());
System.out.println(mjonMsgVO.getUserId());
System.out.println(mjonMsgVO.getSmsTxt());
System.out.println(mjonMsgVO.getReqDate());
System.out.println(mjonMsgVO.getCallFrom());
System.out.println(mjonMsgVO.getMsgType());
System.out.println(mjonMsgVO.getReserveYn());
System.out.println(mjonMsgVO.getTotalCallCnt());
mjonMsgDAO.insertSpamPassMsgData(mjonMsgVO);
}
} catch (Exception e) {

View File

@ -3055,11 +3055,6 @@ public class MjonMsgDataController {
if(holiSmishingNoti.equals("Y")) {
// SLACK 체크
if (joinSettingVO != null && joinSettingVO.getSlackNoti().equals("Y")) {
//Slack으로 메세지 전송 처리
MjonCommon comm = new MjonCommon();
comm.getAdminSandSlack(mjonMsgVO);
}
}else {//야간스미싱 알림 비활성화인 경우 - 알림일정에 포함되지 않으면 슬랙 발송 처리(알림일정에 포함되면 슬랙발송 X - 알림 비활성화이기 때문에 발송X)
MsgAlarmSetVO msgAlarmSetVO = new MsgAlarmSetVO();
@ -3082,7 +3077,7 @@ public class MjonMsgDataController {
boolean smishingAlarmPassSts = mjonHolidayApi.getHolidaySmishingPassStatus(resultAlarmList, resultHolidayList);
if(!smishingAlarmPassSts) {//평일,주말, 공휴일 알림설정 시간에 포함되지 않는 경우 슬랙 알림 발송
if(!smishingAlarmPassSts) {//평일,주말, 공휴일 알림 예외설정 시간에 포함되지 않는 경우 슬랙 알림 발송
MjonCommon comm = new MjonCommon();
comm.getAdminSandSlack(mjonMsgVO);
@ -3092,6 +3087,8 @@ public class MjonMsgDataController {
}
}
}
} catch (Exception e) {
throw new Exception("++++++++++++++++++++++ getAdminPhoneSendMsgData Error !!! " + e);
}

View File

@ -2141,12 +2141,6 @@ public class TestController {
if(holiSmishingNoti.equals("Y")) {
// SLACK 체크
if (joinSettingVO != null && joinSettingVO.getSlackNoti().equals("Y")) {
//Slack으로 메세지 전송 처리
MjonCommon comm = new MjonCommon();
System.out.println("slack noti");
comm.getAdminSandSlack(mjonMsgVO);
}
}else {//야간스미싱 알림 비활성화인 경우 - 알림일정에 포함되지 않으면 슬랙 발송 처리(알림일정에 포함되면 슬랙발송 X - 알림 비활성화이기 때문에 발송X)
MsgAlarmSetVO msgAlarmSetVO = new MsgAlarmSetVO();
@ -2176,8 +2170,44 @@ public class TestController {
}
//Slack으로 메세지 전송 처리
/*MjonCommon comm = new MjonCommon();
System.out.println("slack noti");
comm.getAdminSandSlack(mjonMsgVO);*/
}
}
/*else {//야간스미싱 알림 비활성화인 경우 - 알림일정에 포함되지 않으면 슬랙 발송 처리(알림일정에 포함되면 슬랙발송 X - 알림 비활성화이기 때문에 발송X)
MsgAlarmSetVO msgAlarmSetVO = new MsgAlarmSetVO();
msgAlarmSetVO.setUseYn("Y");
msgAlarmSetVO.setFirstIndex(0);
List<MsgAlarmSetVO> resultAlarmList = msgHolidayService.selectAlarmSettingList(msgAlarmSetVO);
Calendar calendar = Calendar.getInstance();
int year = calendar.get(Calendar.YEAR);
MsgHolidayVO msgHolidayVO = new MsgHolidayVO();
msgHolidayVO.setFirstIndex(0);
msgHolidayVO.setRecordCountPerPage(100);
msgHolidayVO.setSearchHoliYear(Integer.toString(year));
List<MsgHolidayVO> resultHolidayList = msgHolidayService.selectMsgHolidayList(msgHolidayVO);
MjonHolidayApi mjonHolidayApi = new MjonHolidayApi();
boolean smishingAlarmPassSts = mjonHolidayApi.getHolidaySmishingPassStatus(resultAlarmList, resultHolidayList);
if(!smishingAlarmPassSts) {//평일,주말, 공휴일 알림설정 시간에 포함되지 않는 경우 슬랙 알림 발송
MjonCommon comm = new MjonCommon();
comm.getAdminSandSlack(mjonMsgVO);
}
}*/
}
} catch (Exception e) {

View File

@ -494,7 +494,7 @@ function fnClose(){
<div class="contWrap" style="position:relative;left:inherit;top:inherit;min-height:auto;padding:40px;">
<div class="pageTitle">
<!-- <div class="pageIcon"><img src="/pb/img/pageTitIcon4.png" alt=""></div> -->
<h2 class="titType1 c_222222 fwBold">야간 스미싱의심 알림 일정 관리</h2>
<h2 class="titType1 c_222222 fwBold">스미싱의심 알림 예외 일정 관리</h2>
<!-- <p class="tType6 c_999999">문자전송리스트 현황을 파악할 수 있습니다.</p> -->
</div>
<div class="pageCont">

View File

@ -14,7 +14,7 @@
var holiSmishingNoti = $('#holiSmishingNoti').val();
if(holiSmishingNoti == "Y"){
if(holiSmishingNoti == "N"){
$('.btnTypeAlim').hide();
@ -22,7 +22,7 @@
$('#holiSmishingNoti').change(function(){
if($('#holiSmishingNoti').val() == "Y"){
if($('#holiSmishingNoti').val() == "N"){
$('.btnTypeAlim').hide();
@ -119,7 +119,7 @@
<option value="Y" <c:if test="${joinSettingVO.holiSmishingNoti == 'Y'}">selected</c:if> >활성화</option>
<option value="N" <c:if test="${joinSettingVO.holiSmishingNoti == 'N'}">selected</c:if> >비활성화</option>
</select>
<input type="button" class="btnTypeAlim" value="일정관리" onclick="javascript:fnAlimSetPopup(); return false;" style="margin-left:50px;">
<input type="button" class="btnTypeAlim" value="예외 일정관리" onclick="javascript:fnAlimSetPopup(); return false;" style="margin-left:50px;">
</td>
</tr>