스미싱의심 미처리 건수 노출기능 추가
@2e78e0196f1e526335586d94e5df7ffa858d792b
--- src/main/java/itn/let/mjo/msg/service/MjonMsgService.java
+++ src/main/java/itn/let/mjo/msg/service/MjonMsgService.java
... | ... | @@ -82,6 +82,9 @@ |
| 82 | 82 |
// 금일 예약발송 건수 |
| 83 | 83 |
int selectMjonMsgGroupCntSum(MjonMsgVO mjonMsgVO) throws Exception; |
| 84 | 84 |
|
| 85 |
+ // 스미싱의심 미처리 |
|
| 86 |
+ int selectMjonMsgDelayCnt(MjonMsgVO mjonMsgVO) throws Exception; |
|
| 87 |
+ |
|
| 85 | 88 |
int selectSendBlockPhonNumCheck(MjonMsgVO mjonMsgVO) throws Exception; |
| 86 | 89 |
|
| 87 | 90 |
//전송사 문자 발송 결과 코드 정보 전체 불러오기 |
--- src/main/java/itn/let/mjo/msg/service/MjonMsgVO.java
+++ src/main/java/itn/let/mjo/msg/service/MjonMsgVO.java
... | ... | @@ -192,8 +192,14 @@ |
| 192 | 192 |
private int mmsGroupFWCntSum; // mms 실패대기(건) |
| 193 | 193 |
private int mmsTotFWPriceSum; // mms 실패대기(금액) |
| 194 | 194 |
|
| 195 |
+ private String searchDelayMsgYn; |
|
| 195 | 196 |
|
| 196 |
- |
|
| 197 |
+ public String getSearchDelayMsgYn() {
|
|
| 198 |
+ return searchDelayMsgYn; |
|
| 199 |
+ } |
|
| 200 |
+ public void setSearchDelayMsgYn(String searchDelayMsgYn) {
|
|
| 201 |
+ this.searchDelayMsgYn = searchDelayMsgYn; |
|
| 202 |
+ } |
|
| 197 | 203 |
public int getSmsGroupSCntSum() {
|
| 198 | 204 |
return smsGroupSCntSum; |
| 199 | 205 |
} |
--- src/main/java/itn/let/mjo/msg/service/impl/MjonMsgDAO.java
+++ src/main/java/itn/let/mjo/msg/service/impl/MjonMsgDAO.java
... | ... | @@ -198,6 +198,11 @@ |
| 198 | 198 |
return (int) select("mjonMsgDAO.selectMjonMsgGroupCntSum", mjonMsgVO);
|
| 199 | 199 |
} |
| 200 | 200 |
|
| 201 |
+ // 스미싱의심 미처리 |
|
| 202 |
+ public int selectMjonMsgDelayCnt(MjonMsgVO mjonMsgVO) throws Exception{
|
|
| 203 |
+ return (int) select("mjonMsgDAO.selectMjonMsgDelayCnt", mjonMsgVO);
|
|
| 204 |
+ } |
|
| 205 |
+ |
|
| 201 | 206 |
public int selectSendBlockPhonNumCheck(MjonMsgVO mjonMsgVO) throws Exception{
|
| 202 | 207 |
return (int) select("mjonMsgDAO.selectSendBlockPhonNumCheck", mjonMsgVO);
|
| 203 | 208 |
} |
--- src/main/java/itn/let/mjo/msg/service/impl/MjonMsgServiceImpl.java
+++ src/main/java/itn/let/mjo/msg/service/impl/MjonMsgServiceImpl.java
... | ... | @@ -415,6 +415,12 @@ |
| 415 | 415 |
return mjonMsgDAO.selectMjonMsgGroupCntSum(mjonMsgVO); |
| 416 | 416 |
} |
| 417 | 417 |
|
| 418 |
+ // 스미싱의심 미처리 |
|
| 419 |
+ @Override |
|
| 420 |
+ public int selectMjonMsgDelayCnt(MjonMsgVO mjonMsgVO) throws Exception {
|
|
| 421 |
+ return mjonMsgDAO.selectMjonMsgDelayCnt(mjonMsgVO); |
|
| 422 |
+ } |
|
| 423 |
+ |
|
| 418 | 424 |
@Override |
| 419 | 425 |
public int selectSendBlockPhonNumCheck(MjonMsgVO mjonMsgVO) throws Exception{
|
| 420 | 426 |
return mjonMsgDAO.selectSendBlockPhonNumCheck(mjonMsgVO); |
--- src/main/java/itn/let/mjo/msg/web/MjonMsgController.java
+++ src/main/java/itn/let/mjo/msg/web/MjonMsgController.java
... | ... | @@ -265,6 +265,40 @@ |
| 265 | 265 |
|
| 266 | 266 |
} |
| 267 | 267 |
|
| 268 |
+ // 스미싱의심 미처리 |
|
| 269 |
+ @RequestMapping(value = "/uss/ion/msg/selectDelayMsgCountAjax.do") |
|
| 270 |
+ public ModelAndView selectDelayMsgCountAjax( |
|
| 271 |
+ @ModelAttribute("mjonMsgVO") MjonMsgVO mjonMsgVO) throws Exception {
|
|
| 272 |
+ |
|
| 273 |
+ ModelAndView modelAndView = new ModelAndView(); |
|
| 274 |
+ modelAndView.setViewName("jsonView");
|
|
| 275 |
+ |
|
| 276 |
+ boolean isSuccess = true; |
|
| 277 |
+ String msg = ""; |
|
| 278 |
+ int delayMsgCnt = 0; |
|
| 279 |
+ |
|
| 280 |
+ // 로그인VO에서 사용자 정보 가져오기 |
|
| 281 |
+ LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); |
|
| 282 |
+ String admId = loginVO == null ? "" : loginVO.getId(); |
|
| 283 |
+ |
|
| 284 |
+ try{
|
|
| 285 |
+ |
|
| 286 |
+ delayMsgCnt = mjonMsgService.selectMjonMsgDelayCnt(mjonMsgVO); |
|
| 287 |
+ |
|
| 288 |
+ } |
|
| 289 |
+ catch(Exception e) {
|
|
| 290 |
+ isSuccess = false; |
|
| 291 |
+ msg = e.getMessage(); |
|
| 292 |
+ } |
|
| 293 |
+ |
|
| 294 |
+ modelAndView.addObject("isSuccess", isSuccess);
|
|
| 295 |
+ modelAndView.addObject("msg", msg);
|
|
| 296 |
+ modelAndView.addObject("delayMsgCnt", delayMsgCnt);
|
|
| 297 |
+ modelAndView.addObject("admId", admId);
|
|
| 298 |
+ |
|
| 299 |
+ return modelAndView; |
|
| 300 |
+ } |
|
| 301 |
+ |
|
| 268 | 302 |
/** |
| 269 | 303 |
* 문자전송 리스트 스미싱 on off 처리 |
| 270 | 304 |
* @param searchVO |
--- src/main/resources/egovframework/sqlmap/let/msg/MjonMsgData_SQL_mysql.xml
+++ src/main/resources/egovframework/sqlmap/let/msg/MjonMsgData_SQL_mysql.xml
... | ... | @@ -601,6 +601,21 @@ |
| 601 | 601 |
</isNotEmpty> |
| 602 | 602 |
</select> |
| 603 | 603 |
|
| 604 |
+ <!-- 스미싱의심 미처리 --> |
|
| 605 |
+ <select id="mjonMsgDAO.selectMjonMsgDelayCnt" parameterClass="mjonMsgVO" resultClass="int"> |
|
| 606 |
+ <![CDATA[ |
|
| 607 |
+ SELECT |
|
| 608 |
+ COUNT(0) |
|
| 609 |
+ FROM MJ_MSG_GROUP_DATA Y |
|
| 610 |
+ WHERE 1=1 |
|
| 611 |
+ AND Y.REQ_DATE >= NOW() |
|
| 612 |
+ AND Y.RESERVE_C_YN = 'N' |
|
| 613 |
+ AND IFNULL(Y.DELAY_YN, 'N') = 'Y' |
|
| 614 |
+ AND IFNULL(Y.DELAY_COMPLETE_YN, 'N') = 'N' |
|
| 615 |
+ AND Y.USER_ID != 'system' |
|
| 616 |
+ ]]> |
|
| 617 |
+ </select> |
|
| 618 |
+ |
|
| 604 | 619 |
<!-- 문자발송 완료건은 모두 보이도록 처리 --> |
| 605 | 620 |
<select id="mjonMsgDAO.selectMjonMsgGroupCompleteList" parameterClass="mjonMsgVO" resultClass="mjonMsgVO"> |
| 606 | 621 |
SELECT |
... | ... | @@ -855,6 +870,21 @@ |
| 855 | 870 |
<isNotEmpty property="searchCampaignYn"> |
| 856 | 871 |
AND MSG_KIND = 'C' |
| 857 | 872 |
</isNotEmpty> |
| 873 |
+ |
|
| 874 |
+ <isNotEmpty property="searchDelayMsgYn"> |
|
| 875 |
+ AND A.MSG_GROUP_ID IN ( |
|
| 876 |
+ SELECT |
|
| 877 |
+ Y.MSG_GROUP_ID |
|
| 878 |
+ FROM MJ_MSG_GROUP_DATA Y |
|
| 879 |
+ WHERE 1=1 |
|
| 880 |
+ AND Y.REQ_DATE >= NOW() |
|
| 881 |
+ AND Y.RESERVE_C_YN = 'N' |
|
| 882 |
+ AND IFNULL(Y.DELAY_YN, 'N') = 'Y' |
|
| 883 |
+ AND IFNULL(Y.DELAY_COMPLETE_YN, 'N') = 'N' |
|
| 884 |
+ AND Y.USER_ID != 'system' |
|
| 885 |
+ ) |
|
| 886 |
+ </isNotEmpty> |
|
| 887 |
+ |
|
| 858 | 888 |
ORDER BY 1=1 |
| 859 | 889 |
<isNotEmpty property="searchSortCnd"> |
| 860 | 890 |
,$searchSortCnd$ |
--- src/main/webapp/WEB-INF/jsp/uss/ion/msg/SendMsgList.jsp
+++ src/main/webapp/WEB-INF/jsp/uss/ion/msg/SendMsgList.jsp
... | ... | @@ -36,6 +36,13 @@ |
| 36 | 36 |
<script type="text/javascript" src="<c:url value='/js/EgovCalPopup.js'/>"></script> |
| 37 | 37 |
<script type="text/javaScript" language="javascript"> |
| 38 | 38 |
|
| 39 |
+$( document ).ready(function() {
|
|
| 40 |
+ |
|
| 41 |
+ //스미싱의심 지연문자 미처리 |
|
| 42 |
+ getDelayMsgCount(); |
|
| 43 |
+ |
|
| 44 |
+}); |
|
| 45 |
+ |
|
| 39 | 46 |
function fn_search(){
|
| 40 | 47 |
var searchKeyword = $('input[name=searchKeyword]').val();
|
| 41 | 48 |
$('input[name=searchKeyword]').val(searchKeyword.replace(/(\s*)/g, ""));
|
... | ... | @@ -357,6 +364,36 @@ |
| 357 | 364 |
} |
| 358 | 365 |
} |
| 359 | 366 |
} |
| 367 |
+ |
|
| 368 |
+// 스미싱의심 미처리 |
|
| 369 |
+function getDelayMsgCount() {
|
|
| 370 |
+ $.ajax({
|
|
| 371 |
+ type: "POST", |
|
| 372 |
+ url: "/uss/ion/msg/selectDelayMsgCountAjax.do", |
|
| 373 |
+ data: {},
|
|
| 374 |
+ dataType:'json', |
|
| 375 |
+ async: true, |
|
| 376 |
+ success: function (data) {
|
|
| 377 |
+ if (data.isSuccess) {
|
|
| 378 |
+ $("#btnDelayMsg").show();
|
|
| 379 |
+ $("#btnDelayMsg").val("스미싱의심 미처리 " + data.delayMsgCnt + "건");
|
|
| 380 |
+ } |
|
| 381 |
+ else {
|
|
| 382 |
+ //alert("Msg : " + data.msg);
|
|
| 383 |
+ } |
|
| 384 |
+ }, |
|
| 385 |
+ error: function (e) {
|
|
| 386 |
+ //alert("ERROR : " + JSON.stringify(e));
|
|
| 387 |
+ } |
|
| 388 |
+ }); |
|
| 389 |
+} |
|
| 390 |
+ |
|
| 391 |
+//스미싱의심 미처리 |
|
| 392 |
+function getDelayMsgData() {
|
|
| 393 |
+ $("#searchDelayMsgYn").val("Y");
|
|
| 394 |
+ linkPage(1); |
|
| 395 |
+} |
|
| 396 |
+ |
|
| 360 | 397 |
</script> |
| 361 | 398 |
<style> |
| 362 | 399 |
.calBtn{
|
... | ... | @@ -392,6 +429,7 @@ |
| 392 | 429 |
<input type="hidden" name="adminSmsNoticeYn" value=""/> |
| 393 | 430 |
<input name="checkedIdForDel" type="hidden" /> |
| 394 | 431 |
<input type="hidden" name="smishingYn" value=""/> |
| 432 |
+ <input type="hidden" name="searchDelayMsgYn" id="searchDelayMsgYn" value=""/> |
|
| 395 | 433 |
|
| 396 | 434 |
<div class="contWrap"> |
| 397 | 435 |
<div class="pageTitle"> |
... | ... | @@ -467,6 +505,7 @@ |
| 467 | 505 |
<div class="listTop"> |
| 468 | 506 |
<p class="tType5">총 <span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${paginationInfo.totalRecordCount}" pattern="#,###" /></span>건</p>
|
| 469 | 507 |
<div class="rightWrap"> |
| 508 |
+ <input type="button" class="btnType2" id="btnDelayMsg" value="" onclick="javascript:getDelayMsgData();" style="display: none;"> |
|
| 470 | 509 |
<input type="button" class="excelBtn" onclick="javascript:sendMsgExcelDownload();"> |
| 471 | 510 |
<!-- <input type="button" class="printBtn"> --> |
| 472 | 511 |
<select name="pageUnit" id="pageUnit" class="select" title="검색조건선택" onchange="linkPage(1);"> |
Add a comment
Delete comment
Once you delete this comment, you won't be able to recover it. Are you sure you want to delete this comment?