diff --git a/src/main/java/itn/let/mjo/pay/service/MjonPayService.java b/src/main/java/itn/let/mjo/pay/service/MjonPayService.java index 2f8dd87..220c01e 100644 --- a/src/main/java/itn/let/mjo/pay/service/MjonPayService.java +++ b/src/main/java/itn/let/mjo/pay/service/MjonPayService.java @@ -74,7 +74,7 @@ public interface MjonPayService { void updatePointUse(MjonPayVO mjonPayVO) throws Exception; - void updatePointUseByCase(MjonPayVO mjonPayVO) throws Exception; + String updatePointUseByCase(MjonPayVO mjonPayVO, String msg) throws Exception; String selectSumPayMoney(String userId) throws Exception; diff --git a/src/main/java/itn/let/mjo/pay/service/impl/MjonPayServiceImpl.java b/src/main/java/itn/let/mjo/pay/service/impl/MjonPayServiceImpl.java index e7b0ef6..bcbefd0 100644 --- a/src/main/java/itn/let/mjo/pay/service/impl/MjonPayServiceImpl.java +++ b/src/main/java/itn/let/mjo/pay/service/impl/MjonPayServiceImpl.java @@ -2438,7 +2438,7 @@ public class MjonPayServiceImpl extends EgovAbstractServiceImpl implements MjonP } @Override - public void updatePointUseByCase(MjonPayVO mjonPayVO) throws Exception { + public String updatePointUseByCase(MjonPayVO mjonPayVO, String msg) throws Exception { MjonMsgVO mjonMsgVO = new MjonMsgVO(); mjonMsgVO.setUserId(mjonPayVO.getUserId()); @@ -2450,7 +2450,9 @@ public class MjonPayServiceImpl extends EgovAbstractServiceImpl implements MjonP mjonPayVO.setRemainPoint(Integer.parseInt(mjonMsgDataService.selectBeforePointData(mjonMsgVO))); // Step2. 상태값 변경 - updatePointUse(mjonPayVO); + updatePointUse(mjonPayVO); + + msg = "송금완료 처리되었습니다."; } else if (mjonPayVO.getCmpltYn().equals("X")) { // 전환불가 @@ -2469,7 +2471,11 @@ public class MjonPayServiceImpl extends EgovAbstractServiceImpl implements MjonP // Step4. 상태값 변경 updatePointUse(mjonPayVO); + + msg = "전환불가 처리되었습니다."; } + + return msg; } @Override diff --git a/src/main/java/itn/let/mjo/pay/web/MjonPayController.java b/src/main/java/itn/let/mjo/pay/web/MjonPayController.java index da40b38..3f73960 100644 --- a/src/main/java/itn/let/mjo/pay/web/MjonPayController.java +++ b/src/main/java/itn/let/mjo/pay/web/MjonPayController.java @@ -1226,79 +1226,14 @@ public class MjonPayController { String adminUserId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()); boolean isSuccess = true; - String msg = "전환불가 처리되었습니다."; + String msg = ""; try { mjonPayVO.setAdminRegisterId(adminUserId); mjonPayVO.setFrstRegisterId(mjonPayVO.getUserId()); mjonPayVO.setUserId(mjonPayVO.getUserId()); - mjonPayService.updatePointUseByCase(mjonPayVO); + msg = mjonPayService.updatePointUseByCase(mjonPayVO, msg); - //완료 처리 시 사용자에게 알림 문자 전송 - if("Y".equals(mjonPayVO.getCmpltYn())){ - - msg = "송금완료 처리되었습니다."; - - MjonCommon mjCommon = new MjonCommon(); - MjonMsgVO mjonMsgVO = new MjonMsgVO(); - - mjonMsgVO.setCallFrom("15518011"); - //포인트 3자리수 콤마 처리 - NumberFormat numberFormat = NumberFormat.getInstance(); - String point = numberFormat.format(mjonPayVO.getPoint()); - - //발송 문자 타입(단/장문) 등록 - //문자열 길이 체크 해주기 - String charset = "euc-kr"; //문자 바이트 계산에 필요한 캐릭터 셋 : 한글 2Byte로 계산 - String smsTxt = "[문자온] 고객님, 요청하신 포인트 현금 전환("+point+"원) 처리가 완료되었습니다. 감사합니다."; - mjonMsgVO.setSmsTxt(smsTxt); - smsTxt = smsTxt.replace("\r\n", "\n"); - int FrBytes = smsTxt.getBytes(charset).length; - String msgType = "4"; - - //90바이트를 초과하는 경우 장문으로 발송 - if(FrBytes > 90){ - msgType = "6"; - } - mjonMsgVO.setMsgType(msgType); - - - //그림이미지 첨부파일 갯수 0으로 셋팅 - mjonMsgVO.setFileCnt("0"); - - // 문자타입 구분 - if (mjonMsgVO.getMsgType().equals("4")) { - mjonMsgVO.setMsgDiv("S"); // 단문 - } - else if (mjonMsgVO.getMsgType().equals("6")) { - if (mjonMsgVO.getFileCnt().equals("0")) { - mjonMsgVO.setMsgDiv("L"); // 장문 - } - else { - mjonMsgVO.setMsgDiv("P"); // 그림 - } - } - - // 문자타입별 대표전송사 정보 - MjonMsgVO mjonMsgVO2 = new MjonMsgVO(); - mjonMsgVO2 = mjonMsgService.selectRepMsgAgetnInfo(mjonMsgVO); - // 전송사 구분 코드 - 01 : 아이하트, 02 : 현대 퓨쳐넷, 03 : 아이엠오, 04 : 다우기술 - mjonMsgVO.setAgentCode(mjonMsgVO2.getAgentCode()); //전송사 선택 - // 전송금액 - mjonMsgVO.setTotPrice(mjonMsgVO2.getAgentPrice().toString()); //총금액 - mjonMsgVO.setEachPrice(mjonMsgVO2.getAgentPrice().toString()); //한건 금액 - - - mjonMsgVO.setCallTo(mjonPayVO.getMbtlNum()); - - //문자발송을 위한 데이터 셋팅 함수 호출해주기 - MjonMsgVO resultCom = mjCommon.getAdminToMberPhoneSendMsgDataComm(mjonMsgVO); - - //발신으로 문자 발송 처리 - mjonMsgDataService.insertAdmToMberMsgDataInfo(resultCom); - - msg = msg += (System.lineSeparator()+"안내문자 발송 성공했습니다."); - } } catch(Exception e) { isSuccess = false; @@ -2022,6 +1957,111 @@ public class MjonPayController { return "/uss/ion/pay/cashPointSendList"; } + + + /** + * 포인트 사용 완료처리 변경 + */ + @RequestMapping(value="/uss/ion/pay/pointUseCashUpdateSendSmsAjax.do") + public ModelAndView pointUseCashUpdateSendSmsAjax(@ModelAttribute("searchVO") MjonPayVO mjonPayVO, + HttpServletRequest request) throws Exception { + + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + + boolean isSuccess = true; + String msg = ""; + + try { + MjonCommon mjCommon = new MjonCommon(); + MjonMsgVO mjonMsgVO = new MjonMsgVO(); + + mjonMsgVO.setCallFrom("15518011"); + //포인트 3자리수 콤마 처리 + NumberFormat numberFormat = NumberFormat.getInstance(); + String point = numberFormat.format(mjonPayVO.getPoint()); + + //발송 문자 타입(단/장문) 등록 + //문자열 길이 체크 해주기 + String charset = "euc-kr"; //문자 바이트 계산에 필요한 캐릭터 셋 : 한글 2Byte로 계산 + String smsTxt = "[문자온] 고객님, 요청하신 포인트 현금 전환("+point+"원) 처리가 완료되었습니다. 감사합니다."; + mjonMsgVO.setSmsTxt(smsTxt); + smsTxt = smsTxt.replace("\r\n", "\n"); + int FrBytes = smsTxt.getBytes(charset).length; + String msgType = "4"; + + //90바이트를 초과하는 경우 장문으로 발송 + if(FrBytes > 90){ + msgType = "6"; + } + mjonMsgVO.setMsgType(msgType); + + + //그림이미지 첨부파일 갯수 0으로 셋팅 + mjonMsgVO.setFileCnt("0"); + + // 문자타입 구분 + if (mjonMsgVO.getMsgType().equals("4")) { + mjonMsgVO.setMsgDiv("S"); // 단문 + } + else if (mjonMsgVO.getMsgType().equals("6")) { + if (mjonMsgVO.getFileCnt().equals("0")) { + mjonMsgVO.setMsgDiv("L"); // 장문 + } + else { + mjonMsgVO.setMsgDiv("P"); // 그림 + } + } + + // 문자타입별 대표전송사 정보 + MjonMsgVO mjonMsgVO2 = new MjonMsgVO(); + mjonMsgVO2 = mjonMsgService.selectRepMsgAgetnInfo(mjonMsgVO); + // 전송사 구분 코드 - 01 : 아이하트, 02 : 현대 퓨쳐넷, 03 : 아이엠오, 04 : 다우기술 + mjonMsgVO.setAgentCode(mjonMsgVO2.getAgentCode()); //전송사 선택 + // 전송금액 + mjonMsgVO.setTotPrice(mjonMsgVO2.getAgentPrice().toString()); //총금액 + mjonMsgVO.setEachPrice(mjonMsgVO2.getAgentPrice().toString()); //한건 금액 + + + mjonMsgVO.setCallTo(mjonPayVO.getMbtlNum()); + + //문자발송을 위한 데이터 셋팅 함수 호출해주기 + MjonMsgVO resultCom = mjCommon.getAdminToMberPhoneSendMsgDataComm(mjonMsgVO); + + //발신으로 문자 발송 처리 + mjonMsgDataService.insertAdmToMberMsgDataInfo(resultCom); + + msg = "안내문자 발송 성공했습니다."; + } + catch(Exception e) { + isSuccess = false; + msg = e.getMessage(); + } + + modelAndView.addObject("isSuccess", isSuccess); + modelAndView.addObject("msg", msg); + + return modelAndView; + } + + + + + + + + + + + + + + + + + + + //배열 정의{"컬럼순차번호, 컬럼이름, 컬럼내용, 컬럼이름에 붙여야할 내용(엑셀코드양식다운로드시 필요)"} private String[][] sendPayExcelValue ={ {"0" ,"번호" , "1" , "" }, diff --git a/src/main/webapp/WEB-INF/jsp/uss/ion/pay/PointUseCashDetail.jsp b/src/main/webapp/WEB-INF/jsp/uss/ion/pay/PointUseCashDetail.jsp index 17d90a2..9895a4b 100644 --- a/src/main/webapp/WEB-INF/jsp/uss/ion/pay/PointUseCashDetail.jsp +++ b/src/main/webapp/WEB-INF/jsp/uss/ion/pay/PointUseCashDetail.jsp @@ -51,19 +51,22 @@ function fn_update(pType){ //송금완료 버튼 클릭 후 처리완료 되면 문자 전송 여부 선택 if(pType == "Y"){ sendSms(); + }else{ + location.reload(); } } else { alert(data.msg); + location.reload(); } }, error: function (e) { alert("업데이트에 실패하였습니다."); console.log("ERROR : ", e); } - }); - + }else{ + location.reload(); } } @@ -86,28 +89,28 @@ function fnSelectMber(mberId) { } function sendSms(){ - $.ajax({ - cache : false, - url : "", - type : 'POST', - data : $("#writeForm").serialize(), - dataType:'json', - success : function(data){ - if(data.isSuccess == true) { - /* location.reload(); */ - alert(data.msg); - - } - else { - alert(data.msg); - } - }, - error: function (e) { - alert("문자전송에 실패했습니다."); - console.log("ERROR : ", e); - } - - }); + if (confirm("문자를 발송하시겠습니까?")) { + $.ajax({ + cache : false, + url : "", + type : 'POST', + data : $("#writeForm").serialize(), + dataType:'json', + success : function(data){ + if(data.isSuccess == true) { + location.reload(); + alert(data.msg); + } + else { + alert(data.msg); + } + }, + error: function (e) { + alert("문자전송에 실패했습니다."); + console.log("ERROR : ", e); + } + }); + } }