From e9695888519a8d8d52a9249c467db97c99684f44 Mon Sep 17 00:00:00 2001 From: wyh Date: Tue, 4 Jul 2023 10:01:21 +0900 Subject: [PATCH 01/46] =?UTF-8?q?=EC=95=8C=EB=A6=BC=ED=86=A1=20=EC=82=AC?= =?UTF-8?q?=EC=9A=A9=EC=9E=90=20=EB=94=9C=EB=A0=88=EC=9D=B4=20=EA=B8=B0?= =?UTF-8?q?=EB=8A=A5=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/KakaoAlimTalkServiceImpl.java | 17 +++++++++ .../web/KakaoAlimTalkSendController.java | 1 + .../itn/let/mjo/msg/service/MjonMsgVO.java | 23 +++++++++++- .../uss/umt/web/EgovUserManageController.java | 20 +++++------ .../let/mjo/kakao/KakaoSent_SQL_Mysql.xml | 4 ++- .../sqlmap/let/msg/MjonMsgData_SQL_mysql.xml | 35 ++++++++++--------- .../msgdata/at/KakaoAlimtalkMsgDataView.jsp | 2 ++ 7 files changed, 73 insertions(+), 29 deletions(-) diff --git a/src/main/java/itn/let/kakao/user/kakaoAt/service/impl/KakaoAlimTalkServiceImpl.java b/src/main/java/itn/let/kakao/user/kakaoAt/service/impl/KakaoAlimTalkServiceImpl.java index ea28c920..8a17ccf8 100644 --- a/src/main/java/itn/let/kakao/user/kakaoAt/service/impl/KakaoAlimTalkServiceImpl.java +++ b/src/main/java/itn/let/kakao/user/kakaoAt/service/impl/KakaoAlimTalkServiceImpl.java @@ -157,6 +157,23 @@ public class KakaoAlimTalkServiceImpl extends EgovAbstractServiceImpl implements kakaoSandInfo.setReqDate(sdFormat.format(now)); } + + if(kakaoVO.getAtSmishingYn().equals("Y")) { + String sandDate = kakaoVO.getReqDate(); + SimpleDateFormat sdFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); + Date date = sdFormat.parse(sandDate); + + Calendar cal1 = Calendar.getInstance(); + cal1.setTime(date); // 시간 설정 + cal1.add(Calendar.MINUTE, 30); // 30분 연산 + + String reqDate = sdFormat.format(cal1.getTime()); + + System.out.println("@@@@@@@@@@@@@@ reqDate : "+reqDate); + kakaoVO.setReqDate(reqDate); + kakaoSandInfo.setReqDate(reqDate); + } + /**전송시간 설정 (끝)------------------------------------------------*/ /**카카오 전송 데이터 추가*/ diff --git a/src/main/java/itn/let/kakao/user/kakaoAt/web/KakaoAlimTalkSendController.java b/src/main/java/itn/let/kakao/user/kakaoAt/web/KakaoAlimTalkSendController.java index 25b2b4d3..c909497a 100644 --- a/src/main/java/itn/let/kakao/user/kakaoAt/web/KakaoAlimTalkSendController.java +++ b/src/main/java/itn/let/kakao/user/kakaoAt/web/KakaoAlimTalkSendController.java @@ -154,6 +154,7 @@ public class KakaoAlimTalkSendController { mberManageVO = mjonMsgDataService.selectMberManageInfo(userId); + model.addAttribute("atSmishingYn", mberManageVO.getAtSmishingYn()); } //3.사용자 개인단가 정보가 0이 아니면 개인단가 사용, 없으면 시스템 기본 단가 사용 diff --git a/src/main/java/itn/let/mjo/msg/service/MjonMsgVO.java b/src/main/java/itn/let/mjo/msg/service/MjonMsgVO.java index d3513f0d..8e5f4ca0 100644 --- a/src/main/java/itn/let/mjo/msg/service/MjonMsgVO.java +++ b/src/main/java/itn/let/mjo/msg/service/MjonMsgVO.java @@ -354,6 +354,10 @@ public class MjonMsgVO extends ComDefaultVO{ private String delayYn; // 문자 30분 지연 처리 유무 private String delayCompleteYn; // 문자 30분 지연 처리 완료 유무 + private String atDelayYn; // 알림 30분 지연 처리 유무 + private String atDelayCompleteYn; // 알림톡 30분 지연 처리 완료 유무 + private String atSmishingYn; // 알림 지연처리 + private int totalCallCnt; //수신자 전체 갯 private String bizLogCallStatus; //다우기술 biz_log 테이블의 발송결과 코드 값. @@ -1375,5 +1379,22 @@ public class MjonMsgVO extends ComDefaultVO{ public void setAccessKey(String accessKey) { this.accessKey = accessKey; } - + public String getAtDelayYn() { + return atDelayYn; + } + public void setAtDelayYn(String atDelayYn) { + this.atDelayYn = atDelayYn; + } + public String getAtDelayCompleteYn() { + return atDelayCompleteYn; + } + public void setAtDelayCompleteYn(String atDelayCompleteYn) { + this.atDelayCompleteYn = atDelayCompleteYn; + } + public String getAtSmishingYn() { + return atSmishingYn; + } + public void setAtSmishingYn(String atSmishingYn) { + this.atSmishingYn = atSmishingYn; + } } diff --git a/src/main/java/itn/let/uss/umt/web/EgovUserManageController.java b/src/main/java/itn/let/uss/umt/web/EgovUserManageController.java index 0408ace3..587e0ea1 100644 --- a/src/main/java/itn/let/uss/umt/web/EgovUserManageController.java +++ b/src/main/java/itn/let/uss/umt/web/EgovUserManageController.java @@ -1380,25 +1380,25 @@ public class EgovUserManageController { List kakaoResultList = new ArrayList(); kakaoResultList = mjonKakaoATService.selectMjonKakaoATGroupCompleteByUserList(sendKakaoVO); - model.addAttribute("kakaoResultList", kakaoResultList); + model.addAttribute("kakaoResultList", kakaoResultList); /* * 알림톡/친구톡 예약발송 리스트 불러오기 * */ - - KakaoVO reserveKakaoVO = new KakaoVO(); - reserveKakaoVO.setSearchCondition2("Y");//예약건만 불러오기 - reserveKakaoVO.setReserveCYn("N");//예약취소건은 제외하기 - reserveKakaoVO.setUserId(reqMberManageVO.getMberId()); + + KakaoVO reserveKakaoVO = new KakaoVO(); + reserveKakaoVO.setSearchCondition2("Y");//예약건만 불러오기 + reserveKakaoVO.setReserveCYn("N");//예약취소건은 제외하기 + reserveKakaoVO.setUserId(reqMberManageVO.getMberId()); // 문자발송 완료건은 모두 보이도록 처리 //kakaoVO.setMsgType("8"); - reserveKakaoVO.setSearchSortCnd("reqDate"); - reserveKakaoVO.setSearchSortOrd("desc"); - reserveKakaoVO.setFirstIndex(0); + reserveKakaoVO.setSearchSortCnd("reqDate"); + reserveKakaoVO.setSearchSortOrd("desc"); + reserveKakaoVO.setFirstIndex(0); List kakaoReserveList = new ArrayList(); kakaoReserveList = mjonKakaoATService.selectReserveMjonKakaoATGroupList(reserveKakaoVO); - model.addAttribute("kakaoReserveList", kakaoReserveList); + model.addAttribute("kakaoReserveList", kakaoReserveList); /* * 팩스 발송 내역 리스트 불러오기 diff --git a/src/main/resources/egovframework/sqlmap/let/mjo/kakao/KakaoSent_SQL_Mysql.xml b/src/main/resources/egovframework/sqlmap/let/mjo/kakao/KakaoSent_SQL_Mysql.xml index 4bd0fcfd..b7e54ab1 100644 --- a/src/main/resources/egovframework/sqlmap/let/mjo/kakao/KakaoSent_SQL_Mysql.xml +++ b/src/main/resources/egovframework/sqlmap/let/mjo/kakao/KakaoSent_SQL_Mysql.xml @@ -375,7 +375,9 @@ AND MG.DEL_FLAG ='N' /* JSPark 2023.03.23 => 예약건중 발송완료건도 발송결과에 노출되도록 수정 */ /* AND MG.RESERVE_YN = 'N' */ - + AND MG.RESERVE_C_YN = #reserveCYn# diff --git a/src/main/resources/egovframework/sqlmap/let/msg/MjonMsgData_SQL_mysql.xml b/src/main/resources/egovframework/sqlmap/let/msg/MjonMsgData_SQL_mysql.xml index 197a840a..de67216c 100644 --- a/src/main/resources/egovframework/sqlmap/let/msg/MjonMsgData_SQL_mysql.xml +++ b/src/main/resources/egovframework/sqlmap/let/msg/MjonMsgData_SQL_mysql.xml @@ -2055,23 +2055,24 @@ + +
From 4ddae8d6ebe265e5d721f013bc4179382d7a5cb1 Mon Sep 17 00:00:00 2001 From: hylee Date: Tue, 4 Jul 2023 12:53:02 +0900 Subject: [PATCH 02/46] =?UTF-8?q?feat:api=20=EC=9A=94=EC=B2=AD=EC=97=90=20?= =?UTF-8?q?=EC=9D=98=ED=95=9C=20=EB=AC=B8=EC=9E=90=EB=B0=9C=EC=86=A1?= =?UTF-8?q?=EB=B6=80=EB=B6=84=20=EC=B5=9C=EC=8B=A0=ED=99=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../itn/let/mjo/test/web/TestController.java | 60 +++++++++---------- 1 file changed, 28 insertions(+), 32 deletions(-) diff --git a/src/main/java/itn/let/mjo/test/web/TestController.java b/src/main/java/itn/let/mjo/test/web/TestController.java index f4641c14..591ce491 100644 --- a/src/main/java/itn/let/mjo/test/web/TestController.java +++ b/src/main/java/itn/let/mjo/test/web/TestController.java @@ -1157,21 +1157,10 @@ public class TestController { try { - LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; - userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()); - - - // api인지 확인 - ApiKeyVO apiKeyVO = new ApiKeyVO(); - apiKeyVO.setAccessKey(mjonMsgVO.getAccessKey()); - List resultList = apiKeyMngService.selectCheckApiKeyDup(apiKeyVO); - - if(resultList.size() >= 1) { - userId = resultList.get(0).getMberId(); - } - - +// LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; +// userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()); + userId = mjonMsgVO.getMberId(); if(userId.equals("")) { modelAndView.addObject("message", "로그인 후 이용이 가능합니다."); @@ -1388,6 +1377,9 @@ public class TestController { } + // 토탈금액 "," 리플레이스 처리 + mjonMsgVO.setTotPrice(mjonMsgVO.getTotPrice().replaceAll(",", "")); + float tmpOrgEachPrice = Float.parseFloat(mjonMsgVO.getEachPrice()); float tmpOrgTotPrice = Float.parseFloat(mjonMsgVO.getTotPrice()); @@ -1517,8 +1509,6 @@ public class TestController { shortMsgVO = mjonMsgVO; longMsgVO = mjonMsgVO; imgMsgVO = mjonMsgVO; - System.out.println("shortMsgVO :: "+ shortMsgVO.getsPrice()); - System.out.println("mjonMsgVO :: "+ mjonMsgVO.getsPrice()); int shortMsgCnt = Integer.parseInt(mjonMsgVO.getShortMsgCnt()); int longMsgCnt = Integer.parseInt(mjonMsgVO.getLongMsgCnt()); @@ -1768,7 +1758,14 @@ public class TestController { imgMsgVO.setRep4List(imgRep4); //개별단가 계산하기 - String eachPrice = shortMsgVO.getsPrice(); + String eachPrice = imgMsgVO.getpPrice(); + + //api 서버에서 pPrice 값이 없는 경우가 있어서 오류 방지를위해서 추가 + if(eachPrice == null) { + + eachPrice = imgMsgVO.getEachPrice(); + + } /** * 그림문자에 치환 내용이 포함되어 있는 경우 단가 계산하기. @@ -1813,9 +1810,12 @@ public class TestController { //개별단가 계산하기 String eachPrice = shortMsgVO.getsPrice(); - if(StringUtils.isEmpty(eachPrice)) - { + + //api 서버에서 sPrice 값이 없는 경우가 있어서 오류 방지를위해서 추가 + if(eachPrice == null) { + eachPrice = shortMsgVO.getEachPrice(); + } /** @@ -1845,7 +1845,6 @@ public class TestController { shortMsgVO.setMsgType("4"); } - System.out.println("shortMsgVO.getEachPrice() :: "+ shortMsgVO.getEachPrice()); //총금액 계산하기 Float sTotPrice = Float.parseFloat(shortMsgVO.getEachPrice()) * shortCnt; shortMsgVO.setTotPrice(sTotPrice.toString()); @@ -1871,6 +1870,13 @@ public class TestController { String eachPrice = longMsgVO.getmPrice(); + //api 서버에서 mPrice 값이 없는 경우가 있어서 오류 방지를위해서 추가 + if(eachPrice == null) { + + eachPrice = longMsgVO.getEachPrice(); + + } + if(fileCount > 2) {//그림 이미지가 3개 eachPrice = mjonMsgVO.getP3Price(); @@ -2001,9 +2007,7 @@ public class TestController { }else { //문자발송 함수 호출 - 일괄변환이 없거나, 그림문자 일괄변환의 경우 한번에 전송 처리 - System.out.println("???????"); modelAndView = fncSendMsg(mjonMsgVO); - System.out.println("!!!!!!!!!!!!"); } @@ -2060,16 +2064,13 @@ public class TestController { // 법인폰 알람여부 체크 JoinSettingVO joinSettingVO = new JoinSettingVO(); joinSettingVO = egovSiteManagerService.selectAdminNotiDetail(); - // SMS 체크 - if (joinSettingVO != null && joinSettingVO.getSmsNoti().equals("Y")) { -// getAdminPhoneSendMsgData(mjonMsgVO); - } // SLACK 체크 if (joinSettingVO != null && joinSettingVO.getSlackNoti().equals("Y")) { //Slack으로 메세지 전송 처리 MjonCommon comm = new MjonCommon(); - comm.getAdminSandSlack(mjonMsgVO); + System.out.println("slack noti"); +// comm.getAdminSandSlack(mjonMsgVO); } } @@ -2079,11 +2080,6 @@ public class TestController { } return modelAndView; - - - - - } /** * 문자발송시 치환문자가 있거나 단문, 장문 일경우 타는 로직 From 0297b5f2b992ca9934ad76adbf0cfa0edabb7efb Mon Sep 17 00:00:00 2001 From: wyh Date: Tue, 4 Jul 2023 15:28:45 +0900 Subject: [PATCH 03/46] =?UTF-8?q?=EC=95=8C=EB=A6=BC=ED=86=A1=20=EC=8A=A4?= =?UTF-8?q?=EB=AF=B8=EC=8B=B1=20=EC=9D=98=EC=8B=AC=20=20=EB=B0=9C=EC=86=A1?= =?UTF-8?q?=EC=8A=B9=EC=9D=B8,=20=EB=B0=9C=EC=86=A1=EC=B7=A8=EC=86=8C=20?= =?UTF-8?q?=EA=B8=B0=EB=8A=A5=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kakaoAt/service/MjonKakaoATService.java | 2 + .../kakaoAt/service/impl/MjonKakaoATDAO.java | 4 + .../service/impl/MjonKakaoATServiceImpl.java | 5 + .../impl/KakaoAlimTalkServiceImpl.java | 2 + .../let/mjo/msg/service/MjonMsgService.java | 7 + .../itn/let/mjo/msg/service/MjonMsgVO.java | 2 +- .../let/mjo/msg/service/impl/MjonMsgDAO.java | 20 + .../msg/service/impl/MjonMsgServiceImpl.java | 113 ++++ .../let/mjo/msg/web/MjonMsgController.java | 155 ++++++ .../uss/umt/web/EgovUserManageController.java | 19 +- .../let/kakao/MjonKakaoATData_SQL_mysql.xml | 103 +++- .../sqlmap/let/msg/MjonMsgData_SQL_mysql.xml | 65 ++- .../cmm/uss/umt/EgovGnrlUserSelectUpdt.jsp | 520 ++++++++++++++++-- 13 files changed, 945 insertions(+), 72 deletions(-) diff --git a/src/main/java/itn/let/kakao/admin/kakaoAt/service/MjonKakaoATService.java b/src/main/java/itn/let/kakao/admin/kakaoAt/service/MjonKakaoATService.java index ba5594d1..dc4d986a 100644 --- a/src/main/java/itn/let/kakao/admin/kakaoAt/service/MjonKakaoATService.java +++ b/src/main/java/itn/let/kakao/admin/kakaoAt/service/MjonKakaoATService.java @@ -40,5 +40,7 @@ public interface MjonKakaoATService { //회원 정보 알림톡 상세정보 리스트 팝업 통계 정보 KakaoVO selectMjonKakaoStatisticATData(KakaoVO searchVO) throws Exception; + //알림톡 지연문자 리스트 조회 + List selectKakaoATDelaySentList(String userId) throws Exception; } diff --git a/src/main/java/itn/let/kakao/admin/kakaoAt/service/impl/MjonKakaoATDAO.java b/src/main/java/itn/let/kakao/admin/kakaoAt/service/impl/MjonKakaoATDAO.java index 9c7f9ca9..95a59740 100644 --- a/src/main/java/itn/let/kakao/admin/kakaoAt/service/impl/MjonKakaoATDAO.java +++ b/src/main/java/itn/let/kakao/admin/kakaoAt/service/impl/MjonKakaoATDAO.java @@ -88,4 +88,8 @@ public class MjonKakaoATDAO extends EgovAbstractDAO { return result; } + @SuppressWarnings("unchecked") + public List selectKakaoATDelaySentList(String userId) throws Exception{ + return (List)list("mjonKakaoATDAO.selectKakaoATDelaySentList", userId); + } } diff --git a/src/main/java/itn/let/kakao/admin/kakaoAt/service/impl/MjonKakaoATServiceImpl.java b/src/main/java/itn/let/kakao/admin/kakaoAt/service/impl/MjonKakaoATServiceImpl.java index 7b28abdc..fb8b4cbb 100644 --- a/src/main/java/itn/let/kakao/admin/kakaoAt/service/impl/MjonKakaoATServiceImpl.java +++ b/src/main/java/itn/let/kakao/admin/kakaoAt/service/impl/MjonKakaoATServiceImpl.java @@ -184,4 +184,9 @@ public class MjonKakaoATServiceImpl extends EgovAbstractServiceImpl implements M return result; } + + @Override + public List selectKakaoATDelaySentList(String userId) throws Exception { + return mjonKakaoATDAO.selectKakaoATDelaySentList(userId); + } } diff --git a/src/main/java/itn/let/kakao/user/kakaoAt/service/impl/KakaoAlimTalkServiceImpl.java b/src/main/java/itn/let/kakao/user/kakaoAt/service/impl/KakaoAlimTalkServiceImpl.java index 8a17ccf8..7d6e61b7 100644 --- a/src/main/java/itn/let/kakao/user/kakaoAt/service/impl/KakaoAlimTalkServiceImpl.java +++ b/src/main/java/itn/let/kakao/user/kakaoAt/service/impl/KakaoAlimTalkServiceImpl.java @@ -248,6 +248,8 @@ public class KakaoAlimTalkServiceImpl extends EgovAbstractServiceImpl implements mjonMsgVO.setBefCash(kakaoVO.getBefCash()); mjonMsgVO.setBefPoint(kakaoVO.getBefPoint()); mjonMsgVO.setKakaoSubMagOrgnlTxt(kakaoVO.getKakaoSubMagOrgnlTxt()); + mjonMsgVO.setAtDelayYn(kakaoVO.getAtSmishingYn()); + if(kakaoVO.getBizJsonYn().equals("Y")) { mjonMsgVO.setFileCnt("1"); diff --git a/src/main/java/itn/let/mjo/msg/service/MjonMsgService.java b/src/main/java/itn/let/mjo/msg/service/MjonMsgService.java index 36bc64c7..7d6b8299 100644 --- a/src/main/java/itn/let/mjo/msg/service/MjonMsgService.java +++ b/src/main/java/itn/let/mjo/msg/service/MjonMsgService.java @@ -198,6 +198,12 @@ public interface MjonMsgService { //스팸 / 스미싱 지연 문자 즉시 발송처리 int updateMsgDelaySendRealTimeData(MjonResvMsgVO mjonResvMsgVO) throws Exception; + //스팸 / 스미싱 지연 알림톡 발송 취소 처리 + int deleteKakaoAtDelaySendCancelData(MjonResvMsgVO mjonResvMsgVO) throws Exception; + + //스팸 / 스미싱 지연 알림톡 즉시 발송처리 + int updateKakaoAtDelaySendRealTimeData(MjonResvMsgVO mjonResvMsgVO) throws Exception; + //문자 그룹아이디 리스트의 발송일자 정보 불러오기 List selectMsgGroupDataReqDateList(MjonResvMsgVO mjonResvMsgVO) throws Exception; @@ -212,6 +218,7 @@ public interface MjonMsgService { //카카오 발송 횟수 List selectWithKakaoSendTotCnt(MjonMsgVO mjonMsgVO) throws Exception; + //문자 발송 횟수 List selectMsgSendTotCnt(MjonMsgVO mjonMsgVO) throws Exception; } diff --git a/src/main/java/itn/let/mjo/msg/service/MjonMsgVO.java b/src/main/java/itn/let/mjo/msg/service/MjonMsgVO.java index 8e5f4ca0..1c3527ff 100644 --- a/src/main/java/itn/let/mjo/msg/service/MjonMsgVO.java +++ b/src/main/java/itn/let/mjo/msg/service/MjonMsgVO.java @@ -354,7 +354,7 @@ public class MjonMsgVO extends ComDefaultVO{ private String delayYn; // 문자 30분 지연 처리 유무 private String delayCompleteYn; // 문자 30분 지연 처리 완료 유무 - private String atDelayYn; // 알림 30분 지연 처리 유무 + private String atDelayYn = "N"; // 알림 30분 지연 처리 유무 private String atDelayCompleteYn; // 알림톡 30분 지연 처리 완료 유무 private String atSmishingYn; // 알림 지연처리 diff --git a/src/main/java/itn/let/mjo/msg/service/impl/MjonMsgDAO.java b/src/main/java/itn/let/mjo/msg/service/impl/MjonMsgDAO.java index 2f0c8a94..81021f07 100644 --- a/src/main/java/itn/let/mjo/msg/service/impl/MjonMsgDAO.java +++ b/src/main/java/itn/let/mjo/msg/service/impl/MjonMsgDAO.java @@ -431,6 +431,26 @@ public class MjonMsgDAO extends EgovAbstractDAO { update("mjonMsgDAO.updateMsgDelaySendRealTimeMsgGroupDataFlag", mjonMsgVO); } + // mj_msg_data 테이블 지연 알림톡 취소 값 수정 + public void updateKakaoAtDelayCancelMsgDataFlag(MjonMsgVO mjonMsgVO) { + update("mjonMsgDAO.updateKakaoAtDelayCancelMsgDataFlag", mjonMsgVO); + } + + // mj_msg_group_data 테이블 지연 알림톡 취소 값 수정 + public void updateKakaoAtDelayCancelMsgGroupDataFlag(MjonMsgVO mjonMsgVO) { + update("mjonMsgDAO.updateKakaoAtDelayCancelMsgGroupDataFlag", mjonMsgVO); + } + + // mj_msg_data 테이블 지연 알림톡 즉시발송 요청시간 수정 + public void updateKakaoAtDelaySendRealTimeMsgDataFlag(MjonMsgVO mjonMsgVO) { + update("mjonMsgDAO.updateKakaoAtDelaySendRealTimeMsgDataFlag", mjonMsgVO); + } + + // mj_msg_group_data 테이블 지연 알림톡 즉시발송 요청시간 수정 + public void updateKakaoAtDelaySendRealTimeMsgGroupDataFlag(MjonMsgVO mjonMsgVO) { + update("mjonMsgDAO.updateKakaoAtDelaySendRealTimeMsgGroupDataFlag", mjonMsgVO); + } + //문자 그룹아이디 리스트의 발송일자 정보 불러오기 @SuppressWarnings("unchecked") public List selectMsgGroupDataReqDateList(MjonResvMsgVO mjonResvMsgVO) throws Exception{ diff --git a/src/main/java/itn/let/mjo/msg/service/impl/MjonMsgServiceImpl.java b/src/main/java/itn/let/mjo/msg/service/impl/MjonMsgServiceImpl.java index f67878fe..8db67237 100644 --- a/src/main/java/itn/let/mjo/msg/service/impl/MjonMsgServiceImpl.java +++ b/src/main/java/itn/let/mjo/msg/service/impl/MjonMsgServiceImpl.java @@ -841,6 +841,119 @@ public class MjonMsgServiceImpl extends EgovAbstractServiceImpl implements MjonM return resultSts; } + //스팸 / 스미싱 지연 알림톡 발송 취소 처리 + @Override + public int deleteKakaoAtDelaySendCancelData(MjonResvMsgVO mjonResvMsgVO) throws Exception { + + int resultSts = 0; + + try { + + System.out.println("++++++++++++++++++ deleteKakaoAtDelaySendCancelData groupId ::: "+mjonResvMsgVO.getMsgGroupId()); + //삭제 문자 건수 MSG_SEQ 번호 받아오기 + List resultMsgSeqList = mjonReservMsgDAO.selectMsgSeqListByGroupId(mjonResvMsgVO); + + int size = resultMsgSeqList.size(); + List userDataList = new ArrayList(); + for(int i=0; i < size; i++) { + userDataList.add(resultMsgSeqList.get(i).getUserData()); + System.out.println(resultMsgSeqList.get(i).getUserData()); + } + + mjonResvMsgVO.setUserDataList(userDataList); + + + //비즈뿌리오 딜레이 알림톡 삭제 + resultSts = mjonReservMsgDAO.deleteBizMsgSeqListByMsgSeq(mjonResvMsgVO); + + System.out.println("++++++++++++++++++++++++++++++ resultSts ::: "+resultSts); + + //예약 취소 환불 처리 + if(resultSts > 0) { + + //그룹 데이터 정보 조회하기 + MjonMsgVO mjonMsgVO = mjonMsgDAO.selectMsgGroupDataByGoupId(mjonResvMsgVO); + + //mj_msg_data 테이블 지연 문자 취소 값 수정 + mjonMsgDAO.updateKakaoAtDelayCancelMsgDataFlag(mjonMsgVO); + + //mj_msg_group_data 테이블 예약 취소 값 수정 + mjonMsgDAO.updateKakaoAtDelayCancelMsgGroupDataFlag(mjonMsgVO); + + + //문자 발송 캐시 환불 해주기 + MjonPayVO mjonPayVO = new MjonPayVO(); + + mjonPayVO.setCashId(idgenMjonCashId.getNextStringId()); + mjonPayVO.setUserId(mjonMsgVO.getUserId()); + mjonPayVO.setCash(Float.parseFloat(mjonMsgVO.getTotPrice())); + mjonPayVO.setFrstRegisterId(mjonMsgVO.getUserId()); + mjonPayVO.setMemo("스팸/스미싱 지연 알림톡 취소 " + resultSts + "건 환불"); + mjonPayVO.setMsgGroupId(mjonMsgVO.getMsgGroupId()); + + mjonPayDAO.insertCash(mjonPayVO); //캐시 환불 + mjonPayDAO.updateMemberCash(mjonPayVO); //회원정보 업데이트 + + } + + + } catch (Exception e) { + System.out.println("+++++++++++++++++++++++++++++++++++ deleteMsgDelaySendCancelData ServiceImpl Error !!!! "+e); + } + return resultSts; + + } + + //스팸 / 스미싱 지연 알림톡 즉시 발송처리 + @Override + public int updateKakaoAtDelaySendRealTimeData(MjonResvMsgVO mjonResvMsgVO) throws Exception { + + int resultSts = 0; + + try { + + System.out.println("++++++++++++++++++ updateKakaoAtDelaySendRealTimeData groupId ::: "+mjonResvMsgVO.getMsgGroupId()); + //삭제 문자 건수 MSG_SEQ 번호 받아오기 + List resultMsgSeqList = mjonReservMsgDAO.selectMsgSeqListByGroupId(mjonResvMsgVO); + + int size = resultMsgSeqList.size(); + List userDataList = new ArrayList(); + for(int i=0; i < size; i++) { + + userDataList.add(resultMsgSeqList.get(i).getUserData()); + System.out.println(resultMsgSeqList.get(i).getUserData()); + + } + + mjonResvMsgVO.setUserDataList(userDataList); + + //비즈뿌리오 딜레이문자 즉시발송 처리 + resultSts = mjonReservMsgDAO.updateRealTimeBizMsgSeqListByMsgSeq(mjonResvMsgVO); + + System.out.println("++++++++++++++++++++++++++++++ resultSts ::: "+resultSts); + + //예약 취소 환불 처리 + if(resultSts > 0) { + + //그룹 데이터 정보 조회하기 + MjonMsgVO mjonMsgVO = mjonMsgDAO.selectMsgGroupDataByGoupId(mjonResvMsgVO); + + //mj_msg_data 테이블 지연 문자 즉시발송 요청 값 수정 + mjonMsgDAO.updateKakaoAtDelaySendRealTimeMsgDataFlag(mjonMsgVO); + + //mj_msg_group_data 테이블 즉시발송 요청 값 수정 + mjonMsgDAO.updateKakaoAtDelaySendRealTimeMsgGroupDataFlag(mjonMsgVO); + + } + + } catch (Exception e) { + System.out.println("+++++++++++++++++++++++++++++++++++ updateMsgDelaySendRealTimeDataAjax ServiceImpl Error !!!! "+e); + } + + + return resultSts; + } + //문자 그룹아이디 리스트의 발송일자 정보 불러오기 @Override public List selectMsgGroupDataReqDateList(MjonResvMsgVO mjonResvMsgVO) throws Exception{ 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 b5e67096..072f9f47 100644 --- a/src/main/java/itn/let/mjo/msg/web/MjonMsgController.java +++ b/src/main/java/itn/let/mjo/msg/web/MjonMsgController.java @@ -3618,6 +3618,161 @@ public class MjonMsgController { return modelAndView; } + /** + * 스팸 및 스미싱 30분 지연알림톡 전송 취소 처리 + * @param mjonMsgVO + * @param model + * @return "/uss/ion/msg/deleteKakaoATDelaySendCancelDataAjax.do" + * @throws Exception + */ + @RequestMapping(value = {"/uss/ion/msg/deleteKakaoATDelaySendCancelDataAjax.do"}) + public ModelAndView deleteKakaoATDelaySendCancelDataAjax(MjonMsgVO mjonMsgVO) throws Exception { + + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + + String isStatus = ""; + String msg = ""; + + //로그인 정보 획득 + LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()); + + if(userId.equals("")) { + + modelAndView.addObject("isStatus", "loginFail"); + modelAndView.addObject("msg", "로그인이 필요합니다."); + return modelAndView; + + } + + try { + + MjonResvMsgVO mjonResvMsgVO = new MjonResvMsgVO(); + mjonResvMsgVO.setUserId(mjonMsgVO.getUserId());//회원 아이디 + + + String[] arrMsgGroupId = mjonMsgVO.getMsgGroupId().split(","); + int resultSts = 0; + + //문자 발송요청일자 체크해주기 + boolean compareReqDate = getCompareReqDateList(arrMsgGroupId, mjonMsgVO.getUserId()); + + if(!compareReqDate) { + + modelAndView.addObject("isStatus", "dateFail"); + modelAndView.addObject("msg", "발송시간이 지난 문자가 있습니다. 문자 발송예정 시간을 확인해 주세요."); + return modelAndView; + } + + for(String temp : arrMsgGroupId) { + + mjonResvMsgVO.setMsgGroupId(temp);//취소 문자 그룹 아이디 + int count = mjonMsgService.deleteKakaoAtDelaySendCancelData(mjonResvMsgVO); + + resultSts = resultSts + count; + + } + + if(resultSts > 0) { + + modelAndView.addObject("isStatus", "success"); + modelAndView.addObject("msg", "발송취소가 정상적으로 처리되었습니다."); + + }else { + + modelAndView.addObject("isStatus", "fail"); + modelAndView.addObject("msg", "발송취소에 오류가 발생하였습니다."); + } + + } catch (Exception e) { + System.out.println("+++++++++++++++++++++++++++++++++++ deleteKakaoATDelaySendCancelDataAjax Controller Error !!!! "+e); + modelAndView.addObject("isStatus", "fail"); + modelAndView.addObject("msg", "오류가 발생하였습니다."); + return modelAndView; + } + return modelAndView; + } + + + /** + * 스팸 및 스미싱 30분 지연알림톡 즉시 전송 처리 + * @param mjonMsgVO + * @param model + * @return "/uss/ion/msg/updateKakaoATDelaySendRealTimeDataAjax.do" + * @throws Exception + */ + @RequestMapping(value = {"/uss/ion/msg/updateKakaoATDelaySendRealTimeDataAjax.do"}) + public ModelAndView updateKakaoATDelaySendRealTimeDataAjax(MjonMsgVO mjonMsgVO) throws Exception { + + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + + String isStatus = ""; + String msg = ""; + + //로그인 정보 획득 + LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()); + + if(userId.equals("")) { + + modelAndView.addObject("isStatus", "loginFail"); + modelAndView.addObject("msg", "로그인이 필요합니다."); + return modelAndView; + + } + + try { + + MjonResvMsgVO mjonResvMsgVO = new MjonResvMsgVO(); + mjonResvMsgVO.setUserId(mjonMsgVO.getUserId());//회원 아이디 + + String[] arrMsgGroupId = mjonMsgVO.getMsgGroupId().split(","); + int resultSts = 0; + + //문자 발송요청일자 체크해주기 + boolean compareReqDate = getCompareReqDateList(arrMsgGroupId, mjonMsgVO.getUserId()); + + if(!compareReqDate) { + + modelAndView.addObject("isStatus", "dateFail"); + modelAndView.addObject("msg", "발송시간이 지난 문자가 있습니다. 문자 발송예정 시간을 확인해 주세요."); + return modelAndView; + } + + for(String temp : arrMsgGroupId) { + + mjonResvMsgVO.setMsgGroupId(temp);//취소 문자 그룹 아이디 + + //문자 발송 지연 데이터 즉시 발송처리 + int count = mjonMsgService.updateKakaoAtDelaySendRealTimeData(mjonResvMsgVO); + + resultSts = resultSts + count; + + } + + if(resultSts > 0) { + + modelAndView.addObject("isStatus", "success"); + modelAndView.addObject("msg", "즉시 발송 처리가 완료되었습니다."); + + }else { + + modelAndView.addObject("isStatus", "fail"); + modelAndView.addObject("msg", "즉시 발송 처리에 오류가 발생하였습니다."); + } + + } catch (Exception e) { + System.out.println("+++++++++++++++++++++++++++++++++++ updateKakaoATDelaySendRealTimeDataAjax Controller Error !!!! "+e); + modelAndView.addObject("isStatus", "fail"); + modelAndView.addObject("msg", "오류가 발생하였습니다."); + return modelAndView; + } + + return modelAndView; + } + /** * 전송사 발송 통계 * @param diff --git a/src/main/java/itn/let/uss/umt/web/EgovUserManageController.java b/src/main/java/itn/let/uss/umt/web/EgovUserManageController.java index 587e0ea1..a5298ce5 100644 --- a/src/main/java/itn/let/uss/umt/web/EgovUserManageController.java +++ b/src/main/java/itn/let/uss/umt/web/EgovUserManageController.java @@ -1366,7 +1366,7 @@ public class EgovUserManageController { /* * 알림톡/친구톡 최근 발송내역 리스트 불러오기 - * */ + */ KakaoVO sendKakaoVO = new KakaoVO(); sendKakaoVO.setSearchCondition2("N");//예약건은 제외하기 @@ -1384,7 +1384,7 @@ public class EgovUserManageController { /* * 알림톡/친구톡 예약발송 리스트 불러오기 - * */ + */ KakaoVO reserveKakaoVO = new KakaoVO(); reserveKakaoVO.setSearchCondition2("Y");//예약건만 불러오기 @@ -1400,15 +1400,18 @@ public class EgovUserManageController { model.addAttribute("kakaoReserveList", kakaoReserveList); + /* - * 팩스 발송 내역 리스트 불러오기 - * */ - + * 알림톡 지연처리 알림톡 내용 불러오기(30분 지연처리된 알림톡 내역 불러오기) + */ + List kakaoATDelaySentList = mjonKakaoATService.selectKakaoATDelaySentList(reqMberManageVO.getMberId()); + + model.addAttribute("kakaoATDelaySentList", kakaoATDelaySentList); + } + + {//팩스 발송 내역 리스트 불러오기 List faxSendListVO = faxService.selectFaxMainList(new FaxGroupDataVO(reqMberManageVO.getMberId())); model.addAttribute("faxSendListVO", faxSendListVO); - - //} - } {//사용중인 전송사 정보 조회하기 - 사용자 전용 전송사 리스트 표시용 diff --git a/src/main/resources/egovframework/sqlmap/let/kakao/MjonKakaoATData_SQL_mysql.xml b/src/main/resources/egovframework/sqlmap/let/kakao/MjonKakaoATData_SQL_mysql.xml index a7d89202..cef8b5a8 100644 --- a/src/main/resources/egovframework/sqlmap/let/kakao/MjonKakaoATData_SQL_mysql.xml +++ b/src/main/resources/egovframework/sqlmap/let/kakao/MjonKakaoATData_SQL_mysql.xml @@ -2252,10 +2252,101 @@ - - - - - - + \ No newline at end of file diff --git a/src/main/resources/egovframework/sqlmap/let/msg/MjonMsgData_SQL_mysql.xml b/src/main/resources/egovframework/sqlmap/let/msg/MjonMsgData_SQL_mysql.xml index de67216c..94851264 100644 --- a/src/main/resources/egovframework/sqlmap/let/msg/MjonMsgData_SQL_mysql.xml +++ b/src/main/resources/egovframework/sqlmap/let/msg/MjonMsgData_SQL_mysql.xml @@ -2209,8 +2209,9 @@ FILE_CNT, TOT_PRICE, EVENT_YN, - DELAY_YN - , BIZ_KAKAO_RESEND_ORGNL_TXT + DELAY_YN, + AT_DELAY_YN, + BIZ_KAKAO_RESEND_ORGNL_TXT ) VALUES @@ -2234,8 +2235,9 @@ #fileCnt#, #totPrice#, #eventYn#, - #delayYn# - , #kakaoSubMagOrgnlTxt# + #delayYn#, + #atDelayYn#, + #kakaoSubMagOrgnlTxt# ) @@ -6551,5 +6553,60 @@ ORDER BY M.orderByCode + + + UPDATE + MJ_MSG_DATA + SET + REFUND_YN = 'Y' + , REQ_DATE = NOW() + , RESULT_LOG_UPDT_PNTTM = NOW() + , CUR_STATE = '3' + , RSLT_CODE = '7300' + WHERE 1=1 + AND USER_ID = #userId# + AND MSG_GROUP_ID = #msgGroupId# + + + + + + UPDATE + MJ_MSG_GROUP_DATA + SET + CANCELDATE = NOW() + , REQ_DATE = NOW() + , AT_DELAY_COMPLETE_YN = 'Y' + WHERE 1=1 + AND USER_ID = #userId# + AND MSG_GROUP_ID = #msgGroupId# + + + + + + UPDATE + MJ_MSG_DATA + SET + REQ_DATE = NOW() + WHERE 1=1 + AND USER_ID = #userId# + AND MSG_GROUP_ID = #msgGroupId# + + + + + + UPDATE + MJ_MSG_GROUP_DATA + SET + REQ_DATE = NOW() + , AT_DELAY_COMPLETE_YN = 'Y' + WHERE 1=1 + AND USER_ID = #userId# + AND MSG_GROUP_ID = #msgGroupId# + + + diff --git a/src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovGnrlUserSelectUpdt.jsp b/src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovGnrlUserSelectUpdt.jsp index 7448d5b1..317ce0cc 100644 --- a/src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovGnrlUserSelectUpdt.jsp +++ b/src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovGnrlUserSelectUpdt.jsp @@ -1183,44 +1183,6 @@ function fnMberSmishingYn(){ } -//알림톡 스미싱의심 여부 -function fnMberAtSmishingYn(){ - var form = document.mberManageVO; - var atSmishingYn = form.atSmishingYn.value; - - if(confirm("알림톡 스미싱의심 여부를 변경하시겠습니까?")){ - - $.ajax({ - type: "POST", - url: "/uss/umt/user/EgovGnrlUpdateUserAtSmishingAjax.do", - data: {"atSmishingYn" : atSmishingYn, "mberId" : "${mberManageVO.mberId}"}, - dataType:'json', - async: false, - success: function (data, status) { - if (data.isSuccess) { - alert("변경 완료했습니다."); - } - else { - alert(data.msg); - } - }, - beforeSend: function () { - //로딩창 show - $('.loading_layer').addClass('active'); - }, - complete: function () { - //로딩창 hide - $('.loading_layer').removeClass('active'); - }, - error: function (e) { - alert("에러가 발생했습니다."); console.log("ERROR : ", e); - } - }); - - } - -} - // VIP 여부 function fnMberVIPYn(){ var form = document.mberManageVO; @@ -2422,6 +2384,331 @@ function fnMberExceptSpamYn(){ } +//알림톡 지연 기능추가 ------------------------------------------------------- + +//알림톡 스미싱의심 여부 +function fnMberAtSmishingYn(){ + var form = document.mberManageVO; + var atSmishingYn = form.atSmishingYn.value; + + if(confirm("알림톡 스미싱의심 여부를 변경하시겠습니까?")){ + + $.ajax({ + type: "POST", + url: "/uss/umt/user/EgovGnrlUpdateUserAtSmishingAjax.do", + data: {"atSmishingYn" : atSmishingYn, "mberId" : "${mberManageVO.mberId}"}, + dataType:'json', + async: false, + success: function (data, status) { + if (data.isSuccess) { + alert("변경 완료했습니다."); + } + else { + alert(data.msg); + } + }, + beforeSend: function () { + //로딩창 show + $('.loading_layer').addClass('active'); + }, + complete: function () { + //로딩창 hide + $('.loading_layer').removeClass('active'); + }, + error: function (e) { + alert("에러가 발생했습니다."); console.log("ERROR : ", e); + } + }); + + } +} + +//지연 알림톡 전체선택 +function kakaoATDelayCheckAll(){ + var checkField = document.kakaoATDelayForm.kakaoATCheckDelayField; + + if(document.kakaoATDelayForm.kakaoATCheckAll.checked) { + if(checkField) { + if(checkField.length > 1) { + for(var i=0; i < checkField.length; i++) { + checkField[i].checked = true; + } + } else { + checkField.checked = true; + } + } + } else { + if(checkField) { + if(checkField.length > 1) { + for(var j=0; j < checkField.length; j++) { + checkField[j].checked = false; + } + } else { + checkField.checked = false; + } + } + } +} + +//지연 알림톡 즉시 발송 리스트 +function kakaoATDelaySendArray(){ + + var userId = document.modiForm.mberId.value; //사용자 회원 아이디 + var form = document.kakaoATDelayForm; + + if($("input:checkbox[name='kakaoATCheckDelayField']").is(":checked")==false){ + alert("선택된 알림톡이 없습니다."); + return; + } + var checkField = form.kakaoATCheckDelayField; + var id = form.kakaoATCheckDelayId; + var checkedIds = ""; + var checkedCount = 0; + if(checkField) { + if(checkField.length > 1) { + for(var i=0; i < checkField.length; i++) { + if(checkField[i].checked) { + checkedIds += ((checkedCount==0? "" : ",") + id[i].value); + checkedCount++; + } + } + } else { + if(checkField.checked) { + checkedIds = id.value; + } + } + } + + var msgGroupId = checkedIds; + + var msg = ""; + var url = "/uss/ion/msg/updateKakaoATDelaySendRealTimeDataAjax.do"; + var json = {"msgGroupId" : msgGroupId, "userId" : userId}; + + if(confirm("해당 지연 알림톡을 즉시 발송 하시겠습니까?")){ + $.ajax({ + type: "POST" + , url: url + , data: json + , dataType:'json' + , async: false + , success: function (data, status) { + var result = data.isStatus; + var msg = data.msg; + if (result == 'loginFail') { + alert(msg); + location.reload(); + }else if(result == 'dateFail'){ + alert(msg); + location.reload(); + }else if(result == 'fail'){ + alert(msg); + return false; + }else{ + alert(msg); + location.reload(); + } + } + , beforeSend: function () { + //로딩창 show + $('.loading_layer').addClass('active'); + } + , complete: function () { + //로딩창 hide + $('.loading_layer').removeClass('active'); + } + , error: function (e) { + alert("에러가 발생했습니다."); console.log("ERROR : ", e); + } + }); + } +} + +//지연 알림톡 즉시 발송 +function kakaoATDelaySend(msgGroupId){ + + var userId = document.modiForm.mberId.value; //사용자 회원 아이디 + + var msg = ""; + var url = "/uss/ion/msg/updateKakaoATDelaySendRealTimeDataAjax.do"; + var json = {"msgGroupId" : msgGroupId, "userId" : userId}; + + if(confirm("해당 지연 알림톡을 즉시 발송 하시겠습니까?")){ + $.ajax({ + type: "POST" + , url: url + , data: json + , dataType:'json' + , async: false + , success: function (data, status) { + var result = data.isStatus; + var msg = data.msg; + if (result == 'loginFail') { + alert(msg); + location.reload(); + }else if(result == 'dateFail'){ + alert(msg); + location.reload(); + }else if(result == 'fail'){ + alert(msg); + return false; + }else{ + alert(msg); + location.reload(); + } + } + , beforeSend: function () { + //로딩창 show + $('.loading_layer').addClass('active'); + } + , complete: function () { + //로딩창 hide + $('.loading_layer').removeClass('active'); + } + , error: function (e) { + alert("에러가 발생했습니다."); console.log("ERROR : ", e); + } + }); + } +} + +//지연 알림톡 발송취소 리스트 +function kakaoATDelayCancelArray(){ + + var userId = document.modiForm.mberId.value; //사용자 회원 아이디 + var form = document.kakaoATDelayForm; + + if($("input:checkbox[name='kakaoATCheckDelayField']").is(":checked")==false){ + alert("선택된 알림톡이 없습니다."); + return; + } + var checkField = form.kakaoATCheckDelayField; + var id = form.kakaoATCheckDelayId; + var checkedIds = ""; + var checkedCount = 0; + if(checkField) { + if(checkField.length > 1) { + for(var i=0; i < checkField.length; i++) { + if(checkField[i].checked) { + checkedIds += ((checkedCount==0? "" : ",") + id[i].value); + checkedCount++; + } + } + } else { + if(checkField.checked) { + checkedIds = id.value; + } + } + } + + var msgGroupId = checkedIds; + + var msg = ""; + var url = "/uss/ion/msg/deleteKakaoATDelaySendCancelDataAjax.do"; + var json = {"msgGroupId" : msgGroupId, "userId" : userId}; + + if(confirm("해당 지연 알림톡을 발송취소 하시겠습니까?")){ + $.ajax({ + type: "POST" + , url: url + , data: json + , dataType:'json' + , async: false + , success: function (data, status) { + var result = data.isStatus; + var msg = data.msg; + + if (result == 'loginFail') { + alert(msg); + location.reload(); + }else if(result == 'dateFail'){ + + alert(msg); + location.reload(); + + }else if(result == 'fail'){ + alert(msg); + return false; + }else{ + + alert(msg); + + //회원 이용정지 처리하기 + //fn_updateMberSttus(msgGroupId); + fn_MsgDelayCancel_after(); + + } + } + , beforeSend: function () { + //로딩창 show + $('.loading_layer').addClass('active'); + } + , complete: function () { + //로딩창 hide + $('.loading_layer').removeClass('active'); + } + , error: function (e) { + alert("에러가 발생했습니다."); console.log("ERROR : ", e); + } + }); + } +} + +//지연 알림톡 발송취소 +function kakaoATDelayCancel(msgGroupId){ + + var userId = document.modiForm.mberId.value; //사용자 회원 아이디 + + var msg = ""; + var url = "/uss/ion/msg/deleteKakaoATDelaySendCancelDataAjax.do"; + var json = {"msgGroupId" : msgGroupId, "userId" : userId}; + + if(confirm("해당 지연 알림톡을 발송취소 하시겠습니까?")){ + $.ajax({ + type: "POST" + , url: url + , data: json + , dataType:'json' + , async: false + , success: function (data, status) { + var result = data.isStatus; + var msg = data.msg; + + if (result == 'loginFail') { + alert(msg); + location.reload(); + }else if(result == 'dateFail'){ + + alert(msg); + location.reload(); + + }else if(result == 'fail'){ + alert(msg); + return false; + }else{ + + alert(msg); + + //회원 이용정지 처리하기 + //fn_updateMberSttus(msgGroupId); + fn_MsgDelayCancel_after(); + + } + } + , beforeSend: function () { + //로딩창 show + $('.loading_layer').addClass('active'); + } + , complete: function () { + //로딩창 hide + $('.loading_layer').removeClass('active'); + } + , error: function (e) { + alert("에러가 발생했습니다."); console.log("ERROR : ", e); + } + }); + } +} + @@ -214,10 +217,10 @@

충전수단 선택

    -
  • -
  • +
  • +
  • -
  • +
  • From cd6154280ce0628fd840c296b52010c781a6cd9c Mon Sep 17 00:00:00 2001 From: hylee Date: Mon, 10 Jul 2023 10:10:48 +0900 Subject: [PATCH 23/46] =?UTF-8?q?feat:=20pms=20-=203258=20"=ED=8C=A9?= =?UTF-8?q?=EC=8A=A4=20=EB=B0=9C=EC=86=A1=EC=A0=84=20=EB=B9=84=EC=9A=A9=20?= =?UTF-8?q?=EC=B2=B4=ED=81=AC"=20=EC=99=84=EB=A3=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../webapp/WEB-INF/jsp/web/fax/faxDataView.jsp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/main/webapp/WEB-INF/jsp/web/fax/faxDataView.jsp b/src/main/webapp/WEB-INF/jsp/web/fax/faxDataView.jsp index fc0eb24c..ed562130 100644 --- a/src/main/webapp/WEB-INF/jsp/web/fax/faxDataView.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/fax/faxDataView.jsp @@ -51,6 +51,11 @@ return false; } + if(!moneyChk()){ + return false; + } + + if(!valueChk()){ return false; } @@ -152,6 +157,19 @@ } + function moneyChk(){ + + //회원 보유 잔액 비교 + var totPriceOnly = stringReplaceAll($('#totalPriceTxt').text() , ",", ""); + var userMoneyOnly = stringReplaceAll($('#hdUserMoney').text(), ",", ""); + + if(parseFloat(userMoneyOnly) < parseFloat(totPriceOnly)){ + alert("팩스 발송에 필요한 회원님의 보유 잔액이 부족 합니다."); + return false; + } + } + + function valueChk(){ if($('#title').val() == ''){ alert('제목을 입력해 주세요.'); From 1440bdc74f9f0872aec9dd4b948525317458b95e Mon Sep 17 00:00:00 2001 From: wyh Date: Mon, 10 Jul 2023 10:56:12 +0900 Subject: [PATCH 24/46] =?UTF-8?q?=EC=9B=90=EC=98=81=ED=98=84=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cmm/uss/umt/EgovGnrlUserSelectUpdt.jsp | 34 +++++++------------ 1 file changed, 13 insertions(+), 21 deletions(-) diff --git a/src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovGnrlUserSelectUpdt.jsp b/src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovGnrlUserSelectUpdt.jsp index b13af576..e4cdd46b 100644 --- a/src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovGnrlUserSelectUpdt.jsp +++ b/src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovGnrlUserSelectUpdt.jsp @@ -3689,7 +3689,7 @@ function kakaoATDelayCancel(msgGroupId){ 그림문자 - +
    @@ -3870,9 +3870,9 @@ function kakaoATDelayCancel(msgGroupId){ - - + - + @@ -3885,7 +3885,7 @@ function kakaoATDelayCancel(msgGroupId){ 그림문자 - +
    @@ -4066,24 +4066,16 @@ function kakaoATDelayCancel(msgGroupId){ - <%-- -
    - - - - 그림이미지 - - - - - - -
    - --%> - - 그림문자 + + + 내용없음 + + + 그림문자 + +
    @@ -5252,7 +5244,7 @@ function kakaoATDelayCancel(msgGroupId){
    작성 : ( )
    - 일시 : + 일시 :
From f8df9f4d73be52cedf07c091fd552fc9968ffe03 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?ITN=5F=EB=94=94=EC=9E=90=EC=9D=B8=ED=8C=80?= Date: Mon, 10 Jul 2023 10:59:33 +0900 Subject: [PATCH 25/46] =?UTF-8?q?2023/07/10=20=EB=AC=B8=EC=9E=90=EC=98=A8?= =?UTF-8?q?=20=EB=93=B1=EA=B8=89=EC=A0=9C,=20=EA=B0=84=ED=8E=B8=EA=B2=B0?= =?UTF-8?q?=EC=A0=9C=20=ED=8D=BC=EB=B8=94=EB=A6=AC=EC=8B=B1=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/webapp/publish/css/content.css | 2 +- src/main/webapp/publish/firstpay_event.html | 403 ------------------- src/main/webapp/publish/firstpay_event2.html | 227 ++++++----- src/main/webapp/publish/guide_2022.html | 2 + src/main/webapp/publish/payment2.html | 2 +- 5 files changed, 139 insertions(+), 497 deletions(-) diff --git a/src/main/webapp/publish/css/content.css b/src/main/webapp/publish/css/content.css index 44dece7e..7074e76d 100644 --- a/src/main/webapp/publish/css/content.css +++ b/src/main/webapp/publish/css/content.css @@ -821,7 +821,7 @@ button.check_validity:hover {border: 1px solid #a3a3a3;box-shadow: 0px 0px 5px .ext_info li:nth-child(1) i {background-image: url(/publish/images/content/list_view_icon1.png); width: 16px; height: 16px; } .ext_info li:nth-child(2) i {background-image: url(/publish/images/content/list_view_icon2.png); width: 16px; height: 16px; margin: 0 10px 3px 0;} .ext_info li:nth-child(3) i {background-image: url(/publish/images/content/hits_icon.png); width: 24px; height: 14px; margin: 0 10px 3px 0; opacity: 0.9;} -.view_wrap .view_cont {padding: 40px 00px; box-sizing: border-box; border-bottom: 1px solid #d5d5d5;} +/*.view_wrap .view_cont {padding: 40px 00px; box-sizing: border-box; border-bottom: 1px solid #d5d5d5;}*/ .view_wrap .view_cont .cont_in {font-size: 18px; line-height: 1.5; font-weight: 300;} .view_wrap .view_cont .cont_in .img_cont {text-align: center; margin-bottom: 70px;} diff --git a/src/main/webapp/publish/firstpay_event.html b/src/main/webapp/publish/firstpay_event.html index 818b9738..8a5fad62 100644 --- a/src/main/webapp/publish/firstpay_event.html +++ b/src/main/webapp/publish/firstpay_event.html @@ -282,410 +282,7 @@ 문자온 이벤트 및 혜택을 문자, 카카오톡, 메일로 수신하는 것에 동의합니다. -->
-
-
-

충전수단 선택

-
    -
  • -
  • -
  • - -
  • -
  • -
-
- - -
-

- 간편결제 스몰 아이콘 간편결제

- - - - - - - - - - - - - - - - - - -
충전금액 - - - -

-
-
-
-
최종 결제금액 :
-
-
    -
  • 50,000원(공급가액)
  • -
  • 5,000원(부가세)
  • -
  • 55,000원(최종금액)
  • -
-
-
- -
-
-
- -

- 인터넷 익스플로러 이용 고객께서는 도구-팝업 차단 해제 후 충전이 가능합니다.

-

- 결제사별 정책상 충전금액 제한이 있을 수 있습니다.

-
-
-
- - - -
-

신용카드

- - - - - - - - - - - - - - - - - - -
충전금액 - - - -

-
-
-
-
최종 결제금액 :
-
-
    -
  • 50,000원(공급가액)
  • -
  • 5,000원(부가세)
  • -
  • 55,000원(최종금액)
  • -
-
-
- -
-
-
- -

- 인터넷 익스플로러 이용 고객께서는 도구-팝업 차단 해제 후 충전이 가능합니다. -

-

- 카드사별 정책상 충전금액 제한이 있을 수 있습니다. 단, ARS 신용카드 - 결제는 충전금액 제한 없이 이용하실 수 있습니다.

-
-
-
- - - -
- -

계좌 이미 전용계좌

- - - - - - - - - - - - -
-
-

1. 현재 발급받은 전용계좌가 없습니다.

-

2. 입금 즉시 자동 충전되는 나만의 전용계좌 개설(평생 사용가능, 5천원 이상 입금 가능)

- -
-
- - -

- -
- - -

계좌 이미 전용계좌

- - - - - - - - - - - - - - -
-
- 보유한 전용 계좌가 없습니다. -
-
-
-

- 전용계좌는 개설일로부터 3개월 미사용 시 자동 해지됩니다.

-

- 전용계좌에 5,000원 이상 입금 시, 연중무휴 실시간 자동 충전이 - 가능합니다.

- -

- 계좌번호 문자로 받기(일/3회까지) - - - -

-
-
-
- - - -
-

휴대폰결제

- - - - - - - - - - - - - - - - - - -
충전금액 - - - -

-
-
-
-
최종 결제금액 :
-
-
    -
  • 50,000원(공급가액)
  • -
  • 5,000원(부가세)
  • -
  • 55,000원(최종금액)
  • -
-
-
- -
-
-
-

- 월 30만원 한도 내에서 충전하실 수 있습니다.

-

- 휴대폰 소액결제 제한에 관한 사항은 가입하신 통신사를 통해 확인하실 수 - 있습니다.

-

- 인터넷 익스플로러 이용 고객께서는 도구-팝업 차단 해제 후 충전이 가능합니다. -

-
-
-
- - - -
-

즉시이체

- - - - - - - - - - - - - - - - - - -
충전금액 - - - -

-
-
-
-
최종 결제금액 :
-
-
    -
  • 50,000원(공급가액)
  • -
  • 5,000원(부가세)
  • -
  • 55,000원(최종금액)
  • -
-
-
- -
-
-
-

- 나이스페이 결제를 이용하여 인터넷뱅킹처럼 로그인 없이 간단한 정보 입력만으로 - 실시간 계좌 이체

-

  (일반결제, 간편결제, 앱결제)를 할 수 있는 간편한 결제 - 수단입니다.(소득공제 및 지출증빙 가능)

-
-
-
- -
-
- diff --git a/src/main/webapp/publish/firstpay_event2.html b/src/main/webapp/publish/firstpay_event2.html index c6e2a2e6..0901ce41 100644 --- a/src/main/webapp/publish/firstpay_event2.html +++ b/src/main/webapp/publish/firstpay_event2.html @@ -288,20 +288,20 @@
  • - +
  • - +
  • -
  • +
  • - +
    -

    신용카드

    +

    간편결제 간편결제

    @@ -331,6 +331,7 @@ +

    +

    - 인터넷 익스플로러 이용 고객께서는 도구-팝업 차단 해제 후 충전이 가능합니다.

    +

    - 결제사별 정책상 충전금액 제한이 있을 수 있습니다.

    + + + + +
    +
    + + + +
    +

    신용카드 신용카드

    + + + + + + + + + + + + + - - - - -
    충전금액 + +

    + + +
    +
    +
    +
    최종 결제금액 :
    +
    +
      +
    • 50,000원(공급가액) +
    • +
    • 5,000원(부가세) +
    • +
    • 55,000원(최종금액)
    @@ -380,11 +460,9 @@ -
    +
    -

    계좌 이미 전용계좌

    +

    계좌 이미 전용계좌

    @@ -395,18 +473,11 @@ @@ -414,84 +485,55 @@

    - +
    - - -

    입금 즉시 자동 충전되는 나만의 전용계좌 개설(평생 사용가능, - 5천원 이상 입금 가능)

    -
    - -

    1. 현재 발급받은 전용계좌가 없습니다.

    -

    2. 입금 즉시 자동 충전되는 나만의 전용계좌 개설(평생 사용가능, - 5천원 이상 입금 가능)

    -
    -
    - +
    +

    1. 첫결제 이벤트는 최대 50만원까지만 적용이 됩니다.

    +

    2. 현재 발급받은 전용계좌가 없습니다.

    +

    3. 입금 즉시 자동 충전되는 나만의 전용계좌 개설(평생 사용가능, 5천원 이상 입금 가능)

    +
    - + -

    계좌 이미 전용계좌

    +

    계좌 이미 전용계좌

    - - - - - - - - - - - - - - - - + + + + + @@ -501,7 +543,7 @@ - + - + -
    +

    즉시이체

    @@ -609,6 +651,7 @@ +

      +
    • firstpay_event.html충전수단 선택 내용 삭제
    • +
    • firstpay_event2.html충전수단 선택 내용 수정
    • payment2.html결제관리 > 결제하기 > 충전수단 선택 > 간편결제추가 + 등급별금액&누적결제액별 등급 및 단가(테이블 및 텍스트 추가)
    • firstpay_event2.html고객센터 > 이벤트페이지 > 충전수단 선택 내용 추가
    • index_2023.html로그인 바 > 등급별 아이콘 이미지 추가 + 홍길동(개인)으로 이름 변경 (님)자 제거 + 요금안내 페이지 이동 탑 배너 추가 + 퀵메뉴 > 맞춤제작을 요금안내로 변경
    • diff --git a/src/main/webapp/publish/payment2.html b/src/main/webapp/publish/payment2.html index 1e6bbe89..19c1c6ec 100644 --- a/src/main/webapp/publish/payment2.html +++ b/src/main/webapp/publish/payment2.html @@ -234,7 +234,7 @@
      -

      간편결제 스몰 아이콘 +

      간편결제 스몰 아이콘 간편결제

    -
    - - - - -
    - -
    -
    -
    - 보유한 전용 계좌가 없습니다. -
    -
    +
    + 보유한 전용 계좌가 없습니다. +
    +
    -

    - 전용계좌는 개설일로부터 3개월 미사용 시 자동 - 해지됩니다.

    -

    - 전용계좌에 5,000원 이상 입금 시, 연중무휴 - 실시간 자동 충전이 가능합니다.

    +

    - 첫결제 이벤트는 최대 50만원까지만 적용이 됩니다.

    +

    - 전용계좌는 개설일로부터 3개월 미사용 시 자동 해지됩니다.

    +

    - 전용계좌에 5,000원 이상 입금 시, 연중무휴 실시간 자동 충전이 가능합니다.

    -

    - 계좌번호 문자로 받기(일/3회까지) +

    - 계좌번호 문자로 받기(일/3회까지) - - + +

    From 915d1ff9aea2cd0731b0995d68d23d65c45ac54b Mon Sep 17 00:00:00 2001 From: woo Date: Mon, 10 Jul 2023 11:24:47 +0900 Subject: [PATCH 26/46] =?UTF-8?q?=EC=98=88=EC=95=BD=EB=AC=B8=EC=9E=90=20?= =?UTF-8?q?=EB=B0=9C=EC=86=A1=2030=EB=B6=84=20=EB=94=9C=EB=A0=88=EC=9D=B4?= =?UTF-8?q?=20=EA=B8=B0=EB=8A=A5=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/MjonMsgDataServiceImpl.java | 44 +++++++++++++++++-- 1 file changed, 41 insertions(+), 3 deletions(-) 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 a34ea544..10832f3f 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 @@ -324,7 +324,7 @@ public class MjonMsgDataServiceImpl extends EgovAbstractServiceImpl implements M if(spamStatus.equals("Y") || smishingYn.equals("Y")) { - mjonMsgVO.setDelayYn("N");//일단 값만 등록해준다. 이거 안해주면 NULL 값으로 들어간다. 차후에 변경하도록 할 예정임, 원래는 스팸이면 Y로 넣어줘야한다. + mjonMsgVO.setDelayYn("Y");//일단 값만 등록해준다. 이거 안해주면 NULL 값으로 들어간다. 차후에 변경하도록 할 예정임, 원래는 스팸이면 Y로 넣어줘야한다. }else { @@ -528,13 +528,51 @@ public class MjonMsgDataServiceImpl extends EgovAbstractServiceImpl implements M //분할 발송을 체크 한 경우 if(mjonMsgVO.getDivideChk() != null) { - tempVO.setReqDate(dividDayList.get(i)); //분할 문자 예약 시간 입력해주기 + //스팸문구 혹은 스미싱 의심 회원의 경우 30분 딜레이 처리해준다. + //20230630 우영두 추가 + if(spamStatus.equals("Y") || smishingYn.equals("Y")) { + + Date delayDate = transFormat.parse(dividDayList.get(i)); + + cal.setTime(delayDate); + cal.add(Calendar.MINUTE, 30); + delayTime = transFormat.format(cal.getTime()); + + tempVO.setReqDate(delayTime); //분할 문자 예약 시간 입력해주기 + + }else { + + tempVO.setReqDate(dividDayList.get(i)); //분할 문자 예약 시간 입력해주기 + + } + }else {//일반 예약 발송의 경우 - tempVO.setReqDate(mjonMsgVO.getReqDate()); + if(spamStatus.equals("Y") || smishingYn.equals("Y")) {//스팸문구 혹은 스미싱 의심 회원의 경우 30분 딜레이 처리해준다. + + Date delayDate = transFormat.parse(mjonMsgVO.getReqDate()); + + cal.setTime(delayDate); + cal.add(Calendar.MINUTE, 30); + delayTime = transFormat.format(cal.getTime()); + + tempVO.setReqDate(delayTime); + + }else { + + tempVO.setReqDate(mjonMsgVO.getReqDate()); + + } } + + //딜레이 처리되었을 수 있어서 임시 데이터의 발송 시간을 업데이트 해준다. + //분할 발송일 경우 Loop을 돌기 때문에 마지막 시간이 reqDate에 들어가기 때문에 첫번째 데이터에서만 시간을 입력해 준다. + //mj_group_data 테이블의 reqdate 컬럼 값으로 셋팅 된다. + if(i==0) { + mjonMsgVO.setReqDate(tempVO.getReqDate()); + } } if(!msgType.equals("4")) { // 장문 혹은 그림문자일 경우 추가 From c0358d40b8180d32309aa890d9827b9f404abb8d Mon Sep 17 00:00:00 2001 From: hylee Date: Mon, 10 Jul 2023 11:29:04 +0900 Subject: [PATCH 27/46] =?UTF-8?q?feat:mberId=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/itn/let/mjo/msg/service/MjonMsgVO.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/main/java/itn/let/mjo/msg/service/MjonMsgVO.java b/src/main/java/itn/let/mjo/msg/service/MjonMsgVO.java index d3513f0d..5607c5d5 100644 --- a/src/main/java/itn/let/mjo/msg/service/MjonMsgVO.java +++ b/src/main/java/itn/let/mjo/msg/service/MjonMsgVO.java @@ -9,6 +9,7 @@ public class MjonMsgVO extends ComDefaultVO{ private static final long serialVersionUID = 1L; private String msgId ;// '문자ID', private String userId ; // '문자온 일반회원ID', + private String mberId ; private String agentFlag ;//'전송사코드(1:아이하트,2:...)', private String userData; //'(I)사용자 정의 코드(참조용으로 사용되는 것으로 메시지 전송 시에는 사용되지 않는다-문자온/아이하트 참조키용)', private String msgSeq; // '(I)메시지의 고유번호. 자동 증가하는 것으로 MSG_DATA의 PRIMARY KEY가 된다.', @@ -450,6 +451,12 @@ public class MjonMsgVO extends ComDefaultVO{ public void setUserId(String userId) { this.userId = userId; } + public String getMberId() { + return mberId; + } + public void setMberId(String mberId) { + this.mberId = mberId; + } public String getAgentFlag() { return agentFlag; } From daf41d2896c013762fae6c20d4e9ed66e9b3b8ea Mon Sep 17 00:00:00 2001 From: wyh Date: Mon, 10 Jul 2023 11:46:29 +0900 Subject: [PATCH 28/46] =?UTF-8?q?=EC=95=8C=EB=A6=BC=ED=86=A1=20=EC=8A=AC?= =?UTF-8?q?=EB=9E=99=20=EB=A9=94=EC=8B=9C=EC=A7=80=20=EB=93=B1=EB=A1=9D=20?= =?UTF-8?q?=EA=B8=B0=EB=8A=A5=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../let/kakao/user/kakaoAt/web/KakaoAlimTalkSendController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/itn/let/kakao/user/kakaoAt/web/KakaoAlimTalkSendController.java b/src/main/java/itn/let/kakao/user/kakaoAt/web/KakaoAlimTalkSendController.java index 4e7697f1..6ce18690 100644 --- a/src/main/java/itn/let/kakao/user/kakaoAt/web/KakaoAlimTalkSendController.java +++ b/src/main/java/itn/let/kakao/user/kakaoAt/web/KakaoAlimTalkSendController.java @@ -753,7 +753,7 @@ public class KakaoAlimTalkSendController { if (joinSettingVO != null && joinSettingVO.getSlackNoti().equals("Y")) { //Slack으로 메세지 전송 처리 MjonCommon comm = new MjonCommon(); -// comm.getAdminKakaoAtSandSlack(kakaoVO); + comm.getAdminKakaoAtSandSlack(kakaoVO); } } From 7675726c68b689fe6a4909e3b89e2ae546a0c0f6 Mon Sep 17 00:00:00 2001 From: itn Date: Mon, 10 Jul 2023 12:51:47 +0900 Subject: [PATCH 29/46] =?UTF-8?q?=EA=B0=84=ED=8E=B8=EA=B2=B0=EC=A0=9C=20CS?= =?UTF-8?q?S=20=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../webapp/WEB-INF/jsp/web/event/pay/EventPayViewV2.jsp | 4 ++-- src/main/webapp/WEB-INF/jsp/web/pay/PayViewV2.jsp | 6 +++++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/main/webapp/WEB-INF/jsp/web/event/pay/EventPayViewV2.jsp b/src/main/webapp/WEB-INF/jsp/web/event/pay/EventPayViewV2.jsp index f9215e8d..f6f8a73c 100644 --- a/src/main/webapp/WEB-INF/jsp/web/event/pay/EventPayViewV2.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/event/pay/EventPayViewV2.jsp @@ -808,8 +808,8 @@ function TabTypePay(obj, tabId) { --%>

    충전수단 선택

    -
      -
    • +
        +
      • diff --git a/src/main/webapp/WEB-INF/jsp/web/pay/PayViewV2.jsp b/src/main/webapp/WEB-INF/jsp/web/pay/PayViewV2.jsp index bae6c524..1d4674c0 100644 --- a/src/main/webapp/WEB-INF/jsp/web/pay/PayViewV2.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/pay/PayViewV2.jsp @@ -6,6 +6,10 @@ <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> <%@ taglib prefix="ec" uri="/WEB-INF/tld/ecnet_tld.tld"%> + + @@ -639,7 +643,7 @@ function TabTypePay(obj, tabId) {

        충전수단 선택

          -
        • +
        • From eaae947a70e568d3766c92d7b80735d0fa991c20 Mon Sep 17 00:00:00 2001 From: itn Date: Mon, 10 Jul 2023 13:47:27 +0900 Subject: [PATCH 30/46] =?UTF-8?q?=ED=8C=A9=EC=8A=A4=EB=B3=B4=EC=9C=A0?= =?UTF-8?q?=EC=9E=94=EC=95=A1=20=EC=B2=B4=ED=81=AC=20=EC=8A=A4=ED=81=AC?= =?UTF-8?q?=EB=A6=BD=ED=8A=B8=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/webapp/WEB-INF/jsp/web/fax/faxDataView.jsp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/webapp/WEB-INF/jsp/web/fax/faxDataView.jsp b/src/main/webapp/WEB-INF/jsp/web/fax/faxDataView.jsp index ed562130..fa04e8c4 100644 --- a/src/main/webapp/WEB-INF/jsp/web/fax/faxDataView.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/fax/faxDataView.jsp @@ -167,6 +167,8 @@ alert("팩스 발송에 필요한 회원님의 보유 잔액이 부족 합니다."); return false; } + + return true; } From 75c0ad987e9ca1460c82aad3051b4b2e234c5397 Mon Sep 17 00:00:00 2001 From: itn Date: Mon, 10 Jul 2023 14:22:17 +0900 Subject: [PATCH 31/46] =?UTF-8?q?=EC=B2=AB=EA=B2=B0=EC=A0=9C=20=EC=8A=A4?= =?UTF-8?q?=EB=AF=B8=EC=8B=B1=EC=9D=98=EC=8B=AC=20=EC=A7=80=EC=A0=95?= =?UTF-8?q?=EA=B8=B0=EB=8A=A5=20=EC=B6=94=EA=B0=80(=ED=9C=B4=EB=8C=80?= =?UTF-8?q?=ED=8F=B0,=20=EC=A0=84=EC=9A=A9=EA=B3=84=EC=A2=8C)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../let/mjo/pay/web/MjonKGMPayController.java | 36 ++++++++++++++++++- .../service/impl/SchdlrManageServiceImpl.java | 5 +-- 2 files changed, 38 insertions(+), 3 deletions(-) diff --git a/src/main/java/itn/let/mjo/pay/web/MjonKGMPayController.java b/src/main/java/itn/let/mjo/pay/web/MjonKGMPayController.java index 1be5a9b7..3db54023 100644 --- a/src/main/java/itn/let/mjo/pay/web/MjonKGMPayController.java +++ b/src/main/java/itn/let/mjo/pay/web/MjonKGMPayController.java @@ -313,8 +313,42 @@ public class MjonKGMPayController { UserManageVO userManageVO = new UserManageVO(); userManageVO.setSmishingYn("Y"); userManageVO.setMberId(Userid); - userManageService.updateOneUserSmishingYn(userManageVO); + userManageService.updateOneUserSmishingYnNotAlert(userManageVO); } + else { + // 대상 : 휴대폰결제, 즉시이체, 전용계좌 + // Step 1. 스미싱의심 지정 여부 + JoinSettingVO joinSettingVO = new JoinSettingVO(); + joinSettingVO = egovSiteManagerService.selectAdminNotiDetail(); + if (joinSettingVO != null && joinSettingVO.getSmishingNoti().equals("Y")) { + // Step 1. 개인회원 여부 체크 + int isPersnalMemberCnt = egovSiteManagerService.selectPersnalMemberCnt(Userid); + if (isPersnalMemberCnt == 1) { + // Step 2. 첫결제 여부 체크 + int isFirstPayCnt = egovSiteManagerService.selectFirstPayCnt(Userid); + if (isFirstPayCnt == 1) { + // SMS 체크 + if (joinSettingVO != null && joinSettingVO.getSmsNoti().equals("Y")) { + // 스미싱의심 SMS 알림전송 + mjonNoticeSendUtil.smishingSmsNoticeSend("스미싱의심/휴대폰 첫결제", Userid, mberNm); + } + + // SLACK 체크 + if (joinSettingVO != null && joinSettingVO.getSlackNoti().equals("Y")) { + // Slack 메시지 발송(단순본문) + String msg = "[문자온] 스미싱의심/휴대폰 첫결제 - " + mberNm +"("+ Userid + ")"; + mjonCommon.sendSimpleSlackMsg(msg); + } + + // 스미싱 의심회원으로 변경 + UserManageVO userManageVO = new UserManageVO(); + userManageVO.setSmishingYn("Y"); + userManageVO.setMberId(Userid); + userManageService.updateOneUserSmishingYnNotAlert(userManageVO); + } + } + } + } redirect.addAttribute("Resultcd", Resultcd); redirect.addAttribute("Tradeid", Tradeid); diff --git a/src/main/java/itn/let/schdlr/service/impl/SchdlrManageServiceImpl.java b/src/main/java/itn/let/schdlr/service/impl/SchdlrManageServiceImpl.java index 38e233ea..1cf03a14 100644 --- a/src/main/java/itn/let/schdlr/service/impl/SchdlrManageServiceImpl.java +++ b/src/main/java/itn/let/schdlr/service/impl/SchdlrManageServiceImpl.java @@ -28,7 +28,9 @@ import itn.let.mjo.payva.service.VacsAhstVO; import itn.let.schdlr.service.SchdlrManageService; import itn.let.schdlr.service.SchdlrVO; import itn.let.sym.site.service.EgovSiteManagerService; +import itn.let.sym.site.service.JoinSettingVO; import itn.let.uss.umt.service.EgovUserManageService; +import itn.let.uss.umt.service.UserManageVO; import itn.let.utl.user.service.MjonNoticeSendUtil; @Service("SchdlrManageService") @@ -362,7 +364,6 @@ public class SchdlrManageServiceImpl extends EgovAbstractServiceImpl implements //세틀뱅크 입금 내역 원장에 처리 완료 내용 입력해 주기 vacsAhstService.updateVacsAhstCashComplete(temp); - /* try { String Userid = temp.getMberId(); String mberNm = ""; @@ -407,7 +408,7 @@ public class SchdlrManageServiceImpl extends EgovAbstractServiceImpl implements System.out.println("전용계좌 TrNo : " + temp.getTrNo()); System.out.println("전용계좌 e.getMessage() : " + e.getMessage()); } - */ + } From 8b870ea494c1c2f4ef910195316a1aaebbb98fbb Mon Sep 17 00:00:00 2001 From: itn Date: Mon, 10 Jul 2023 15:26:04 +0900 Subject: [PATCH 32/46] =?UTF-8?q?=EC=95=8C=EB=A6=BC=ED=86=A1=20=EC=A0=84?= =?UTF-8?q?=EC=86=A1=EC=99=84=EB=A3=8C=20=EB=AA=A9=EB=A1=9D=EC=9D=80=20(?= =?UTF-8?q?=EC=A6=89=EC=8B=9C=20+=20=EC=98=88=EC=95=BD=20=EB=B0=9C?= =?UTF-8?q?=EC=86=A1=EC=99=84=EB=A3=8C=20+=20=EC=B2=98=EB=A6=AC=EC=95=88?= =?UTF-8?q?=EB=90=9C=20=EC=A7=80=EC=97=B0=EB=AC=B8=EC=9E=90(=EC=A6=89?= =?UTF-8?q?=EC=8B=9C,=EC=98=88=EC=95=BD)=20=EB=85=B8=EC=B6=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sqlmap/let/kakao/MjonKakaoATData_SQL_mysql.xml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/main/resources/egovframework/sqlmap/let/kakao/MjonKakaoATData_SQL_mysql.xml b/src/main/resources/egovframework/sqlmap/let/kakao/MjonKakaoATData_SQL_mysql.xml index 2deba729..00b218bf 100644 --- a/src/main/resources/egovframework/sqlmap/let/kakao/MjonKakaoATData_SQL_mysql.xml +++ b/src/main/resources/egovframework/sqlmap/let/kakao/MjonKakaoATData_SQL_mysql.xml @@ -517,9 +517,14 @@ AND MD.MSG_GROUP_ID = MG.MSG_GROUP_ID AND IFNULL(MG.DEL_FLAG, 'N') = 'N' AND MD.DEL_FLAG = 'N' - + AND MG.USER_ID = #userId# From 61b711b915722984963d755b82f764e1f0efd719 Mon Sep 17 00:00:00 2001 From: itn Date: Mon, 10 Jul 2023 16:55:57 +0900 Subject: [PATCH 33/46] =?UTF-8?q?=EC=95=8C=EB=A6=BC=ED=86=A1=EC=A0=84?= =?UTF-8?q?=EC=86=A1=EB=AA=A9=EB=A1=9D=20=EC=8A=A4=EB=AF=B8=EC=8B=B1?= =?UTF-8?q?=EC=9D=98=EC=8B=AC(=EC=B9=B4=ED=86=A1)=20=EC=98=A8/=EC=98=A4?= =?UTF-8?q?=ED=94=84=20=EA=B8=B0=EB=8A=A5=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/webapp/WEB-INF/jsp/uss/ion/kakaoat/SendKakaoATList.jsp | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/main/webapp/WEB-INF/jsp/uss/ion/kakaoat/SendKakaoATList.jsp b/src/main/webapp/WEB-INF/jsp/uss/ion/kakaoat/SendKakaoATList.jsp index d990a04e..2e158720 100644 --- a/src/main/webapp/WEB-INF/jsp/uss/ion/kakaoat/SendKakaoATList.jsp +++ b/src/main/webapp/WEB-INF/jsp/uss/ion/kakaoat/SendKakaoATList.jsp @@ -582,10 +582,8 @@ function fnAtSmishingUpdate(flag) {
    -
    From 4e6aca1e8293a95f8e73006a68028865b6fa4d03 Mon Sep 17 00:00:00 2001 From: itn Date: Mon, 10 Jul 2023 17:47:54 +0900 Subject: [PATCH 34/46] =?UTF-8?q?=EC=95=8C=EB=A6=BC=ED=86=A1=20=EB=B0=9C?= =?UTF-8?q?=EC=86=A1=EC=B0=A8=EB=8B=A8=20=EA=B8=B0=EB=8A=A5=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jsp/agent/MjonMsgAgentStsMultiUpdate.jsp | 6 ++--- .../msgdata/at/KakaoAlimtalkMsgDataView.jsp | 27 +++++++++++++++++++ 2 files changed, 30 insertions(+), 3 deletions(-) diff --git a/src/main/webapp/WEB-INF/jsp/agent/MjonMsgAgentStsMultiUpdate.jsp b/src/main/webapp/WEB-INF/jsp/agent/MjonMsgAgentStsMultiUpdate.jsp index 63f40f38..fbbb643b 100644 --- a/src/main/webapp/WEB-INF/jsp/agent/MjonMsgAgentStsMultiUpdate.jsp +++ b/src/main/webapp/WEB-INF/jsp/agent/MjonMsgAgentStsMultiUpdate.jsp @@ -275,7 +275,7 @@ var confCode = $("#confCode").val(); - if (!confirm('문자발송 사용여부는 전송사 비율과 상관없이\n사용자 문자 발송 사용여부가 일괄 적용됩니다.(주의)\n\n수정 하시겠습니까?')){ + if (!confirm('문자, 알림톡 사용자화면 발송 사용여부가 변경됩니다.\n긴급 시스템작업시에만 사용해주세요.\n수정 하시겠습니까?')){ return false; } @@ -374,7 +374,7 @@

    -

    문자발송 사용여부 - 전송사 비율과 상관없이, 사용자 문자 발송 사용여부 일괄 적용(주의)

    +

    문자, 알림톡 발송 사용여부 - 문자, 알림톡 사용자화면 발송 사용여부(주의)

    @@ -386,7 +386,7 @@
    - 문자발송 사용여부 + 문자, 알림톡 발송 사용여부 diff --git a/src/main/webapp/WEB-INF/jsp/web/kakao/msgdata/at/KakaoAlimtalkMsgDataView.jsp b/src/main/webapp/WEB-INF/jsp/web/kakao/msgdata/at/KakaoAlimtalkMsgDataView.jsp index 1065db0e..158faa25 100644 --- a/src/main/webapp/WEB-INF/jsp/web/kakao/msgdata/at/KakaoAlimtalkMsgDataView.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/kakao/msgdata/at/KakaoAlimtalkMsgDataView.jsp @@ -434,11 +434,38 @@ function excelDownload(){ } +function checkConf() { + var confCheck = false; + + $.ajax({ + type: "POST", + url: "/web/mjon/conf/selectMjonMsgUseConfAjax.do", + data: {}, + dataType:'json', + async: false, + success: function (returnData, status) { + if(returnData.result == "fail") { + console.log(returnData.message); + }else if(returnData.result == "success"){ + confCheck = true; + } + } + ,error: function (e) {console.log("ERROR : ", e); } + }); + + return confCheck; +} + /* * 등록된 발신 탬플릿 카카오톡 전송 */ function sendTemplateInfo(){ + if(!checkConf()){ //문자온 conf-check + alert("현재 알림톡 발송하기 기능 점검 중입니다.\n\n1분 후 다시 시도해주세요."); + return false; + } + if(!usrDeptChk()){ return false; } From c24552453763312c86fa0d20a964b8e3cad8a86f Mon Sep 17 00:00:00 2001 From: wyh Date: Mon, 10 Jul 2023 17:52:02 +0900 Subject: [PATCH 35/46] =?UTF-8?q?=EC=83=81=EC=84=B8=EB=B3=B4=EA=B8=B0=20?= =?UTF-8?q?=EC=BF=BC=EB=A6=AC=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sqlmap/let/kakao/MjonKakaoATData_SQL_mysql.xml | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/main/resources/egovframework/sqlmap/let/kakao/MjonKakaoATData_SQL_mysql.xml b/src/main/resources/egovframework/sqlmap/let/kakao/MjonKakaoATData_SQL_mysql.xml index 00b218bf..a6a0e055 100644 --- a/src/main/resources/egovframework/sqlmap/let/kakao/MjonKakaoATData_SQL_mysql.xml +++ b/src/main/resources/egovframework/sqlmap/let/kakao/MjonKakaoATData_SQL_mysql.xml @@ -745,9 +745,9 @@ THEN '단문' ELSE '장문' END BIZ_KAKAO_RESEND_TYPE - , A.BIZ_KAKAO_RESEND_DATA - , A.BIZ_KAKAO_JSON_FILE - , A.BIZ_UMID + , A.BIZ_KAKAO_RESEND_DATA + , A.BIZ_KAKAO_JSON_FILE + , A.BIZ_UMID AND B.USER_ID = #userId# @@ -767,7 +767,12 @@ AND A.MSG_TYPE IN ('8','9') )M LEFT JOIN MJ_KAKAO_PROFILE_INFO MKPI From 9875b9783d9e48c5ef422506f1dd2e3ce1885c2d Mon Sep 17 00:00:00 2001 From: wyh Date: Mon, 10 Jul 2023 18:03:11 +0900 Subject: [PATCH 36/46] =?UTF-8?q?=EC=98=88=EC=95=BD=EB=A6=AC=EC=8A=A4?= =?UTF-8?q?=ED=8A=B8=20=EC=98=A4=EB=A5=98=20=EC=88=98=EC=A0=95=20=EB=B0=8F?= =?UTF-8?q?=20=EB=A6=AC=EC=8A=A4=ED=8A=B8=20=ED=8F=AC=EC=BB=A4=EC=8A=A4=20?= =?UTF-8?q?=ED=81=B4=EB=A0=88=EC=8A=A4=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../WEB-INF/jsp/uss/ion/kakaoat/ReserveKakaoATList.jsp | 2 +- .../WEB-INF/jsp/uss/ion/kakaoat/SendKakaoATList.jsp | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/main/webapp/WEB-INF/jsp/uss/ion/kakaoat/ReserveKakaoATList.jsp b/src/main/webapp/WEB-INF/jsp/uss/ion/kakaoat/ReserveKakaoATList.jsp index c1d5152a..76e2033c 100644 --- a/src/main/webapp/WEB-INF/jsp/uss/ion/kakaoat/ReserveKakaoATList.jsp +++ b/src/main/webapp/WEB-INF/jsp/uss/ion/kakaoat/ReserveKakaoATList.jsp @@ -582,7 +582,7 @@ function fnSmishingUpdate(flag) { class="smishing"> + '); return false;" style="cursor:pointer;" class="smishing"> 예약 diff --git a/src/main/webapp/WEB-INF/jsp/uss/ion/kakaoat/SendKakaoATList.jsp b/src/main/webapp/WEB-INF/jsp/uss/ion/kakaoat/SendKakaoATList.jsp index d990a04e..b970de3a 100644 --- a/src/main/webapp/WEB-INF/jsp/uss/ion/kakaoat/SendKakaoATList.jsp +++ b/src/main/webapp/WEB-INF/jsp/uss/ion/kakaoat/SendKakaoATList.jsp @@ -498,10 +498,10 @@ function fnAtSmishingUpdate(flag) { ', ''); return false;" class="smishing"> + ', ''); return false;" style="cursor:pointer;" class="smishing"> ', ''); return false;" class="smishing"> + ', ''); return false;" style="cursor:pointer;" class="smishing"> (%) @@ -550,11 +550,11 @@ function fnAtSmishingUpdate(flag) { ', ''); return false;" title="" class="smishing"> + ', ''); return false;" style="cursor:pointer;" title="" class="smishing"> '); return false;" class="smishing"> + '); return false;" style="cursor:pointer;" class="smishing"> 예약 From ad5685c86d7d693f65bfe74c88436c7ec0f82ebb Mon Sep 17 00:00:00 2001 From: woo Date: Tue, 11 Jul 2023 09:40:54 +0900 Subject: [PATCH 37/46] =?UTF-8?q?=EB=AC=B8=EC=9E=90=EB=B0=9C=EC=86=A1=20?= =?UTF-8?q?=EC=98=88=EC=95=BD=20=EB=AC=B8=EC=9E=90=20=EC=8A=A4=EB=AF=B8?= =?UTF-8?q?=EC=8B=B1=20=EB=B0=8F=20=EC=8A=A4=ED=8C=B8=20=EB=B0=9C=EC=86=A1?= =?UTF-8?q?=20=EB=94=9C=EB=A0=88=EC=9D=B4=20=EA=B8=B0=EB=8A=A5=20=20-=20?= =?UTF-8?q?=EC=82=AC=EC=9A=A9=EC=9E=90/=EA=B4=80=EB=A6=AC=EC=9E=90=20?= =?UTF-8?q?=EA=B8=B0=EB=8A=A5=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../let/mjo/msg/service/impl/MjonMsgDAO.java | 10 ++ .../msg/service/impl/MjonMsgServiceImpl.java | 132 ++++++++++----- .../service/impl/MjonMsgDataServiceImpl.java | 10 +- .../service/impl/MjonReservMsgDAO.java | 68 ++++++++ .../let/kakao/MjonKakaoATData_SQL_mysql.xml | 1 + .../sqlmap/let/msg/MjonMsgData_SQL_mysql.xml | 40 +++++ .../sqlmap/let/msg/MjonMsgResv_SQL_mysql.xml | 154 ++++++++++++++++++ .../let/uss/umt/EgovMberManage_SQL_Mysql.xml | 2 +- .../cmm/uss/umt/EgovGnrlUserSelectUpdt.jsp | 6 + 9 files changed, 381 insertions(+), 42 deletions(-) diff --git a/src/main/java/itn/let/mjo/msg/service/impl/MjonMsgDAO.java b/src/main/java/itn/let/mjo/msg/service/impl/MjonMsgDAO.java index 81021f07..42cd9831 100644 --- a/src/main/java/itn/let/mjo/msg/service/impl/MjonMsgDAO.java +++ b/src/main/java/itn/let/mjo/msg/service/impl/MjonMsgDAO.java @@ -426,11 +426,21 @@ public class MjonMsgDAO extends EgovAbstractDAO { update("mjonMsgDAO.updateMsgDelaySendRealTimeMsgDataFlag", mjonMsgVO); } + // mj_msg_data 테이블 예약 지연 문자 발송 요청시간 수정 + public void updateMsgDelaySendReserveTimeMsgDataFlag(MjonMsgVO mjonMsgVO) { + update("mjonMsgDAO.updateMsgDelaySendReserveTimeMsgDataFlag", mjonMsgVO); + } + // mj_msg_group_data 테이블 지연 문자 즉시발송 요청시간 수정 public void updateMsgDelaySendRealTimeMsgGroupDataFlag(MjonMsgVO mjonMsgVO) { update("mjonMsgDAO.updateMsgDelaySendRealTimeMsgGroupDataFlag", mjonMsgVO); } + // mj_msg_group_data 테이블 예약 지연 문자 발송 요청시간 수정 + public void updateMsgDelaySendReserveTimeMsgGroupDataFlag(MjonMsgVO mjonMsgVO) { + update("mjonMsgDAO.updateMsgDelaySendReserveTimeMsgGroupDataFlag", mjonMsgVO); + } + // mj_msg_data 테이블 지연 알림톡 취소 값 수정 public void updateKakaoAtDelayCancelMsgDataFlag(MjonMsgVO mjonMsgVO) { update("mjonMsgDAO.updateKakaoAtDelayCancelMsgDataFlag", mjonMsgVO); diff --git a/src/main/java/itn/let/mjo/msg/service/impl/MjonMsgServiceImpl.java b/src/main/java/itn/let/mjo/msg/service/impl/MjonMsgServiceImpl.java index 46398448..765c0bb0 100644 --- a/src/main/java/itn/let/mjo/msg/service/impl/MjonMsgServiceImpl.java +++ b/src/main/java/itn/let/mjo/msg/service/impl/MjonMsgServiceImpl.java @@ -2,7 +2,6 @@ package itn.let.mjo.msg.service.impl; import java.text.SimpleDateFormat; import java.util.ArrayList; -import java.util.Calendar; import java.util.Date; import java.util.List; @@ -18,7 +17,6 @@ import egovframework.rte.fdl.idgnr.EgovIdGnrService; import egovframework.rte.fdl.security.intercept.EgovReloadableFilterInvocationSecurityMetadataSource; import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper; import itn.com.cmm.LoginVO; -import itn.com.cmm.util.MJUtil; import itn.com.utl.fcc.service.EgovDateUtil; import itn.let.mjo.msg.service.MjPhoneMemberVO; import itn.let.mjo.msg.service.MjonMapAddressVO; @@ -766,6 +764,10 @@ public class MjonMsgServiceImpl extends EgovAbstractServiceImpl implements MjonM //삭제 문자 건수 MSG_SEQ 번호 받아오기 List resultMsgSeqList = mjonReservMsgDAO.selectMsgSeqListByGroupId(mjonResvMsgVO); + String reservYn = resultMsgSeqList.get(0).getReserveYn(); + + System.out.println("++++++++++++++++++++++++++++ reservYn ::: "+reservYn); + int size = resultMsgSeqList.size(); List userDataList = new ArrayList(); for(int i=0; i < size; i++) { @@ -777,8 +779,8 @@ public class MjonMsgServiceImpl extends EgovAbstractServiceImpl implements MjonM mjonResvMsgVO.setUserDataList(userDataList); - int ihResult = 0; - int imoResult = 0; + //int ihResult = 0; + //int imoResult = 0; int bizResult = 0; int FHSmsResult = 0; int FHMmsResult = 0; @@ -787,51 +789,101 @@ public class MjonMsgServiceImpl extends EgovAbstractServiceImpl implements MjonM int JJB01Result = 0; int JJB02Result = 0; - - //아이하트 딜레이문자 즉시발송 처리 - //ihResult = mjonReservMsgDAO.deleteIHeartMsgSeqListByMsgSeq(mjonResvMsgVO); - ihResult = mjonReservMsgDAO.updateRealTimeIHeartMsgSeqListByMsgSeq(mjonResvMsgVO); - - //현대퓨처넷 단문 딜레이문자 즉시발송 처리 - FHSmsResult = mjonReservMsgDAO.updateRealTimeHFNSmsMsgSeqListByMsgSeq(mjonResvMsgVO); + //즉시 전송 딜레이건에 대한 즉시 전송 처리 - 아이하트, 아에임오 전송사는 사용 안하기 때문에 주석처리함. + if(reservYn.equals("N")) { + + //아이하트 딜레이문자 즉시발송 처리 + //ihResult = mjonReservMsgDAO.deleteIHeartMsgSeqListByMsgSeq(mjonResvMsgVO); + //ihResult = mjonReservMsgDAO.updateRealTimeIHeartMsgSeqListByMsgSeq(mjonResvMsgVO); + + //현대퓨처넷 단문 딜레이문자 즉시발송 처리 + FHSmsResult = mjonReservMsgDAO.updateRealTimeHFNSmsMsgSeqListByMsgSeq(mjonResvMsgVO); - //현대퓨처넷 장문/그림 딜레이문자 즉시발송 처리 - FHMmsResult = mjonReservMsgDAO.updateRealTimeHFNMmsMsgSeqListByMsgSeq(mjonResvMsgVO); + //현대퓨처넷 장문/그림 딜레이문자 즉시발송 처리 + FHMmsResult = mjonReservMsgDAO.updateRealTimeHFNMmsMsgSeqListByMsgSeq(mjonResvMsgVO); + + //아이엠오 딜레이문자 즉시발송 처리 + //imoResult = mjonReservMsgDAO.updateRealTimeIMOMsgSeqListByMsgSeq(mjonResvMsgVO); + + //비즈뿌리오 딜레이문자 즉시발송 처리 + bizResult = mjonReservMsgDAO.updateRealTimeBizMsgSeqListByMsgSeq(mjonResvMsgVO); + + //제이제이 딜레이문자 즉시발송 처리 + JJResult = mjonReservMsgDAO.updateRealTimeJJMsgSeqListByMsgSeq(mjonResvMsgVO); + + //인비토 딜레이문자 즉시발송 처리 + IVTResult = mjonReservMsgDAO.updateRealTimeIVTMsgSeqListByMsgSeq(mjonResvMsgVO); + + //제이제이 B01 딜레이문자 즉시발송 처리 + JJB01Result = mjonReservMsgDAO.updateRealTimeJJB01MsgSeqListByMsgSeq(mjonResvMsgVO); + + //제이제이 B02 딜레이문자 즉시발송 처리 + JJB02Result = mjonReservMsgDAO.updateRealTimeJJB02MsgSeqListByMsgSeq(mjonResvMsgVO); + + //발송 결과 합산 + resultSts = FHSmsResult + FHMmsResult + bizResult + JJResult + IVTResult + JJB01Result + JJB02Result; + + System.out.println("++++++++++++++++++++++++++++++ resultSts ::: "+resultSts); + + }else {//예약문자에 대한 딜레이발송 시간을 원복 처리해준다. - 아이하트, 아이엠오 전송사는 제외해준다. + + //현대퓨처넷 단문 예약 딜레이문자 발송 처리 + FHSmsResult = mjonReservMsgDAO.updateReserveTimeHFNSmsMsgSeqListByMsgSeq(mjonResvMsgVO); + + //현대퓨처넷 장문/그림 예약 딜레이문자 발송 처리 + FHMmsResult = mjonReservMsgDAO.updateReserveTimeHFNMmsMsgSeqListByMsgSeq(mjonResvMsgVO); + + //비즈뿌리오 예약 딜레이문자 발송 처리 + bizResult = mjonReservMsgDAO.updateReserveTimeBizMsgSeqListByMsgSeq(mjonResvMsgVO); + + //제이제이 예약 딜레이문자 발송 처리 + JJResult = mjonReservMsgDAO.updateReserveTimeJJMsgSeqListByMsgSeq(mjonResvMsgVO); + + //인비토 예약 딜레이문자 발송 처리 + IVTResult = mjonReservMsgDAO.updateReserveTimeIVTMsgSeqListByMsgSeq(mjonResvMsgVO); + + //제이제이 B01 예약 딜레이문자 발송 처리 + JJB01Result = mjonReservMsgDAO.updateReserveTimeJJB01MsgSeqListByMsgSeq(mjonResvMsgVO); + + //제이제이 B02 예약 딜레이문자 발송 처리 + JJB02Result = mjonReservMsgDAO.updateReserveTimeJJB02MsgSeqListByMsgSeq(mjonResvMsgVO); + + //발송 결과 합산 + resultSts = FHSmsResult + FHMmsResult + bizResult + JJResult + IVTResult + JJB01Result + JJB02Result; + + System.out.println("++++++++++++++++++++++++++++++ resultSts ::: "+resultSts); + + + } - //아이엠오 딜레이문자 즉시발송 처리 - imoResult = mjonReservMsgDAO.updateRealTimeIMOMsgSeqListByMsgSeq(mjonResvMsgVO); - - //비즈뿌리오 딜레이문자 즉시발송 처리 - bizResult = mjonReservMsgDAO.updateRealTimeBizMsgSeqListByMsgSeq(mjonResvMsgVO); - - //제이제이 딜레이문자 즉시발송 처리 - JJResult = mjonReservMsgDAO.updateRealTimeJJMsgSeqListByMsgSeq(mjonResvMsgVO); - - //제이제이 딜레이문자 즉시발송 처리 - IVTResult = mjonReservMsgDAO.updateRealTimeIVTMsgSeqListByMsgSeq(mjonResvMsgVO); - - //제이제이 B01 딜레이문자 즉시발송 처리 - JJB01Result = mjonReservMsgDAO.updateRealTimeJJB01MsgSeqListByMsgSeq(mjonResvMsgVO); - - //제이제이 B02 딜레이문자 즉시발송 처리 - JJB02Result = mjonReservMsgDAO.updateRealTimeJJB02MsgSeqListByMsgSeq(mjonResvMsgVO); - - //삭제 결과 합산 - resultSts = ihResult + FHSmsResult + FHMmsResult + imoResult +bizResult + JJResult + IVTResult + JJB01Result + JJB02Result; - - System.out.println("++++++++++++++++++++++++++++++ resultSts ::: "+resultSts); //예약 취소 환불 처리 if(resultSts > 0) { + MjonMsgVO mjonMsgVO = new MjonMsgVO(); //그룹 데이터 정보 조회하기 - MjonMsgVO mjonMsgVO = mjonMsgDAO.selectMsgGroupDataByGoupId(mjonResvMsgVO); + mjonMsgVO = mjonMsgDAO.selectMsgGroupDataByGoupId(mjonResvMsgVO); + + if(reservYn.equals("N")) { + + //mj_msg_data 테이블 지연 문자 즉시발송 요청 값 수정 + mjonMsgDAO.updateMsgDelaySendRealTimeMsgDataFlag(mjonMsgVO); + + //mj_msg_group_data 테이블 즉시발송 요청 값 수정 + mjonMsgDAO.updateMsgDelaySendRealTimeMsgGroupDataFlag(mjonMsgVO); + + }else { + + //mj_msg_data 테이블 예약 지연 문자 발송 요청 값 수정 + mjonMsgDAO.updateMsgDelaySendReserveTimeMsgDataFlag(mjonMsgVO); + + //mj_msg_group_data 테이블 예약 발송 요청 값 수정 + mjonMsgDAO.updateMsgDelaySendReserveTimeMsgGroupDataFlag(mjonMsgVO); + + } + - //mj_msg_data 테이블 지연 문자 즉시발송 요청 값 수정 - mjonMsgDAO.updateMsgDelaySendRealTimeMsgDataFlag(mjonMsgVO); - //mj_msg_group_data 테이블 즉시발송 요청 값 수정 - mjonMsgDAO.updateMsgDelaySendRealTimeMsgGroupDataFlag(mjonMsgVO); } 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 10832f3f..a25c3e86 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 @@ -368,6 +368,7 @@ public class MjonMsgDataServiceImpl extends EgovAbstractServiceImpl implements M //Controller에서 전달 받은 분할 시간 정보 리스트 List dividDayList = mjonMsgVO.getDividDay(); + String frstDelayTime = mjonMsgVO.getReqDate(); //문자발송 리스트 생성 시작 for(int i = 0; i < callToCnt; i++) { @@ -571,7 +572,7 @@ public class MjonMsgDataServiceImpl extends EgovAbstractServiceImpl implements M //분할 발송일 경우 Loop을 돌기 때문에 마지막 시간이 reqDate에 들어가기 때문에 첫번째 데이터에서만 시간을 입력해 준다. //mj_group_data 테이블의 reqdate 컬럼 값으로 셋팅 된다. if(i==0) { - mjonMsgVO.setReqDate(tempVO.getReqDate()); + frstDelayTime = tempVO.getReqDate(); } } @@ -771,6 +772,13 @@ public class MjonMsgDataServiceImpl extends EgovAbstractServiceImpl implements M if(tmpDelayYn == null) { mjonMsgVO.setDelayYn("N"); } + + //예약 문자이고 30분 지연이 된 문자의 Mj_msg_group_data 테이블의 req_date 시간을 첫번째 문자의 지연된 시간으로 셋팅해준다. + if(mjonMsgVO.getReserveYn().equals("Y") && (spamStatus.equals("Y") || smishingYn.equals("Y"))) { + + mjonMsgVO.setReqDate(frstDelayTime); + + } mjonMsgDAO.insertGroupMsgData(mjonMsgVO); }else { diff --git a/src/main/java/itn/let/mjo/reservmsg/service/impl/MjonReservMsgDAO.java b/src/main/java/itn/let/mjo/reservmsg/service/impl/MjonReservMsgDAO.java index 6c836b5c..20fad5e5 100644 --- a/src/main/java/itn/let/mjo/reservmsg/service/impl/MjonReservMsgDAO.java +++ b/src/main/java/itn/let/mjo/reservmsg/service/impl/MjonReservMsgDAO.java @@ -201,6 +201,18 @@ public class MjonReservMsgDAO extends EgovAbstractDAO { return update("MjonReservMsgDAO.updateRealTimeHFNSmsMsgSeqListByMsgSeq", mjonResvMsgVO); } + /** + * @Method Name : updateReserveTimeHFNSmsMsgSeqListByMsgSeq + * @작성일 : 2023 07. 10. + * @작성자 : 우영두 + * @Method 설명 : 현대퓨처넷 예약문자 지연처리 문자 정상 시간 발송 + */ + public int updateReserveTimeHFNSmsMsgSeqListByMsgSeq(MjonResvMsgVO mjonResvMsgVO) { + + return update("MjonReservMsgDAO.updateReserveTimeHFNSmsMsgSeqListByMsgSeq", mjonResvMsgVO); + } + + /** * @Method Name : updateRealTimeIHeartMsgSeqListByMsgSeq * @작성일 : 2022. 12. 02. @@ -212,6 +224,17 @@ public class MjonReservMsgDAO extends EgovAbstractDAO { return update("MjonReservMsgDAO.updateRealTimeHFNMmsMsgSeqListByMsgSeq", mjonResvMsgVO); } + /** + * @Method Name : updateReserveTimeHFNMmsMsgSeqListByMsgSeq + * @작성일 : 2023. 07. 10. + * @작성자 : 우영두 + * @Method 설명 : 현대퓨처넷 예약 장문/그림 지연처리 문자 즉시 발송 + */ + public int updateReserveTimeHFNMmsMsgSeqListByMsgSeq(MjonResvMsgVO mjonResvMsgVO) { + + return update("MjonReservMsgDAO.updateReserveTimeHFNMmsMsgSeqListByMsgSeq", mjonResvMsgVO); + } + /** * @Method Name : updateRealTimeIMOMsgSeqListByMsgSeq * @작성일 : 2022. 12. 02. @@ -245,6 +268,18 @@ public class MjonReservMsgDAO extends EgovAbstractDAO { return update("MjonReservMsgDAO.updateRealTimeJJMsgSeqListByMsgSeq", mjonResvMsgVO); } + /** + * @Method Name : updateReserveTimeJJMsgSeqListByMsgSeq + * @작성일 : 2023. 7. 10. + * @작성자 : 우영두 + * @Method 설명 : 제이제이 예약 지연처리 문자 정상 발송 + */ + public int updateReserveTimeJJMsgSeqListByMsgSeq(MjonResvMsgVO mjonResvMsgVO) { + + return update("MjonReservMsgDAO.updateReserveTimeJJMsgSeqListByMsgSeq", mjonResvMsgVO); + } + + /** * @Method Name : updateRealTimeIVTMsgSeqListByMsgSeq * @작성일 : 2023. 05. 16. @@ -256,6 +291,17 @@ public class MjonReservMsgDAO extends EgovAbstractDAO { return update("MjonReservMsgDAO.updateRealTimeIVTMsgSeqListByMsgSeq", mjonResvMsgVO); } + /** + * @Method Name : updateReserveTimeIVTMsgSeqListByMsgSeq + * @작성일 : 2023. 07. 10. + * @작성자 : 우영두 + * @Method 설명 : 인비토 예약 지연처리 문자 즉시 발송 + */ + public int updateReserveTimeIVTMsgSeqListByMsgSeq(MjonResvMsgVO mjonResvMsgVO) { + + return update("MjonReservMsgDAO.updateReserveTimeIVTMsgSeqListByMsgSeq", mjonResvMsgVO); + } + /** * @Method Name : updateRealTimeJJB01MsgSeqListByMsgSeq * @작성일 : 2023. 06. 20. @@ -267,6 +313,17 @@ public class MjonReservMsgDAO extends EgovAbstractDAO { return update("MjonReservMsgDAO.updateRealTimeJJB01MsgSeqListByMsgSeq", mjonResvMsgVO); } + /** + * @Method Name : updateReserveTimeJJB01MsgSeqListByMsgSeq + * @작성일 : 2023. 07. 10. + * @작성자 : 우영두 + * @Method 설명 : 제이제이 B01라인 예약 지연처리 문자 발송 + */ + public int updateReserveTimeJJB01MsgSeqListByMsgSeq(MjonResvMsgVO mjonResvMsgVO) { + + return update("MjonReservMsgDAO.updateReserveTimeJJB01MsgSeqListByMsgSeq", mjonResvMsgVO); + } + /** * @Method Name : updateRealTimeJJB02MsgSeqListByMsgSeq * @작성일 : 2023. 06. 20. @@ -278,6 +335,17 @@ public class MjonReservMsgDAO extends EgovAbstractDAO { return update("MjonReservMsgDAO.updateRealTimeJJB02MsgSeqListByMsgSeq", mjonResvMsgVO); } + /** + * @Method Name : updateReserveTimeJJB02MsgSeqListByMsgSeq + * @작성일 : 2023. 07. 10. + * @작성자 : 우영두 + * @Method 설명 : 제이제이 B02라인 예약 지연처리 문자 발송 + */ + public int updateReserveTimeJJB02MsgSeqListByMsgSeq(MjonResvMsgVO mjonResvMsgVO) { + + return update("MjonReservMsgDAO.updateReserveTimeJJB02MsgSeqListByMsgSeq", mjonResvMsgVO); + } + /** * @Method Name : updateReserveTimeBizMsgSeqListByMsgSeq * @작성일 : 2023. 07. 06. diff --git a/src/main/resources/egovframework/sqlmap/let/kakao/MjonKakaoATData_SQL_mysql.xml b/src/main/resources/egovframework/sqlmap/let/kakao/MjonKakaoATData_SQL_mysql.xml index 2deba729..2d1e1452 100644 --- a/src/main/resources/egovframework/sqlmap/let/kakao/MjonKakaoATData_SQL_mysql.xml +++ b/src/main/resources/egovframework/sqlmap/let/kakao/MjonKakaoATData_SQL_mysql.xml @@ -2313,6 +2313,7 @@ , A.result AS resultType , MGD.AT_DELAY_YN AS atDelayYn , MGD.AT_DELAY_COMPLETE_YN AS atDelayCompleteYn + , MGD.RESERVE_YN AS reserveYn FROM (SELECT a.MSG_ID AS msgId diff --git a/src/main/resources/egovframework/sqlmap/let/msg/MjonMsgData_SQL_mysql.xml b/src/main/resources/egovframework/sqlmap/let/msg/MjonMsgData_SQL_mysql.xml index 0bfe25e1..6b719939 100644 --- a/src/main/resources/egovframework/sqlmap/let/msg/MjonMsgData_SQL_mysql.xml +++ b/src/main/resources/egovframework/sqlmap/let/msg/MjonMsgData_SQL_mysql.xml @@ -5825,6 +5825,25 @@ + + + + UPDATE MJ_MSG_DATA + SET REQ_DATE = + = 30 + THEN DATE_ADD(REQ_DATE, INTERVAL -30 MINUTE) + ELSE DATE_ADD(REQ_DATE, INTERVAL -(TIMESTAMPDIFF(MINUTE, NOW(), REQ_DATE)) MINUTE) + END + ]]> + WHERE USER_ID = #userId# + AND MSG_GROUP_ID = #msgGroupId# + + + UPDATE MJ_MSG_GROUP_DATA @@ -5834,6 +5853,27 @@ + + + + UPDATE MJ_MSG_GROUP_DATA + SET REQ_DATE = + = 30 + THEN DATE_ADD(REQ_DATE, INTERVAL -30 MINUTE) + ELSE DATE_ADD(REQ_DATE, INTERVAL -(TIMESTAMPDIFF(MINUTE, NOW(), REQ_DATE)) MINUTE) + END + ]]> , + + DELAY_COMPLETE_YN = 'Y' + WHERE USER_ID = #userId# + AND MSG_GROUP_ID = #msgGroupId# + + + + + [예약] + @@ -4513,6 +4516,9 @@ function kakaoATDelayCancel(msgGroupId){ + + [예약] + From 7390eb8db26841fca789bf1f460d5dba5deea83f Mon Sep 17 00:00:00 2001 From: woo Date: Tue, 11 Jul 2023 11:02:43 +0900 Subject: [PATCH 38/46] =?UTF-8?q?=EA=B4=80=EB=A6=AC=EC=9E=90=20=EC=98=88?= =?UTF-8?q?=EC=95=BD=20=EB=AC=B8=EC=9E=90=EB=B0=9C=EC=86=A1=20=EC=8A=B9?= =?UTF-8?q?=EC=9D=B8=EC=8B=9C=20=EB=8B=A4=EC=9A=B0=EA=B8=B0=EC=88=A0=20?= =?UTF-8?q?=EB=B0=9C=EC=86=A1=EC=8B=9C=EA=B0=84=EC=BB=AC=EB=9F=BC(send=5Ft?= =?UTF-8?q?ime)=20=EC=97=85=EB=8D=B0=EC=9D=B4=ED=8A=B8=20=EB=90=98?= =?UTF-8?q?=EB=8F=84=EB=A1=9D=20=EC=BF=BC=EB=A6=AC=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sqlmap/let/msg/MjonMsgResv_SQL_mysql.xml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/main/resources/egovframework/sqlmap/let/msg/MjonMsgResv_SQL_mysql.xml b/src/main/resources/egovframework/sqlmap/let/msg/MjonMsgResv_SQL_mysql.xml index 22fd4097..023cc198 100644 --- a/src/main/resources/egovframework/sqlmap/let/msg/MjonMsgResv_SQL_mysql.xml +++ b/src/main/resources/egovframework/sqlmap/let/msg/MjonMsgResv_SQL_mysql.xml @@ -888,6 +888,16 @@ THEN DATE_ADD(REQUEST_TIME, INTERVAL -30 MINUTE) ELSE DATE_ADD(REQUEST_TIME, INTERVAL -(TIMESTAMPDIFF(MINUTE, NOW(), REQUEST_TIME)) MINUTE) END + ]]> , + SEND_TIME = + = 30 + THEN DATE_ADD(SEND_TIME, INTERVAL -30 MINUTE) + ELSE DATE_ADD(SEND_TIME, INTERVAL -(TIMESTAMPDIFF(MINUTE, NOW(), SEND_TIME)) MINUTE) + END ]]> WHERE 1=1 From ee6d9048f7383b62389bea33dfcfd100df65cf33 Mon Sep 17 00:00:00 2001 From: itn Date: Tue, 11 Jul 2023 11:10:41 +0900 Subject: [PATCH 39/46] =?UTF-8?q?=EB=AC=B8=EC=9E=90=20=EC=A0=84=EC=86=A1?= =?UTF-8?q?=EC=99=84=EB=A3=8C=20=EB=AA=A9=EB=A1=9D=EC=9D=80=20(=EC=A6=89?= =?UTF-8?q?=EC=8B=9C=20+=20=EC=98=88=EC=95=BD=20=EB=B0=9C=EC=86=A1?= =?UTF-8?q?=EC=99=84=EB=A3=8C=20+=20=EC=B2=98=EB=A6=AC=EC=95=88=EB=90=9C?= =?UTF-8?q?=20=EC=A7=80=EC=97=B0=EB=AC=B8=EC=9E=90(=EC=A6=89=EC=8B=9C,?= =?UTF-8?q?=EC=98=88=EC=95=BD)=20=EB=85=B8=EC=B6=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sqlmap/let/msg/MjonMsgData_SQL_mysql.xml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/main/resources/egovframework/sqlmap/let/msg/MjonMsgData_SQL_mysql.xml b/src/main/resources/egovframework/sqlmap/let/msg/MjonMsgData_SQL_mysql.xml index 6b719939..44b028ad 100644 --- a/src/main/resources/egovframework/sqlmap/let/msg/MjonMsgData_SQL_mysql.xml +++ b/src/main/resources/egovframework/sqlmap/let/msg/MjonMsgData_SQL_mysql.xml @@ -766,9 +766,20 @@ ) D ON A.MSG_TYPE = D.CODE /** 메세지타입 */ WHERE 1 = 1 AND A.MSG_TYPE IN (4, 6) + + + AND ( From da559bb35dee3e71f394f47a90ecd3eee6ea0f82 Mon Sep 17 00:00:00 2001 From: wyh Date: Tue, 11 Jul 2023 12:02:52 +0900 Subject: [PATCH 40/46] =?UTF-8?q?=EC=95=8C=EB=A6=BC=ED=86=A1=20=EC=A0=84?= =?UTF-8?q?=EC=86=A1=EB=82=B4=EC=97=AD=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../let/uss/umt/web/EgovUserManageController.java | 2 ++ .../sqlmap/let/kakao/MjonKakaoATData_SQL_mysql.xml | 12 ++++++++++++ 2 files changed, 14 insertions(+) diff --git a/src/main/java/itn/let/uss/umt/web/EgovUserManageController.java b/src/main/java/itn/let/uss/umt/web/EgovUserManageController.java index a5298ce5..155c5ff8 100644 --- a/src/main/java/itn/let/uss/umt/web/EgovUserManageController.java +++ b/src/main/java/itn/let/uss/umt/web/EgovUserManageController.java @@ -1377,6 +1377,7 @@ public class EgovUserManageController { sendKakaoVO.setSearchSortCnd("reqDate"); sendKakaoVO.setSearchSortOrd("desc"); sendKakaoVO.setFirstIndex(0); + sendKakaoVO.setPageType("sand"); List kakaoResultList = new ArrayList(); kakaoResultList = mjonKakaoATService.selectMjonKakaoATGroupCompleteByUserList(sendKakaoVO); @@ -1395,6 +1396,7 @@ public class EgovUserManageController { reserveKakaoVO.setSearchSortCnd("reqDate"); reserveKakaoVO.setSearchSortOrd("desc"); reserveKakaoVO.setFirstIndex(0); + reserveKakaoVO.setPageType("sand"); List kakaoReserveList = new ArrayList(); kakaoReserveList = mjonKakaoATService.selectReserveMjonKakaoATGroupList(reserveKakaoVO); diff --git a/src/main/resources/egovframework/sqlmap/let/kakao/MjonKakaoATData_SQL_mysql.xml b/src/main/resources/egovframework/sqlmap/let/kakao/MjonKakaoATData_SQL_mysql.xml index a6a0e055..296aee94 100644 --- a/src/main/resources/egovframework/sqlmap/let/kakao/MjonKakaoATData_SQL_mysql.xml +++ b/src/main/resources/egovframework/sqlmap/let/kakao/MjonKakaoATData_SQL_mysql.xml @@ -602,6 +602,11 @@ + + + AND M.CUR_STATE = '3' + + @@ -1241,6 +1246,7 @@ , MD.BIZ_KAKAO_RESEND_YN , MG.AT_DELAY_COMPLETE_YN , MG.AT_DELAY_YN + , MD.REFUND_YN FROM MJ_MSG_DATA MD , MJ_MSG_GROUP_DATA MG WHERE MD.MSG_GROUP_ID = MG.MSG_GROUP_ID @@ -1323,6 +1329,12 @@ + + + AND M.AT_DELAY_COMPLETE_YN ='Y' + AND M.REFUND_YN = 'N' + + From dd44ad160b59fe7dfd2f63f4a0ab5ed76c2544ab Mon Sep 17 00:00:00 2001 From: itn Date: Tue, 11 Jul 2023 12:36:20 +0900 Subject: [PATCH 41/46] =?UTF-8?q?=EB=93=B1=EA=B8=89=EC=A0=9C=20=EC=8B=9C?= =?UTF-8?q?=ED=96=89=EC=97=AC=EB=B6=80=20=EB=A1=9C=EC=A7=81=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/itn/let/sym/grd/service/MberGrdVO.java | 11 +++++++++-- .../let/sym/grd/service/impl/MberGrdServiceImpl.java | 6 +++--- .../sqlmap/let/sym/grd/MberGrd_SQL_Mysql.xml | 11 ++++++++++- 3 files changed, 22 insertions(+), 6 deletions(-) diff --git a/src/main/java/itn/let/sym/grd/service/MberGrdVO.java b/src/main/java/itn/let/sym/grd/service/MberGrdVO.java index 4fa19779..8f577878 100644 --- a/src/main/java/itn/let/sym/grd/service/MberGrdVO.java +++ b/src/main/java/itn/let/sym/grd/service/MberGrdVO.java @@ -39,8 +39,9 @@ public class MberGrdVO extends UserDefaultVO { private String grdStatusNm; private int mberGrdHistNo; - private String grdNoti; // 회원등급제 시행 여부 - private String grdDate; // 회원등급제 시행일자 + private String grdNoti; // 회원등급제 시행 여부 + private String grdDate; // 회원등급제 시행일자 + private String grdDatePrgYn; // 회원등급제 시행일자 진행여부(오늘보다 이전날짜이면 Y, 이후이면 N) // 검색필터 private String searchGrdStatus; @@ -233,6 +234,12 @@ public class MberGrdVO extends UserDefaultVO { public void setGrdDate(String grdDate) { this.grdDate = grdDate; } + public String getGrdDatePrgYn() { + return grdDatePrgYn; + } + public void setGrdDatePrgYn(String grdDatePrgYn) { + this.grdDatePrgYn = grdDatePrgYn; + } public String getSearchGrdStatus() { return searchGrdStatus; } diff --git a/src/main/java/itn/let/sym/grd/service/impl/MberGrdServiceImpl.java b/src/main/java/itn/let/sym/grd/service/impl/MberGrdServiceImpl.java index cec6f5fd..753de5f1 100644 --- a/src/main/java/itn/let/sym/grd/service/impl/MberGrdServiceImpl.java +++ b/src/main/java/itn/let/sym/grd/service/impl/MberGrdServiceImpl.java @@ -121,7 +121,7 @@ public class MberGrdServiceImpl extends EgovAbstractServiceImpl implements MberG // Step 1. 등급제 시행 ON 일경우 MberGrdVO mberGrdVO1 = new MberGrdVO(); mberGrdVO1 = selectMberSettingDetail(mberGrdVO); - if (mberGrdVO1.getGrdNoti().equals("Y") && null != mberGrdVO1.getGrdDate()) { + if (mberGrdVO1.getGrdNoti().equals("Y") && null != mberGrdVO1.getGrdDate() && mberGrdVO1.getGrdDatePrgYn().equals("Y")) { // 문자할인, B선라인 대상자 초기화 updateCnt1 = updateMberGrdEndBySale(mberGrdVO); @@ -155,10 +155,10 @@ public class MberGrdServiceImpl extends EgovAbstractServiceImpl implements MberG mberGrdVO.setRegId(mberGrdVO.getMberId()); mberGrdVO.setEditId(mberGrdVO.getMberId()); - // Step 1. 등급제 시행 ON 일경우 + // Step 1. 등급제 시행 ON 일경우(시행일자 진행여부 Y일경우) MberGrdVO mberGrdVO1 = new MberGrdVO(); mberGrdVO1 = selectMberSettingDetail(mberGrdVO); - if (mberGrdVO1.getGrdNoti().equals("Y") && null != mberGrdVO1.getGrdDate()) { + if (mberGrdVO1.getGrdNoti().equals("Y") && null != mberGrdVO1.getGrdDate() && mberGrdVO1.getGrdDatePrgYn().equals("Y")) { mberGrdVO.setGrdDate(mberGrdVO1.getGrdDate()); // Step 2. /협의/스팸/비선등급 적용 제외 diff --git a/src/main/resources/egovframework/sqlmap/let/sym/grd/MberGrd_SQL_Mysql.xml b/src/main/resources/egovframework/sqlmap/let/sym/grd/MberGrd_SQL_Mysql.xml index e3a93dce..284e27f0 100644 --- a/src/main/resources/egovframework/sqlmap/let/sym/grd/MberGrd_SQL_Mysql.xml +++ b/src/main/resources/egovframework/sqlmap/let/sym/grd/MberGrd_SQL_Mysql.xml @@ -15,12 +15,21 @@ From 9756a53df94f36ba0bd460dfb1b1fd3d91cc6406 Mon Sep 17 00:00:00 2001 From: itn Date: Tue, 11 Jul 2023 15:30:22 +0900 Subject: [PATCH 42/46] =?UTF-8?q?=EB=93=B1=EA=B8=89=EC=A0=9C=20=EB=8B=A8?= =?UTF-8?q?=EA=B0=80=20=EC=B6=94=EC=B6=9C=20=3D>=20=EC=8B=9C=EC=8A=A4?= =?UTF-8?q?=ED=85=9C=20=EB=8B=A8=EA=B0=80=EC=97=90=20=EC=A0=81=EC=9A=A9=20?= =?UTF-8?q?=EB=A1=9C=EC=A7=81=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../let/sym/grd/service/MberGrdService.java | 5 +++++ .../grd/service/impl/MberGrdServiceImpl.java | 19 +++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/src/main/java/itn/let/sym/grd/service/MberGrdService.java b/src/main/java/itn/let/sym/grd/service/MberGrdService.java index 2db6495a..0224a4ae 100644 --- a/src/main/java/itn/let/sym/grd/service/MberGrdService.java +++ b/src/main/java/itn/let/sym/grd/service/MberGrdService.java @@ -2,8 +2,13 @@ package itn.let.sym.grd.service; import java.util.List; +import itn.let.sym.site.service.JoinSettingVO; + public interface MberGrdService { + // 등급제 단가 추출 => 시스템 단가에 적용 + public JoinSettingVO selectMberGrdDefaultInfo(JoinSettingVO sysJoinSetVO, String mberId) throws Exception; + // 등급제 설정 일괄변경 public int updateMberSetting(MberGrdVO mberGrdVO) throws Exception; diff --git a/src/main/java/itn/let/sym/grd/service/impl/MberGrdServiceImpl.java b/src/main/java/itn/let/sym/grd/service/impl/MberGrdServiceImpl.java index 753de5f1..d595dea6 100644 --- a/src/main/java/itn/let/sym/grd/service/impl/MberGrdServiceImpl.java +++ b/src/main/java/itn/let/sym/grd/service/impl/MberGrdServiceImpl.java @@ -12,6 +12,7 @@ import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; import itn.let.mjo.pay.service.MjonPayService; import itn.let.sym.grd.service.MberGrdService; import itn.let.sym.grd.service.MberGrdVO; +import itn.let.sym.site.service.JoinSettingVO; import itn.let.uss.umt.service.EgovMberManageService; import itn.let.uss.umt.service.MberManageVO; @@ -28,6 +29,24 @@ public class MberGrdServiceImpl extends EgovAbstractServiceImpl implements MberG @Resource(name = "mberManageService") private EgovMberManageService mberManageService; + // 등급제 단가 추출 => 시스템 단가에 적용 + @Override + public JoinSettingVO selectMberGrdDefaultInfo(JoinSettingVO sysJoinSetVO, String mberId) throws Exception { + MberGrdVO mberGrdVO = new MberGrdVO(); + mberGrdVO = selectMberGrdInfo(mberId); + if (null != mberGrdVO) { + if(mberGrdVO.getShortPrice() > 1 && mberGrdVO.getLongPrice() > 1 && mberGrdVO.getPicturePrice() > 1 && mberGrdVO.getPicture2Price() > 1 && mberGrdVO.getPicture3Price() > 1) { + sysJoinSetVO.setShortPrice(mberGrdVO.getShortPrice()); + sysJoinSetVO.setLongPrice(mberGrdVO.getLongPrice()); + sysJoinSetVO.setPicturePrice(mberGrdVO.getPicturePrice()); + sysJoinSetVO.setPicture2Price(mberGrdVO.getPicture2Price()); + sysJoinSetVO.setPicture3Price(mberGrdVO.getPicture3Price()); + } + } + + return sysJoinSetVO; + } + // 등급제 시행여부 변경 @Override public int updateMberSetting(MberGrdVO mberGrdVO) throws Exception { From 52c53a10bf41491a2f2bc9f0c88b6f90078b08a0 Mon Sep 17 00:00:00 2001 From: itn Date: Tue, 11 Jul 2023 16:24:47 +0900 Subject: [PATCH 43/46] =?UTF-8?q?=EB=93=B1=EA=B8=89=EC=A0=9C=20=EB=8B=A8?= =?UTF-8?q?=EA=B0=80=20=EC=B6=94=EC=B6=9C=20=3D>=20=EC=8B=9C=EC=8A=A4?= =?UTF-8?q?=ED=85=9C=20=EB=8B=A8=EA=B0=80=EC=97=90=20=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../grd/service/impl/MberGrdServiceImpl.java | 27 ++++++++++++------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/src/main/java/itn/let/sym/grd/service/impl/MberGrdServiceImpl.java b/src/main/java/itn/let/sym/grd/service/impl/MberGrdServiceImpl.java index d595dea6..9cabd803 100644 --- a/src/main/java/itn/let/sym/grd/service/impl/MberGrdServiceImpl.java +++ b/src/main/java/itn/let/sym/grd/service/impl/MberGrdServiceImpl.java @@ -32,17 +32,24 @@ public class MberGrdServiceImpl extends EgovAbstractServiceImpl implements MberG // 등급제 단가 추출 => 시스템 단가에 적용 @Override public JoinSettingVO selectMberGrdDefaultInfo(JoinSettingVO sysJoinSetVO, String mberId) throws Exception { - MberGrdVO mberGrdVO = new MberGrdVO(); - mberGrdVO = selectMberGrdInfo(mberId); - if (null != mberGrdVO) { - if(mberGrdVO.getShortPrice() > 1 && mberGrdVO.getLongPrice() > 1 && mberGrdVO.getPicturePrice() > 1 && mberGrdVO.getPicture2Price() > 1 && mberGrdVO.getPicture3Price() > 1) { - sysJoinSetVO.setShortPrice(mberGrdVO.getShortPrice()); - sysJoinSetVO.setLongPrice(mberGrdVO.getLongPrice()); - sysJoinSetVO.setPicturePrice(mberGrdVO.getPicturePrice()); - sysJoinSetVO.setPicture2Price(mberGrdVO.getPicture2Price()); - sysJoinSetVO.setPicture3Price(mberGrdVO.getPicture3Price()); + + // Step 1. 등급제 시행 ON 일경우 + MberGrdVO mberGrdVO = new MberGrdVO(); + MberGrdVO mberGrdVO1 = new MberGrdVO(); + mberGrdVO1 = selectMberSettingDetail(mberGrdVO); + if (mberGrdVO1.getGrdNoti().equals("Y") && null != mberGrdVO1.getGrdDate() && mberGrdVO1.getGrdDatePrgYn().equals("Y")) { + mberGrdVO = new MberGrdVO(); + mberGrdVO = selectMberGrdInfo(mberId); + if (null != mberGrdVO) { + if(mberGrdVO.getShortPrice() > 1 && mberGrdVO.getLongPrice() > 1 && mberGrdVO.getPicturePrice() > 1 && mberGrdVO.getPicture2Price() > 1 && mberGrdVO.getPicture3Price() > 1) { + sysJoinSetVO.setShortPrice(mberGrdVO.getShortPrice()); + sysJoinSetVO.setLongPrice(mberGrdVO.getLongPrice()); + sysJoinSetVO.setPicturePrice(mberGrdVO.getPicturePrice()); + sysJoinSetVO.setPicture2Price(mberGrdVO.getPicture2Price()); + sysJoinSetVO.setPicture3Price(mberGrdVO.getPicture3Price()); + } } - } + } return sysJoinSetVO; } From 18ce8d65be79012d0d4e41ee42b248b1c1466e1d Mon Sep 17 00:00:00 2001 From: itn Date: Tue, 11 Jul 2023 16:59:11 +0900 Subject: [PATCH 44/46] =?UTF-8?q?=EB=93=B1=EA=B8=89=EC=A0=9C=20=EA=B4=80?= =?UTF-8?q?=EB=A6=AC=20=ED=9A=8C=EC=9B=90=EC=95=84=EC=9D=B4=EB=94=94=20?= =?UTF-8?q?=EA=B3=B5=EB=B0=B1=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../grd/service/impl/MberGrdServiceImpl.java | 44 ++++++++++++------- 1 file changed, 29 insertions(+), 15 deletions(-) diff --git a/src/main/java/itn/let/sym/grd/service/impl/MberGrdServiceImpl.java b/src/main/java/itn/let/sym/grd/service/impl/MberGrdServiceImpl.java index 9cabd803..12b1a7b9 100644 --- a/src/main/java/itn/let/sym/grd/service/impl/MberGrdServiceImpl.java +++ b/src/main/java/itn/let/sym/grd/service/impl/MberGrdServiceImpl.java @@ -6,6 +6,7 @@ import java.util.List; import javax.annotation.Resource; +import org.apache.commons.lang.StringUtils; import org.springframework.stereotype.Service; import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; @@ -32,24 +33,28 @@ public class MberGrdServiceImpl extends EgovAbstractServiceImpl implements MberG // 등급제 단가 추출 => 시스템 단가에 적용 @Override public JoinSettingVO selectMberGrdDefaultInfo(JoinSettingVO sysJoinSetVO, String mberId) throws Exception { + // 공백제거 + mberId = mberId.trim(); // Step 1. 등급제 시행 ON 일경우 - MberGrdVO mberGrdVO = new MberGrdVO(); - MberGrdVO mberGrdVO1 = new MberGrdVO(); - mberGrdVO1 = selectMberSettingDetail(mberGrdVO); - if (mberGrdVO1.getGrdNoti().equals("Y") && null != mberGrdVO1.getGrdDate() && mberGrdVO1.getGrdDatePrgYn().equals("Y")) { - mberGrdVO = new MberGrdVO(); - mberGrdVO = selectMberGrdInfo(mberId); - if (null != mberGrdVO) { - if(mberGrdVO.getShortPrice() > 1 && mberGrdVO.getLongPrice() > 1 && mberGrdVO.getPicturePrice() > 1 && mberGrdVO.getPicture2Price() > 1 && mberGrdVO.getPicture3Price() > 1) { - sysJoinSetVO.setShortPrice(mberGrdVO.getShortPrice()); - sysJoinSetVO.setLongPrice(mberGrdVO.getLongPrice()); - sysJoinSetVO.setPicturePrice(mberGrdVO.getPicturePrice()); - sysJoinSetVO.setPicture2Price(mberGrdVO.getPicture2Price()); - sysJoinSetVO.setPicture3Price(mberGrdVO.getPicture3Price()); + if (StringUtils.isNotEmpty(mberId)) { + MberGrdVO mberGrdVO = new MberGrdVO(); + MberGrdVO mberGrdVO1 = new MberGrdVO(); + mberGrdVO1 = selectMberSettingDetail(mberGrdVO); + if (mberGrdVO1.getGrdNoti().equals("Y") && null != mberGrdVO1.getGrdDate() && mberGrdVO1.getGrdDatePrgYn().equals("Y")) { + mberGrdVO = new MberGrdVO(); + mberGrdVO = selectMberGrdInfo(mberId); + if (null != mberGrdVO) { + if(mberGrdVO.getShortPrice() > 1 && mberGrdVO.getLongPrice() > 1 && mberGrdVO.getPicturePrice() > 1 && mberGrdVO.getPicture2Price() > 1 && mberGrdVO.getPicture3Price() > 1) { + sysJoinSetVO.setShortPrice(mberGrdVO.getShortPrice()); + sysJoinSetVO.setLongPrice(mberGrdVO.getLongPrice()); + sysJoinSetVO.setPicturePrice(mberGrdVO.getPicturePrice()); + sysJoinSetVO.setPicture2Price(mberGrdVO.getPicture2Price()); + sysJoinSetVO.setPicture3Price(mberGrdVO.getPicture3Price()); + } } - } - } + } + } return sysJoinSetVO; } @@ -117,6 +122,9 @@ public class MberGrdServiceImpl extends EgovAbstractServiceImpl implements MberG // 회원 등급제 대상여부 정보(사용자화면용) @Override public MberGrdVO selectMberGrdInfo(String userId) throws Exception { + // 공백제거 + userId = userId.trim(); + return mberGrdDAO.selectMberGrdInfo(userId); } @@ -250,12 +258,18 @@ public class MberGrdServiceImpl extends EgovAbstractServiceImpl implements MberG // 회원별 등급 진행여부 @Override public int selectMberGrdPrgCnt(String userId) throws Exception{ + // 공백제거 + userId = userId.trim(); + return mberGrdDAO.selectMberGrdPrgCnt(userId); } // 회원별 등급 저장여부 @Override public int selectMberGrdSaveCnt(String userId) throws Exception{ + // 공백제거 + userId = userId.trim(); + return mberGrdDAO.selectMberGrdSaveCnt(userId); } From 098b1ee6398dffed030940af2f64ed2cf76149e1 Mon Sep 17 00:00:00 2001 From: itn Date: Wed, 12 Jul 2023 11:23:02 +0900 Subject: [PATCH 45/46] =?UTF-8?q?=EC=9D=B4=EB=B2=A4=ED=8A=B8=20=EC=A7=84?= =?UTF-8?q?=ED=96=89=EC=97=AC=EB=B6=80=20=EC=BF=BC=EB=A6=AC=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../let/sym/grd/service/MberGrdService.java | 9 ++++-- .../let/sym/grd/service/impl/MberGrdDAO.java | 17 ++++++---- .../grd/service/impl/MberGrdServiceImpl.java | 27 ++++++++++------ .../sqlmap/let/sym/grd/MberGrd_SQL_Mysql.xml | 31 ++++++++++++++----- 4 files changed, 58 insertions(+), 26 deletions(-) diff --git a/src/main/java/itn/let/sym/grd/service/MberGrdService.java b/src/main/java/itn/let/sym/grd/service/MberGrdService.java index 0224a4ae..863c0799 100644 --- a/src/main/java/itn/let/sym/grd/service/MberGrdService.java +++ b/src/main/java/itn/let/sym/grd/service/MberGrdService.java @@ -32,7 +32,7 @@ public interface MberGrdService { public MberGrdVO selectMberGrdDetail(MberGrdVO mberGrdVO) throws Exception; // 회원 등급제 대상여부 정보(사용자화면용) - public MberGrdVO selectMberGrdInfo(String userId) throws Exception; + public MberGrdVO selectMberGrdInfo(String mberId) throws Exception; // 회원별 등급 누적결제액 상세 public MberGrdVO selectMberGrdAmtDetail(MberGrdVO mberGrdVO) throws Exception; @@ -56,10 +56,13 @@ public interface MberGrdService { public void mberGrdSaveByUser(MberGrdVO mberGrdVO) throws Exception; // 회원별 등급 진행여부 - int selectMberGrdPrgCnt(String userId) throws Exception; + int selectMberGrdPrgCnt(String mberId) throws Exception; + + // 회원별 이벤트 진행여부 + int selectMberEventPrgCnt(String mberId) throws Exception; // 회원별 등급 저장여부 - int selectMberGrdSaveCnt(String userId) throws Exception; + int selectMberGrdSaveCnt(String mberId) throws Exception; // 회원별 등급 히스토리 등록 diff --git a/src/main/java/itn/let/sym/grd/service/impl/MberGrdDAO.java b/src/main/java/itn/let/sym/grd/service/impl/MberGrdDAO.java index f69921be..3c9575ac 100644 --- a/src/main/java/itn/let/sym/grd/service/impl/MberGrdDAO.java +++ b/src/main/java/itn/let/sym/grd/service/impl/MberGrdDAO.java @@ -49,8 +49,8 @@ public class MberGrdDAO extends EgovAbstractDAO { } // 회원 등급제 대상여부 정보(사용자화면용) - public MberGrdVO selectMberGrdInfo(String userId) throws Exception{ - return (MberGrdVO) select("mberGrdDAO.selectMberGrdInfo", userId); + public MberGrdVO selectMberGrdInfo(String mberId) throws Exception{ + return (MberGrdVO) select("mberGrdDAO.selectMberGrdInfo", mberId); } // 회원별 등급 누적결제액 상세 @@ -84,13 +84,18 @@ public class MberGrdDAO extends EgovAbstractDAO { } // 회원별 등급 진행여부 - public int selectMberGrdPrgCnt(String userId) throws Exception{ - return (int) select("mberGrdDAO.selectMberGrdPrgCnt", userId); + public int selectMberGrdPrgCnt(String mberId) throws Exception{ + return (int) select("mberGrdDAO.selectMberGrdPrgCnt", mberId); + } + + // 회원별 이벤트 진행여부 + public int selectMberEventPrgCnt(String mberId) throws Exception{ + return (int) select("mberGrdDAO.selectMberEventPrgCnt", mberId); } // 회원별 등급 저장여부 - public int selectMberGrdSaveCnt(String userId) throws Exception{ - return (int) select("mberGrdDAO.selectMberGrdSaveCnt", userId); + public int selectMberGrdSaveCnt(String mberId) throws Exception{ + return (int) select("mberGrdDAO.selectMberGrdSaveCnt", mberId); } diff --git a/src/main/java/itn/let/sym/grd/service/impl/MberGrdServiceImpl.java b/src/main/java/itn/let/sym/grd/service/impl/MberGrdServiceImpl.java index 12b1a7b9..91799c2c 100644 --- a/src/main/java/itn/let/sym/grd/service/impl/MberGrdServiceImpl.java +++ b/src/main/java/itn/let/sym/grd/service/impl/MberGrdServiceImpl.java @@ -121,11 +121,11 @@ public class MberGrdServiceImpl extends EgovAbstractServiceImpl implements MberG // 회원 등급제 대상여부 정보(사용자화면용) @Override - public MberGrdVO selectMberGrdInfo(String userId) throws Exception { + public MberGrdVO selectMberGrdInfo(String mberId) throws Exception { // 공백제거 - userId = userId.trim(); + mberId = mberId.trim(); - return mberGrdDAO.selectMberGrdInfo(userId); + return mberGrdDAO.selectMberGrdInfo(mberId); } // 회원별 등급 누적결제액 상세 @@ -257,20 +257,29 @@ public class MberGrdServiceImpl extends EgovAbstractServiceImpl implements MberG // 회원별 등급 진행여부 @Override - public int selectMberGrdPrgCnt(String userId) throws Exception{ + public int selectMberGrdPrgCnt(String mberId) throws Exception{ // 공백제거 - userId = userId.trim(); + mberId = mberId.trim(); - return mberGrdDAO.selectMberGrdPrgCnt(userId); + return mberGrdDAO.selectMberGrdPrgCnt(mberId); + } + + // 회원별 이벤트 진행여부 + @Override + public int selectMberEventPrgCnt(String mberId) throws Exception{ + // 공백제거 + mberId = mberId.trim(); + + return mberGrdDAO.selectMberEventPrgCnt(mberId); } // 회원별 등급 저장여부 @Override - public int selectMberGrdSaveCnt(String userId) throws Exception{ + public int selectMberGrdSaveCnt(String mberId) throws Exception{ // 공백제거 - userId = userId.trim(); + mberId = mberId.trim(); - return mberGrdDAO.selectMberGrdSaveCnt(userId); + return mberGrdDAO.selectMberGrdSaveCnt(mberId); } diff --git a/src/main/resources/egovframework/sqlmap/let/sym/grd/MberGrd_SQL_Mysql.xml b/src/main/resources/egovframework/sqlmap/let/sym/grd/MberGrd_SQL_Mysql.xml index 284e27f0..e64464a9 100644 --- a/src/main/resources/egovframework/sqlmap/let/sym/grd/MberGrd_SQL_Mysql.xml +++ b/src/main/resources/egovframework/sqlmap/let/sym/grd/MberGrd_SQL_Mysql.xml @@ -108,10 +108,12 @@ , DATE_FORMAT(A.GRD_END_DATE, '%Y-%m-%d') AS grdEndDate , A.GRD_STATUS AS grdStatus , CASE - WHEN A.GRD_STATUS = 'Y' AND A.GRD_END_DATE >= NOW() - THEN '진행중' + WHEN E.EVENT_STATUS = 'Y' AND DATE_FORMAT(NOW(), '%Y-%m-%d') BETWEEN DATE_FORMAT(E.EVENT_START_DATE, '%Y-%m-%d') AND DATE_FORMAT(E.EVENT_END_DATE, '%Y-%m-%d') + THEN '대기' + WHEN A.GRD_STATUS = 'Y' AND NOW() BETWEEN A.GRD_START_DATE AND A.GRD_END_DATE + THEN '진행' WHEN A.GRD_STATUS = 'N' - THEN '미진행' + THEN '대기' WHEN A.GRD_STATUS = 'E' THEN '종료' ELSE '종료' @@ -126,6 +128,8 @@ ON A.GRD_SET_NO = B.GRD_SET_NO INNER JOIN LETTNGNRLMBER C ON A.MBER_ID = C.MBER_ID + LEFT OUTER JOIN MJ_EVENT_MBER_INFO E + ON A.MBER_ID = E.MBER_ID WHERE 1=1 AND C.MBER_STTUS = 'Y' @@ -239,18 +243,18 @@ , SUM(S.AMT) AS AMT_SUM_ORIGIN , (SUM(S.AMT) - IFNULL(SS.EVENT_FRST_CASH + ROUND(SS.EVENT_FRST_CASH / 10), 0)) AS AMT_SUM , ( - SELECT MIN(GRD_SET_NO) FROM MJ_MBER_GRD_SETTING S1 WHERE S1.STD_AMT <= (SUM(S.AMT) - IFNULL(SS.EVENT_FRST_CASH + ROUND(SS.EVENT_FRST_CASH / 10), 0)) + SELECT MIN(S1.GRD_SET_NO) FROM MJ_MBER_GRD_SETTING S1 WHERE S1.STD_AMT <= (SUM(S.AMT) - IFNULL(SS.EVENT_FRST_CASH + ROUND(SS.EVENT_FRST_CASH / 10), 0)) ) GRD_SET_NO FROM MJ_PG S LEFT OUTER JOIN MJ_EVENT_MBER_INFO SS ON S.USER_ID = SS.MBER_ID - AND SS.EVENT_START_DATE >= CONCAT(DATE_FORMAT(#grdDate#, '%Y-%m-%d'), ' ', '00:00:00') WHERE S.PG_STATUS = '1' AND S.REG_DATE >= CONCAT(DATE_FORMAT(#grdDate#, '%Y-%m-%d'), ' ', '00:00:00') GROUP BY S.USER_ID ) M WHERE M.GRD_SET_NO IS NOT NULL - AND M.USER_ID = #mberId# + AND M.AMT_SUM > 0 + AND M.USER_ID = #mberId# ]]> @@ -332,17 +336,17 @@ , SUM(S.AMT) AS AMT_SUM_ORIGIN , (SUM(S.AMT) - IFNULL(SS.EVENT_FRST_CASH + ROUND(SS.EVENT_FRST_CASH / 10), 0)) AS AMT_SUM , ( - SELECT MIN(GRD_SET_NO) FROM MJ_MBER_GRD_SETTING S1 WHERE S1.STD_AMT <= (SUM(S.AMT) - IFNULL(SS.EVENT_FRST_CASH + ROUND(SS.EVENT_FRST_CASH / 10), 0)) + SELECT MIN(S1.GRD_SET_NO) FROM MJ_MBER_GRD_SETTING S1 WHERE S1.STD_AMT <= (SUM(S.AMT) - IFNULL(SS.EVENT_FRST_CASH + ROUND(SS.EVENT_FRST_CASH / 10), 0)) ) GRD_SET_NO FROM MJ_PG S LEFT OUTER JOIN MJ_EVENT_MBER_INFO SS ON S.USER_ID = SS.MBER_ID - AND SS.EVENT_START_DATE >= CONCAT(DATE_FORMAT(#grdDate#, '%Y-%m-%d'), ' ', '00:00:00') WHERE S.PG_STATUS = '1' AND S.REG_DATE >= CONCAT(DATE_FORMAT(#grdDate#, '%Y-%m-%d'), ' ', '00:00:00') GROUP BY S.USER_ID ) M WHERE M.GRD_SET_NO IS NOT NULL + AND M.AMT_SUM > 0 ) B ON A.MBER_ID = B.USER_ID INNER JOIN MJ_MBER_GRD_SETTING C @@ -425,6 +429,17 @@ LIMIT 1 + + +