스미싱의심 미처리 건수 노출기능 추가

This commit is contained in:
itn 2023-08-31 14:23:18 +09:00
parent 49576dc34c
commit 2e78e0196f
7 changed files with 124 additions and 1 deletions

View File

@ -82,6 +82,9 @@ public interface MjonMsgService {
// 금일 예약발송 건수 // 금일 예약발송 건수
int selectMjonMsgGroupCntSum(MjonMsgVO mjonMsgVO) throws Exception; int selectMjonMsgGroupCntSum(MjonMsgVO mjonMsgVO) throws Exception;
// 스미싱의심 미처리
int selectMjonMsgDelayCnt(MjonMsgVO mjonMsgVO) throws Exception;
int selectSendBlockPhonNumCheck(MjonMsgVO mjonMsgVO) throws Exception; int selectSendBlockPhonNumCheck(MjonMsgVO mjonMsgVO) throws Exception;
//전송사 문자 발송 결과 코드 정보 전체 불러오기 //전송사 문자 발송 결과 코드 정보 전체 불러오기

View File

@ -192,8 +192,14 @@ public class MjonMsgVO extends ComDefaultVO{
private int mmsGroupFWCntSum; // mms 실패대기() private int mmsGroupFWCntSum; // mms 실패대기()
private int mmsTotFWPriceSum; // mms 실패대기(금액) private int mmsTotFWPriceSum; // mms 실패대기(금액)
private String searchDelayMsgYn;
public String getSearchDelayMsgYn() {
return searchDelayMsgYn;
}
public void setSearchDelayMsgYn(String searchDelayMsgYn) {
this.searchDelayMsgYn = searchDelayMsgYn;
}
public int getSmsGroupSCntSum() { public int getSmsGroupSCntSum() {
return smsGroupSCntSum; return smsGroupSCntSum;
} }

View File

@ -198,6 +198,11 @@ public class MjonMsgDAO extends EgovAbstractDAO {
return (int) select("mjonMsgDAO.selectMjonMsgGroupCntSum", mjonMsgVO); return (int) select("mjonMsgDAO.selectMjonMsgGroupCntSum", mjonMsgVO);
} }
// 스미싱의심 미처리
public int selectMjonMsgDelayCnt(MjonMsgVO mjonMsgVO) throws Exception{
return (int) select("mjonMsgDAO.selectMjonMsgDelayCnt", mjonMsgVO);
}
public int selectSendBlockPhonNumCheck(MjonMsgVO mjonMsgVO) throws Exception{ public int selectSendBlockPhonNumCheck(MjonMsgVO mjonMsgVO) throws Exception{
return (int) select("mjonMsgDAO.selectSendBlockPhonNumCheck", mjonMsgVO); return (int) select("mjonMsgDAO.selectSendBlockPhonNumCheck", mjonMsgVO);
} }

View File

@ -415,6 +415,12 @@ public class MjonMsgServiceImpl extends EgovAbstractServiceImpl implements MjonM
return mjonMsgDAO.selectMjonMsgGroupCntSum(mjonMsgVO); return mjonMsgDAO.selectMjonMsgGroupCntSum(mjonMsgVO);
} }
// 스미싱의심 미처리
@Override
public int selectMjonMsgDelayCnt(MjonMsgVO mjonMsgVO) throws Exception {
return mjonMsgDAO.selectMjonMsgDelayCnt(mjonMsgVO);
}
@Override @Override
public int selectSendBlockPhonNumCheck(MjonMsgVO mjonMsgVO) throws Exception{ public int selectSendBlockPhonNumCheck(MjonMsgVO mjonMsgVO) throws Exception{
return mjonMsgDAO.selectSendBlockPhonNumCheck(mjonMsgVO); return mjonMsgDAO.selectSendBlockPhonNumCheck(mjonMsgVO);

View File

@ -265,6 +265,40 @@ public class MjonMsgController {
} }
// 스미싱의심 미처리
@RequestMapping(value = "/uss/ion/msg/selectDelayMsgCountAjax.do")
public ModelAndView selectDelayMsgCountAjax(
@ModelAttribute("mjonMsgVO") MjonMsgVO mjonMsgVO) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
boolean isSuccess = true;
String msg = "";
int delayMsgCnt = 0;
// 로그인VO에서 사용자 정보 가져오기
LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser();
String admId = loginVO == null ? "" : loginVO.getId();
try{
delayMsgCnt = mjonMsgService.selectMjonMsgDelayCnt(mjonMsgVO);
}
catch(Exception e) {
isSuccess = false;
msg = e.getMessage();
}
modelAndView.addObject("isSuccess", isSuccess);
modelAndView.addObject("msg", msg);
modelAndView.addObject("delayMsgCnt", delayMsgCnt);
modelAndView.addObject("admId", admId);
return modelAndView;
}
/** /**
* 문자전송 리스트 스미싱 on off 처리 * 문자전송 리스트 스미싱 on off 처리
* @param searchVO * @param searchVO

View File

@ -601,6 +601,21 @@
</isNotEmpty> </isNotEmpty>
</select> </select>
<!-- 스미싱의심 미처리 -->
<select id="mjonMsgDAO.selectMjonMsgDelayCnt" parameterClass="mjonMsgVO" resultClass="int">
<![CDATA[
SELECT
COUNT(0)
FROM MJ_MSG_GROUP_DATA Y
WHERE 1=1
AND Y.REQ_DATE >= NOW()
AND Y.RESERVE_C_YN = 'N'
AND IFNULL(Y.DELAY_YN, 'N') = 'Y'
AND IFNULL(Y.DELAY_COMPLETE_YN, 'N') = 'N'
AND Y.USER_ID != 'system'
]]>
</select>
<!-- 문자발송 완료건은 모두 보이도록 처리 --> <!-- 문자발송 완료건은 모두 보이도록 처리 -->
<select id="mjonMsgDAO.selectMjonMsgGroupCompleteList" parameterClass="mjonMsgVO" resultClass="mjonMsgVO"> <select id="mjonMsgDAO.selectMjonMsgGroupCompleteList" parameterClass="mjonMsgVO" resultClass="mjonMsgVO">
SELECT SELECT
@ -855,6 +870,21 @@
<isNotEmpty property="searchCampaignYn"> <isNotEmpty property="searchCampaignYn">
AND MSG_KIND = 'C' AND MSG_KIND = 'C'
</isNotEmpty> </isNotEmpty>
<isNotEmpty property="searchDelayMsgYn">
AND A.MSG_GROUP_ID IN (
SELECT
Y.MSG_GROUP_ID
FROM MJ_MSG_GROUP_DATA Y
WHERE 1=1
AND Y.REQ_DATE >= NOW()
AND Y.RESERVE_C_YN = 'N'
AND IFNULL(Y.DELAY_YN, 'N') = 'Y'
AND IFNULL(Y.DELAY_COMPLETE_YN, 'N') = 'N'
AND Y.USER_ID != 'system'
)
</isNotEmpty>
ORDER BY 1=1 ORDER BY 1=1
<isNotEmpty property="searchSortCnd"> <isNotEmpty property="searchSortCnd">
,$searchSortCnd$ ,$searchSortCnd$

View File

@ -36,6 +36,13 @@
<script type="text/javascript" src="<c:url value='/js/EgovCalPopup.js'/>"></script> <script type="text/javascript" src="<c:url value='/js/EgovCalPopup.js'/>"></script>
<script type="text/javaScript" language="javascript"> <script type="text/javaScript" language="javascript">
$( document ).ready(function() {
//스미싱의심 지연문자 미처리
getDelayMsgCount();
});
function fn_search(){ function fn_search(){
var searchKeyword = $('input[name=searchKeyword]').val(); var searchKeyword = $('input[name=searchKeyword]').val();
$('input[name=searchKeyword]').val(searchKeyword.replace(/(\s*)/g, "")); $('input[name=searchKeyword]').val(searchKeyword.replace(/(\s*)/g, ""));
@ -357,6 +364,36 @@ function fnSmishingUpdate(flag) {
} }
} }
} }
// 스미싱의심 미처리
function getDelayMsgCount() {
$.ajax({
type: "POST",
url: "/uss/ion/msg/selectDelayMsgCountAjax.do",
data: {},
dataType:'json',
async: true,
success: function (data) {
if (data.isSuccess) {
$("#btnDelayMsg").show();
$("#btnDelayMsg").val("스미싱의심 미처리 " + data.delayMsgCnt + "건");
}
else {
//alert("Msg : " + data.msg);
}
},
error: function (e) {
//alert("ERROR : " + JSON.stringify(e));
}
});
}
//스미싱의심 미처리
function getDelayMsgData() {
$("#searchDelayMsgYn").val("Y");
linkPage(1);
}
</script> </script>
<style> <style>
.calBtn{ .calBtn{
@ -392,6 +429,7 @@ function fnSmishingUpdate(flag) {
<input type="hidden" name="adminSmsNoticeYn" value=""/> <input type="hidden" name="adminSmsNoticeYn" value=""/>
<input name="checkedIdForDel" type="hidden" /> <input name="checkedIdForDel" type="hidden" />
<input type="hidden" name="smishingYn" value=""/> <input type="hidden" name="smishingYn" value=""/>
<input type="hidden" name="searchDelayMsgYn" id="searchDelayMsgYn" value=""/>
<div class="contWrap"> <div class="contWrap">
<div class="pageTitle"> <div class="pageTitle">
@ -467,6 +505,7 @@ function fnSmishingUpdate(flag) {
<div class="listTop"> <div class="listTop">
<p class="tType5">총 <span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${paginationInfo.totalRecordCount}" pattern="#,###" /></span>건</p> <p class="tType5">총 <span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${paginationInfo.totalRecordCount}" pattern="#,###" /></span>건</p>
<div class="rightWrap"> <div class="rightWrap">
<input type="button" class="btnType2" id="btnDelayMsg" value="" onclick="javascript:getDelayMsgData();" style="display: none;">
<input type="button" class="excelBtn" onclick="javascript:sendMsgExcelDownload();"> <input type="button" class="excelBtn" onclick="javascript:sendMsgExcelDownload();">
<!-- <input type="button" class="printBtn"> --> <!-- <input type="button" class="printBtn"> -->
<select name="pageUnit" id="pageUnit" class="select" title="검색조건선택" onchange="linkPage(1);"> <select name="pageUnit" id="pageUnit" class="select" title="검색조건선택" onchange="linkPage(1);">