diff --git a/src/main/java/itn/com/cmm/util/SlackMessageFormatUtil.java b/src/main/java/itn/com/cmm/util/SlackMessageFormatUtil.java index 457326c0..399a748b 100644 --- a/src/main/java/itn/com/cmm/util/SlackMessageFormatUtil.java +++ b/src/main/java/itn/com/cmm/util/SlackMessageFormatUtil.java @@ -2,6 +2,7 @@ package itn.com.cmm.util; import org.apache.commons.lang3.StringUtils; +import itn.let.kakao.kakaoComm.KakaoSendAdvcVO; import itn.let.kakao.kakaoComm.KakaoVO; import itn.let.mjo.msg.service.MjonMsgVO; @@ -36,10 +37,10 @@ public class SlackMessageFormatUtil { /** * 카카오톡 메시지 텍스트 포맷팅 */ - public static String formatKakaoText(KakaoVO kakaoVO) { - String smsTxt = kakaoVO.getTemplateContent(); - String reserveYn = safeGetString(kakaoVO.getReserveYn()); - String atDelayYn = safeGetString(kakaoVO.getAtDelayYn()); + public static String formatKakaoText(KakaoSendAdvcVO sendVO) { + String smsTxt = sendVO.getTemplateContent(); + String reserveYn = safeGetString(sendVO.getReserveYn()); + String atDelayYn = safeGetString(sendVO.getAtDelayYn()); // 공통 텍스트 포맷팅 로직 적용 return formatMessagePrefix(smsTxt, reserveYn, "Y".equals(atDelayYn)); @@ -73,10 +74,10 @@ public class SlackMessageFormatUtil { /** * @카카오톡용 sandName 포맷팅 메서드 */ - public static String formatKakaoSandName(KakaoVO kakaoVO) { - String userId = kakaoVO.getUserId(); - String callFrom = kakaoVO.getCallFrom(); - String msgType = getKakaoMessageTypeLabel(kakaoVO.getMsgType()); + public static String formatKakaoSandName(KakaoSendAdvcVO sendVO) { + String userId = sendVO.getUserId(); + String callFrom = sendVO.getCallFrom(); + String msgType = getKakaoMessageTypeLabel(sendVO.getMsgType()); return String.format("[%s][%s]%s", userId, callFrom, msgType); } 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 bedbf8bf..cef9cf34 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 @@ -902,9 +902,6 @@ public class KakaoAlimTalkServiceImpl extends EgovAbstractServiceImpl implements boolean isNotified = mjonCommon.processUserAndCheckAT(kakaoVO); -/** @LETTNGNRLMBER 사용자 정보 -> 스미싱의심 여부 */ - UserManageVO userManageVO = mjonCommon.getUserManageInfo(userId); - kakaoVO.setAtSmishingYn(userManageVO.getAtSmishingYn()); /** @카카오톡 전송 list 셋팅 -------------------------------------------*/ List kakaoSendAdvcListVO = kakaoSendUtil.populateSendLists(kakaoVO, isNotified, statusResponse); @@ -927,14 +924,6 @@ public class KakaoAlimTalkServiceImpl extends EgovAbstractServiceImpl implements this.insertKakaoAtDataJsonInfo_advc(kakaoSendAdvcListVO); - /* - log.info(" kakaoSendAdvcListVO.size() :: [{}]", kakaoSendAdvcListVO.size()); - if(true) { - throw new RuntimeException("강제 Exception"); - } - */ - - Map> priceGroupedMessages = kakaoSendAdvcListVO.stream() .collect(Collectors.groupingBy(KakaoSendAdvcVO::getEachPrice)); // instTotalCnt : 화면에서 보여줄 총 발송건수 @@ -984,7 +973,7 @@ public class KakaoAlimTalkServiceImpl extends EgovAbstractServiceImpl implements /** @SLACK발송 */ /** @발송조건이되면 발송 */ if(isNotified) { - mjonCommon.getAdminKakaoAtSendSlack(kakaoVO); + mjonCommon.getAdminKakaoAtSendSlack(sendVO); }else if("Y".equals(kakaoVO.getAtSmishingYn())){ /** @발송조건이 안되면 DB INSERT */ mjonMsgDAO.insertSpamPassMsgData(MjonMsgVO.builder() @@ -1047,24 +1036,13 @@ public class KakaoAlimTalkServiceImpl extends EgovAbstractServiceImpl implements // TODO Auto-generated method stub // 측정할 메소드 호출 전 시간 기록 -// Instant start = Instant.now(); List jsonInfoData = new ArrayList<>(kakaoSendAdvcListVO); jsonInfoData.removeIf(t -> StringUtils.isBlank(t.getJsonStr())); log.info(" + jsonInfoData Insert :: [{}]", jsonInfoData.size()); if(jsonInfoData.size() > 0) { kakaoAlimTalkDAO.insertKakaoAtDataJsonInfo_advc(jsonInfoData); } - - // 측정할 메소드 호출 후 시간 기록 -// Instant end = Instant.now(); - -// log.info(" + start :: [{}]", start); -// // 실행 시간 계산 (나노초, 밀리초, 초) -// long seconds = Duration.between(start, end).getSeconds(); -// System.out.println("메소드 실행 시간 (초): " + seconds + " s"); -// double minutes = seconds / 60.0; // 소수점 포함을 위해 60.0으로 나눔 -// log.info(" seconds :: [{}], minutes :: [{}]", seconds, minutes); } private void insertKakaoGroupDataTb_advc(int instCnt, KakaoVO kakaoVO, KakaoSendAdvcVO sendVO) throws Exception { 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 2ee69ccd..3f30a8b3 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 @@ -1430,7 +1430,7 @@ public class KakaoAlimTalkSendController { if(!smishingAlarmPassSts) {//평일,주말, 공휴일 알림설정 시간에 포함되지 않는 경우 슬랙 알림 발송 - mjonCommon.getAdminKakaoAtSendSlack(kakaoVO); +// mjonCommon.getAdminKakaoAtSendSlack(kakaoVO); } diff --git a/src/main/java/itn/let/kakao/user/kakaoFt/web/KakaoFriendsTalkSendController.java b/src/main/java/itn/let/kakao/user/kakaoFt/web/KakaoFriendsTalkSendController.java index 3203c904..0dc23c11 100644 --- a/src/main/java/itn/let/kakao/user/kakaoFt/web/KakaoFriendsTalkSendController.java +++ b/src/main/java/itn/let/kakao/user/kakaoFt/web/KakaoFriendsTalkSendController.java @@ -663,7 +663,7 @@ public class KakaoFriendsTalkSendController { if(!smishingAlarmPassSts) {//평일,주말, 공휴일 알림설정 시간에 포함되지 않는 경우 슬랙 알림 발송 MjonCommon comm = new MjonCommon(); - comm.getAdminKakaoAtSendSlack(kakaoVO); +// comm.getAdminKakaoAtSendSlack(kakaoVO); } diff --git a/src/main/java/itn/let/mjo/mjocommon/MjonCommon.java b/src/main/java/itn/let/mjo/mjocommon/MjonCommon.java index 826f6809..d1217838 100644 --- a/src/main/java/itn/let/mjo/mjocommon/MjonCommon.java +++ b/src/main/java/itn/let/mjo/mjocommon/MjonCommon.java @@ -27,6 +27,7 @@ import itn.com.cmm.MjonMsgSendVO; import itn.com.cmm.OptimalMsgResultDTO; import itn.com.cmm.util.MsgSendUtils; import itn.com.cmm.util.SlackMessageFormatUtil; +import itn.let.kakao.kakaoComm.KakaoSendAdvcVO; import itn.let.kakao.kakaoComm.KakaoVO; import itn.let.mail.service.StatusResponse; import itn.let.mjo.event.service.MjonEventService; @@ -159,7 +160,7 @@ public class MjonCommon { } } - public void getAdminKakaoAtSendSlack(KakaoVO kakaoVO) { + public void getAdminKakaoAtSendSlack(KakaoSendAdvcVO kakaoVO) { HttpClient client = new HttpClient(); PostMethod post = new PostMethod(SLACK_URL); @@ -537,7 +538,7 @@ private int parseIntOrDefault(String value, int defaultValue) { // 조건 체크 if ("Y".equals(adminSmsNoticeYn) || "Y".equals(atSmishingYn)) { - kakaoVO.setAtSmishingYn(atSmishingYn); // MjonMsgVO에 스미싱 정보 설정 + kakaoVO.setAtSmishingYn("Y"); // MjonMsgVO에 스미싱 정보 설정 // 스미싱 알림 처리 return handleSmishingAlert(); // 알림 처리 결과 반환 diff --git a/src/main/java/itn/let/module/base/PriceAndPoint.java b/src/main/java/itn/let/module/base/PriceAndPoint.java index d1eec610..d4f190f1 100644 --- a/src/main/java/itn/let/module/base/PriceAndPoint.java +++ b/src/main/java/itn/let/module/base/PriceAndPoint.java @@ -117,6 +117,7 @@ public class PriceAndPoint { MjonPayVO mjonPayVO = new MjonPayVO(); mjonPayVO.setCashId(idgenMjonCashId.getNextStringId()); mjonPayVO.setUserId(userId); + System.out.println(" + totPrice :: "+ totPrice); mjonPayVO.setCash(totPrice); mjonPayVO.setFrstRegisterId(userId); mjonPayVO.setMemo(memo); diff --git a/src/main/java/itn/let/uat/uia/web/EgovLoginController.java b/src/main/java/itn/let/uat/uia/web/EgovLoginController.java index 87b3d301..eed122fa 100644 --- a/src/main/java/itn/let/uat/uia/web/EgovLoginController.java +++ b/src/main/java/itn/let/uat/uia/web/EgovLoginController.java @@ -1074,12 +1074,21 @@ public class EgovLoginController { String message = (String) commandMap.get("message"); String goEventPay = (String) commandMap.get("goEventPay"); - // sns 회원가입 key 값 설정 - String naverClientId = itnNaverClientId; - String naverClientSecret = itnNaverClientSecret; + /* + * 헤더에서 id/pw는 맞지만 보안로그인 설정 되어있을때 -> secure + * + */ - String kakaoRestApiKey = itnKakaoRestApiKey; - String kakaoReturnUrl = itnKakaoReturnUrl; + String headerLoginResult = (String) commandMap.get("headerLoginResult"); + String id = (String) commandMap.get("id"); + String pw = (String) commandMap.get("password"); + + // sns 회원가입 key 값 설정 +// String naverClientId = itnNaverClientId; +// String naverClientSecret = itnNaverClientSecret; +// +// String kakaoRestApiKey = itnKakaoRestApiKey; +// String kakaoReturnUrl = itnKakaoReturnUrl; // config 정보 가져오기 MberManageConfigVO mberConfigVO = new MberManageConfigVO(); @@ -1129,6 +1138,16 @@ public class EgovLoginController { model.addAttribute("userIp", userIp); model.addAttribute("goEventPay", goEventPay); + + + if(StringUtil.isNotEmpty(headerLoginResult)) { + model.addAttribute("id_secure", id); + model.addAttribute("pw_secure", pw); + }else { + headerLoginResult = "N"; + } + + model.addAttribute("headerLoginResult", headerLoginResult); return "web/login/EgovLoginGnrlUsr"; } @@ -1833,6 +1852,8 @@ public class EgovLoginController { HttpServletRequest request, @RequestParam Map commandMap, ModelMap model, HttpSession session, RedirectAttributes redirectAttributes) throws Exception { + + ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("jsonView"); diff --git a/src/main/webapp/WEB-INF/jsp/web/com/webCommonHeader.jsp b/src/main/webapp/WEB-INF/jsp/web/com/webCommonHeader.jsp index fc77da82..7231f629 100644 --- a/src/main/webapp/WEB-INF/jsp/web/com/webCommonHeader.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/com/webCommonHeader.jsp @@ -341,8 +341,8 @@ function whoisIpCountry() { } function actionLogin() { - location.href=""; - /* +// location.href=""; + // 아이디 공백 제거 document.loginForm.id_text.value = $.trim(document.loginForm.id_text.value); @@ -353,16 +353,6 @@ function actionLogin() { alert("비밀번호를 입력하세요"); return; } else { - - // Whois IP 국가코드 - //whoisIpCountry(); - setTimeout(function() { - if (isKoreaIpAddress == false) { - alert("해외 IP로 감지되어 로그인이 제한되었습니다.\n문자온 고객센터로 문의 바랍니다."); - location.href='/web/uat/uia/actionLogout.do'; - return false; - } - // 로그인 START var rsa = new RSAKey(); rsa.setPublic($('#RSAModulus').val(),$('#RSAExponent').val()); @@ -373,13 +363,84 @@ function actionLogin() { $("#id").val(rsa.encrypt(id.val().toLowerCase())); $("#password").val(rsa.encrypt(pw.val())); - document.loginForm.action=""; saveid(document.loginForm); - document.loginForm.submit(); - }, 600); - + + var checkForm = $("form[name=loginForm]").serialize() ; + + $.ajax({ + type : "POST", + async : false, + url : "/web/user/login/actionSecurityLoginBeforeHpAjax.do", + data : checkForm, + dataType:'json', + success : function(data) { + if (data.status=="success"){ + + document.loginForm.passFlag.value = data.passFlag; + if(data.passFlag == "Y") + { + actionLogin_end(); + } + else + { + goLoginPage(id.val(), pw.val(), "secure"); + } + }else if (data.status=="fail"){ + + if (data.returnType == "A"){ + //휴면 회원 + document.loginForm.action=""; + document.loginForm.submit(); + }else if (data.returnType == "B"){ + //기업회원 기업정보 기입 + document.cmpChangeForm.mberId.value = data.mberId; + document.cmpChangeForm.action=""; + document.cmpChangeForm.submit(); + }else if (data.returnType == "C"){ + document.cmpChangeForm.mberId.value = data.mberId; + document.cmpChangeForm.action=""; + document.cmpChangeForm.submit(); + }else{ + //로그인 실패 page이동 + goLoginPage(id.val(), pw.val(), data.msg); + } + } + + //alert(JSON.stringify(data)); + console.log("sucess data1 : " + JSON.stringify(data)); + if (data.isSuccess == true) { + console.log("fn_click_banner_add_stat sucess data2 : " + JSON.stringify(data)); + } + else { + console.log("data.isSuccess not true "); + console.log("sucess data.msg : " + data.msg); + console.log("sucess data1 : " + JSON.stringify(data)); + } + }, + error : function(xhr, status, error) { + console.log("fn_click_banner_add_stat error : " + error); + console.log("fn_click_banner_add_stat xhr : " + JSON.stringify(xhr) + "\r\status : " + JSON.stringify(status) + "\r\error : " + JSON.stringify(error)); + return false; + } + }); } - */ + +} + +function goLoginPage(id, pw, headerLoginResult){ + document.loginForm.id.value = id; + document.loginForm.password.value = pw; + document.loginForm.headerLoginResult.value = headerLoginResult; + document.loginForm.action = ""; + + document.loginForm.submit(); +} + +//아이디/휴대폰 번호 체크 +function actionLogin_end(){ + document.loginForm.action=""; + saveid(document.loginForm); + document.loginForm.submit(); } function saveid(form) { @@ -1636,14 +1697,19 @@ function actionLogin() { + + +