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 d2c31e04..2a8012c5 100644 --- a/src/main/java/itn/let/mjo/msg/service/MjonMsgVO.java +++ b/src/main/java/itn/let/mjo/msg/service/MjonMsgVO.java @@ -200,6 +200,11 @@ public class MjonMsgVO extends ComDefaultVO{ private String searchDelayMsgYn; + private int succSendCnt; + private int failSendCnt; + private double succSendPrice; + private double failSendPrice; + public String getSearchDelayMsgYn() { return searchDelayMsgYn; } @@ -1595,4 +1600,28 @@ public class MjonMsgVO extends ComDefaultVO{ public void setFtSendCount(int ftSendCount) { this.ftSendCount = ftSendCount; } + public int getSuccSendCnt() { + return succSendCnt; + } + public void setSuccSendCnt(int succSendCnt) { + this.succSendCnt = succSendCnt; + } + public int getFailSendCnt() { + return failSendCnt; + } + public void setFailSendCnt(int failSendCnt) { + this.failSendCnt = failSendCnt; + } + public double getSuccSendPrice() { + return succSendPrice; + } + public void setSuccSendPrice(double succSendPrice) { + this.succSendPrice = succSendPrice; + } + public double getFailSendPrice() { + return failSendPrice; + } + public void setFailSendPrice(double failSendPrice) { + this.failSendPrice = failSendPrice; + } } diff --git a/src/main/java/itn/let/mjo/msgdata/service/MjonMsgDataService.java b/src/main/java/itn/let/mjo/msgdata/service/MjonMsgDataService.java index f85c0057..e7be2267 100644 --- a/src/main/java/itn/let/mjo/msgdata/service/MjonMsgDataService.java +++ b/src/main/java/itn/let/mjo/msgdata/service/MjonMsgDataService.java @@ -79,6 +79,8 @@ public interface MjonMsgDataService { public List selectPayUserList(MjonMsgVO mjonMsgVO) throws Exception; + public List selectPayUserSWList(MjonMsgVO mjonMsgVO) throws Exception; + public List selectPayUserSumList(MjonMsgVO mjonMsgVO) throws Exception; // 중계사 시스템 발송 문자 내용 입력 diff --git a/src/main/java/itn/let/mjo/msgdata/service/impl/MjonMsgDataDAO.java b/src/main/java/itn/let/mjo/msgdata/service/impl/MjonMsgDataDAO.java index e7291b58..2074193b 100644 --- a/src/main/java/itn/let/mjo/msgdata/service/impl/MjonMsgDataDAO.java +++ b/src/main/java/itn/let/mjo/msgdata/service/impl/MjonMsgDataDAO.java @@ -151,6 +151,11 @@ public class MjonMsgDataDAO extends EgovAbstractDAO { return (List) list("mjonMsgDAO.selectPayUserList",mjonMsgVO); } + @SuppressWarnings("unchecked") + public List selectPayUserSWList(MjonMsgVO mjonMsgVO) throws Exception{ + return (List) list("mjonMsgDAO.selectPayUserSWList",mjonMsgVO); + } + @SuppressWarnings("unchecked") public List selectPayUserSumList(MjonMsgVO mjonMsgVO) throws Exception{ return (List) list("mjonMsgDAO.selectPayUserSumList",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 a56c069d..1f664607 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 @@ -1774,6 +1774,11 @@ public class MjonMsgDataServiceImpl extends EgovAbstractServiceImpl implements M return mjonMsgDataDAO.selectPayUserList(mjonMsgVO); } + @Override + public List selectPayUserSWList(MjonMsgVO mjonMsgVO) throws Exception { + return mjonMsgDataDAO.selectPayUserSWList(mjonMsgVO); + } + @Override public List selectPayUserSumList(MjonMsgVO mjonMsgVO) throws Exception { return mjonMsgDataDAO.selectPayUserSumList(mjonMsgVO); 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 eca2dbcc..3664c25d 100644 --- a/src/main/java/itn/let/mjo/pay/web/MjonPayController.java +++ b/src/main/java/itn/let/mjo/pay/web/MjonPayController.java @@ -2099,6 +2099,13 @@ public class MjonPayController { return "/web/pay/PayListAllAjax"; } + //후불제 회원 여부 조회 + UserManageVO userManageVO = new UserManageVO(); + userManageVO.setMberId(userId); + userManageVO = userManageService.selectAdminSmsNoticeYn(userManageVO); + + model.addAttribute("prePaymentYn", userManageVO.getPrePaymentYn()); + return "/web/pay/PayList"; } @@ -2514,7 +2521,7 @@ public class MjonPayController { return "/web/pay/PayUserWithKakaoList"; } /** - * 요금사용내역 + * 요금사용내역 하단 리스트 영역 * @param mjonMsgVO * @param model * @return "/web/member/pay/PayUserListAjax.do" @@ -2557,6 +2564,393 @@ public class MjonPayController { return "/web/pay/PayUserListAjax"; } + + + + /** + * 요금사용내역 신규 화면 + * 2023.12.22 우영두 + * @param mjonMsgVO + * @param model + * @return "/web/member/pay/PayUserSWList.do" + * @throws Exception + */ + @RequestMapping(value= {"/web/member/pay/PayUserSWList.do"}) + public String PayUserSWList(@ModelAttribute("mjonMsgVO") MjonMsgVO mjonMsgVO, + MjonPayVO mjonPayVO, + MberManageVO mberManageVO, RedirectAttributes redirectAttributes, + HttpServletRequest request, + ModelMap model) throws Exception{ + + /*LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser();*/ + LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; + + if(loginVO == null) { + //redirectAttributes.addFlashAttribute("message", "문자온 서비스는 로그인 후 이용 가능합니다."); + return "redirect:/web/user/login/login.do"; + } + String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()); + mjonMsgVO.setUserId(userId); + + { // 충전캐시 + String sumPayMoney = mjonPayService.selectAgentSumPayMoney(userId); + model.addAttribute("sumPayMoney", sumPayMoney); + } + + { // 충전포인트 + String sumPoint = mjonPayService.selectSumPoint(userId); + model.addAttribute("sumPoint", sumPoint); + } + + { // 총 사용금액 + mjonPayVO.setUserId(userId); + List usedCashTotList = mjonPayService.selectUsedCashWithKakaoTotCnt(mjonPayVO); + model.addAttribute("usedCashTotList", usedCashTotList); + } + { // 사용가능한 금액 + mberManageVO = mjonMsgDataService.selectMberManageInfo(userId); + model.addAttribute("mberManageVO", mberManageVO); + } + + { // 발송건수 + mjonMsgVO.setReserveYn("N"); + List sendTotList = mjonMsgService.selectWithKakaoSendTotCnt(mjonMsgVO); + model.addAttribute("sendTotList", sendTotList); + } + + { // 예약건수 + mjonMsgVO.setReserveYn("Y"); + List reservToList = mjonMsgService.selectWithKakaoSendTotCnt(mjonMsgVO); + model.addAttribute("reservToList", reservToList); + } + + { + MjonCandidateVO mjonCandidateVO = new MjonCandidateVO(); + if("p".equals(mberManageVO.getDept())) { //개인회원 선거 후보자 정보 불러오기 + mjonCandidateVO = mjonCandidateService.selectCandidateDataInfo(userId); + if(mjonCandidateVO != null) { + mjonCandidateVO.setRegidentNo1(egovCryptoUtil.decrypt(mjonCandidateVO.getRegidentNo1())); + mjonCandidateVO.setRegidentNo2(egovCryptoUtil.decrypt(mjonCandidateVO.getRegidentNo2())); + } + } + model.addAttribute("mjonCandidateVO", mjonCandidateVO); + } + return "/web/pay/PayUserSWList"; + } + + + /** + * 요금사용내역 하단 리스트 영역 신규 화면 + * 2023.12.22 우영두 + * @param mjonMsgVO + * @param model + * @return "/web/member/pay/PayUserSWListAjax.do" + * @throws Exception + */ + @RequestMapping(value= {"/web/member/pay/PayUserSWListAjax.do"}) + public String PayUserSWListAjax(@ModelAttribute("searchVO") MjonMsgVO mjonMsgVO, + HttpServletRequest request, + ModelMap model) throws Exception{ + + LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()); + mjonMsgVO.setUserId(userId); + + if(mjonMsgVO.getPageUnit() != 10) { + mjonMsgVO.setPageUnit(mjonMsgVO.getPageUnit()); + } + + /** pageing */ + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(mjonMsgVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(mjonMsgVO.getPageUnit()); + paginationInfo.setPageSize(mjonMsgVO.getPageSize()); + + mjonMsgVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); + mjonMsgVO.setLastIndex(paginationInfo.getLastRecordIndex()); + mjonMsgVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + + if("".equals(mjonMsgVO.getSearchSortCnd())){ //최초조회시 최신것 조회List + mjonMsgVO.setSearchSortCnd("regDate"); + mjonMsgVO.setSearchSortOrd("desc"); + } + + + List payUserSWList = mjonMsgDataService.selectPayUserSWList(mjonMsgVO); + + paginationInfo.setTotalRecordCount(payUserSWList.size()> 0 ? payUserSWList.get(0).getTotCnt() : 0); + model.addAttribute("paginationInfo", paginationInfo); + model.addAttribute("payUserSWList", payUserSWList); + + return "/web/pay/PayUserSWListAjax"; + } + + @RequestMapping(value= {"/web/member/pay/PayPdfSWListPopUpAjax.do"}) + public String payPrintPdfSWDataAjax( + @ModelAttribute("searchVO") MjonMsgVO mjonMsgVO + , RedirectAttributes redirectAttributes + , ModelMap model) throws Exception { + //로그인 권한정보 불러오기 + LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; + String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()); + String userNm = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getName()); + + mjonMsgVO.setUserId(userId); + model.addAttribute("userNm", userNm); + + mjonMsgVO.setFirstIndex(0); + mjonMsgVO.setRecordCountPerPage(10000); + + //결제 리스트 정보 불러오기 + List payUserList = mjonMsgDataService.selectPayUserSWList(mjonMsgVO); + model.addAttribute("payUserList", payUserList); + + Calendar cal = Calendar.getInstance(); + + int year = cal.get(Calendar.YEAR); + int month = cal.get(Calendar.MONTH) + 1; + int day = cal.get(Calendar.DAY_OF_MONTH); + + model.addAttribute("year", year); + model.addAttribute("month", month); + model.addAttribute("day", day); + + return "web/pay/PrintPayUserSWListPdfPopUp"; + } + + + /** + * 요금 사용내역 엑셀 다운 + * @param mjonMsgVO + * @param model + * @return "/web/member/pay/PayUserListAjax.do" + * @throws Exception + */ + @RequestMapping(value= {"/web/member/pay/PayUserSWListExcelDownload.do"}) + public void PayUserSWListExcelDownload(@ModelAttribute("searchVO") MjonMsgVO mjonMsgVO, + HttpServletRequest request, + HttpServletResponse response , + ModelMap model) throws Exception{ + + // 메모리에 100개의 행을 유지합니다. 행의 수가 넘으면 디스크에 적습니다. + SXSSFWorkbook wb = new SXSSFWorkbook(100); + String fileName ="사용내역 엑셀 리스트"; // 저장 파일명 + String sheetTitle = "요금사용내역" ; // 셀 제목 + Sheet sheet = wb.createSheet(sheetTitle); + Cell cell = null; + Row row = null; + + CellStyle style = wb.createCellStyle(); + style.setBorderBottom(CellStyle.BORDER_THIN); //테두리 두껍게 + style.setBorderLeft(CellStyle.BORDER_THIN); + style.setBorderRight(CellStyle.BORDER_THIN); + style.setBorderTop(CellStyle.BORDER_THIN); + + // 정렬 + style.setAlignment(CellStyle.ALIGN_CENTER); //가운데 정렬 + style.setVerticalAlignment(CellStyle.VERTICAL_CENTER); //높이 가운데 정렬 + + Font font = wb.createFont(); + font.setBoldweight(Font.BOLDWEIGHT_BOLD); //글씨 bold + + sheet.setColumnWidth(1, 5000); // 칼럼의 폭 조절 + sheet.setColumnWidth(4, 10000); // 칼럼의 폭 조절 + + try{ + + LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()); + mjonMsgVO.setUserId(userId); + + mjonMsgVO.setRecordCountPerPage(100000); + mjonMsgVO.setFirstIndex(0); + + if("".equals(mjonMsgVO.getSearchSortCnd())){ //최초조회시 최신것 조회List + mjonMsgVO.setSearchSortCnd("regDate"); + mjonMsgVO.setSearchSortOrd("desc"); + } + + List payUserList = mjonMsgDataService.selectPayUserSWList(mjonMsgVO); + {//화면 리스트 + + row = sheet.createRow(0); + + sheet.addMergedRegion(new CellRangeAddress(0,1,0,0)); //셀병합 + sheet.addMergedRegion(new CellRangeAddress(0,1,1,1)); //셀병합 + sheet.addMergedRegion(new CellRangeAddress(0,1,2,2)); //셀병합 + sheet.addMergedRegion(new CellRangeAddress(0,1,3,3)); //셀병합 + + + cell = row.createCell(0); + cell.setCellValue("번호"); + cell.setCellStyle(style); + + cell = row.createCell(1); + cell.setCellValue("날짜"); + cell.setCellStyle(style); + + cell = row.createCell(2); + cell.setCellValue("문자유형"); + cell.setCellStyle(style); + + cell = row.createCell(3); + cell.setCellValue("발송건수"); + cell.setCellStyle(style); + + cell = row.createCell(4); + cell.setCellValue("내용"); + cell.setCellStyle(style); + + /*cell = row.createCell(5); + cell.setCellValue("충전"); + sheet.addMergedRegion(new CellRangeAddress(0,0,5,6)); //셀병합 + cell.setCellStyle(style); + + cell = row.createCell(6); + cell.setCellStyle(style);*/ + + cell = row.createCell(5); + cell.setCellValue("사용"); + sheet.addMergedRegion(new CellRangeAddress(0,0,5,6)); //셀병합 + cell.setCellStyle(style); + + cell = row.createCell(6); + cell.setCellStyle(style); + + + /*cell = row.createCell(9); + cell.setCellValue("잔액"); + sheet.addMergedRegion(new CellRangeAddress(0,0,9,10)); //셀병합 + cell.setCellStyle(style); + + cell = row.createCell(10); + cell.setCellStyle(style);*/ + + row = sheet.createRow(1); + + cell = row.createCell(0); + cell.setCellStyle(style); + + cell = row.createCell(1); + cell.setCellStyle(style); + + cell = row.createCell(2); + cell.setCellStyle(style); + + cell = row.createCell(3); + cell.setCellStyle(style); + + cell = row.createCell(4); + cell.setCellStyle(style); + + /*cell = row.createCell(5); + cell.setCellValue("충전금"); + cell.setCellStyle(style); + + cell = row.createCell(6); + cell.setCellValue("포인트"); + cell.setCellStyle(style);*/ + + cell = row.createCell(5); + cell.setCellValue("충전금"); + cell.setCellStyle(style); + + cell = row.createCell(6); + cell.setCellValue("포인트"); + cell.setCellStyle(style); + + /*cell = row.createCell(9); + cell.setCellValue("충전금"); + cell.setCellStyle(style); + + cell = row.createCell(10); + cell.setCellValue("포인트"); + cell.setCellStyle(style);*/ + + DecimalFormat formatter = new DecimalFormat("###,###.##"); + String befCash = ""; + String befPoint = ""; + String totPrice = ""; + String thisPoint = ""; + + for(int i=0; i < payUserList.size(); i++) { + + befCash = formatter.format(Double.parseDouble(((MjonMsgVO)payUserList.get(i)).getBefCash())); + befPoint = formatter.format(Double.parseDouble(((MjonMsgVO)payUserList.get(i)).getBefPoint())); + totPrice = formatter.format(Double.parseDouble(((MjonMsgVO)payUserList.get(i)).getTotPrice())); + thisPoint = formatter.format(Double.parseDouble(((MjonMsgVO)payUserList.get(i)).getThisPoint())); + + String msgType = "단문"; + if(payUserList.get(i).getMsgTypeTxt().equals("6") && payUserList.get(i).getFileCnt().equals("0")) { + msgType = "장문"; + }else if(payUserList.get(i).getMsgTypeTxt().equals("6") && !payUserList.get(i).getFileCnt().equals("0")) { + msgType = "그림"; + }else if(payUserList.get(i).getMsgTypeTxt().equals("8")) { + msgType = "알림톡"; + }else if(payUserList.get(i).getMsgTypeTxt().equals("9")) { + msgType = "친구톡"; + }else if(payUserList.get(i).getMsgTypeTxt().equals("fax")) { + msgType = "팩스"; + } + + int sendCount = ((MjonMsgVO)payUserList.get(i)).getSendCount(); + + + String sendSum = Integer.toString(sendCount); + + if(payUserList.get(i).getMsgTypeTxt().equals("fax")) { + sendSum = sendSum+"("+payUserList.get(i).getFileCnt()+")"; + } + + row = sheet.createRow(i+2); + for(int j=0 ; j < 7 ; j++) { + cell = row.createCell(j); + cell.setCellStyle(style); + if(j==0) cell.setCellValue(i+1); //번호 + if(j==1) cell.setCellValue(((MjonMsgVO)payUserList.get(i)).getRegDate()); //결제일시 + if(j==2) cell.setCellValue(msgType); //문자유형 + if(j==3) cell.setCellValue(((MjonMsgVO)payUserList.get(i)).getSuccSendCnt()); //발송건수 + if(j==4) cell.setCellValue(((MjonMsgVO)payUserList.get(i)).getSmsTxt()); //내용 + if(j==5) cell.setCellValue(((MjonMsgVO)payUserList.get(i)).getSuccSendPrice()); //충전 - 충전금 + if(j==6) cell.setCellValue(0); //충전 - 포인트 + /*if(j==7) cell.setCellValue(totPrice); //사용 - 충전금 + if(j==8) cell.setCellValue(0); //사용 - 포인트 + if(j==9) cell.setCellValue(thisPoint); //잔액 - 충전금 + if(j==10) cell.setCellValue(befPoint); //잔액 - 포인트 +*/ } + } + } + response.setHeader("Set-Cookie", "fileDownload=true; path=/"); + SimpleDateFormat mSimpleDateFormat = new SimpleDateFormat ( "yyyy_MM_dd_HH_mm_ss", Locale.KOREA ); + Date currentTime = new Date (); + String mTime = mSimpleDateFormat.format ( currentTime ); + fileName = fileName+"("+mTime+")"; + + response.setHeader("Content-Disposition", String.format("attachment; filename=\""+new String((fileName).getBytes("KSC5601"),"8859_1")+".xlsx")); + wb.write(response.getOutputStream()); + }catch(Exception e) { + response.setHeader("Set-Cookie", "fileDownload=false; path=/"); + response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); + response.setHeader("Content-Type","text/html; charset=utf-8"); + OutputStream out = null; + try { + out = response.getOutputStream(); + byte[] data = new String("fail..").getBytes(); + out.write(data, 0, data.length); + } catch(Exception ignore) { + ignore.printStackTrace(); + } finally { + if(out != null) try { out.close(); } catch(Exception ignore) {} + } + }finally { + // 디스크 적었던 임시파일을 제거합니다. + wb.dispose(); + try { wb.close(); } catch(Exception ignore) {} + } + } + + + /** * 요금사용내역 - 카카오 테스트용 * @param mjonMsgVO 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 1e7c5f4e..f27f65e8 100644 --- a/src/main/java/itn/let/uss/umt/web/EgovUserManageController.java +++ b/src/main/java/itn/let/uss/umt/web/EgovUserManageController.java @@ -1518,6 +1518,8 @@ public class EgovUserManageController { } + System.out.println("+++++++++++++++++++++++ prePaymentYn ::: "+mberManageVO.getPrePaymentYn()); + return "cmm/uss/umt/EgovGnrlUserSelectUpdt"; } diff --git a/src/main/resources/egovframework/egovProps/globals_local.properties b/src/main/resources/egovframework/egovProps/globals_local.properties index 52b711f1..864aefb1 100644 --- a/src/main/resources/egovframework/egovProps/globals_local.properties +++ b/src/main/resources/egovframework/egovProps/globals_local.properties @@ -87,7 +87,7 @@ Globals.itn.recruit.template.url=http://localhost:8080/publish/email_form_itn_re #\uba54\uc77c \ubb38\uc758\ud558\uae30 \ud15c\ud50c\ub9bf URL Globals.itn.contact.us.template.url=http://localhost:8080/publish/email_form_itn_contact_us.html #\uba54\uc77c \uc218\uc2e0\uc790 \uc8fc\uc18c #TODO : \ucd94\ud6c4\uc5d0 \ubcc0\uacbd\ud574\uc57c\ud568 -Globals.itn.mail.to.address=leehoyoung250@daum.net +Globals.itn.mail.to.address=rlaqhal6613@duam.net #\ube44\uc988\ubfcc\ub9ac\uc624 \uc124\uc815 diff --git a/src/main/resources/egovframework/egovProps/globals_prod.properties b/src/main/resources/egovframework/egovProps/globals_prod.properties index 7fd5fe34..ee5d0dc7 100644 --- a/src/main/resources/egovframework/egovProps/globals_prod.properties +++ b/src/main/resources/egovframework/egovProps/globals_prod.properties @@ -76,7 +76,7 @@ Globals.itn.recruit.template.url=https://www.munjaon.co.kr/publish/email_form_it #\uba54\uc77c \ubb38\uc758\ud558\uae30 \ud15c\ud50c\ub9bf URL Globals.itn.contact.us.template.url=https://www.munjaon.co.kr/publish/email_form_itn_contact_us.html #\uba54\uc77c \uc218\uc2e0\uc790 \uc8fc\uc18c -Globals.itn.mail.to.address=phs1704@daum.net +Globals.itn.mail.to.address=rlaqhal6613@duam.net #Globals.itn.mail.to.address=leehoyoung250@daum.net #\ube44\uc988\ubfcc\ub9ac\uc624 \uc124\uc815 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 974c6425..fe5325c8 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 @@ -3135,6 +3135,194 @@ LIMIT #recordCountPerPage# OFFSET #firstIndex# + + + + - + --%> diff --git a/src/main/webapp/WEB-INF/jsp/web/msgcampain/MsgDataView.jsp b/src/main/webapp/WEB-INF/jsp/web/msgcampain/MsgDataView.jsp index e01d718e..6efc0c3b 100644 --- a/src/main/webapp/WEB-INF/jsp/web/msgcampain/MsgDataView.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/msgcampain/MsgDataView.jsp @@ -619,6 +619,12 @@ function fnMsgExcelDataView(){ } +function fnMsgTWDataView(){ + + location.href="/web/mjon/msgcampain/selectMsgTWDataView.do"; + +} + function fn_saveMyMsg(){ // 내 문자 보관함 저장 var form = document.msgForm; @@ -2005,10 +2011,14 @@ function popScrCloseSetting(){
    -
  • +
  • + <%-- --%> + +
  • - - + <%-- --%> + <%-- --%> +
diff --git a/src/main/webapp/WEB-INF/jsp/web/msgcampain/tw/MsgTWDataCallToListView.jsp b/src/main/webapp/WEB-INF/jsp/web/msgcampain/tw/MsgTWDataCallToListView.jsp index 48325cf0..907acc74 100644 --- a/src/main/webapp/WEB-INF/jsp/web/msgcampain/tw/MsgTWDataCallToListView.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/msgcampain/tw/MsgTWDataCallToListView.jsp @@ -24,8 +24,6 @@ $("#sendReady").text(0); $("#callSeq").val(0); - //docuReload(); - } diff --git a/src/main/webapp/WEB-INF/jsp/web/msgcampain/tw/MsgTWDataSMLView.jsp b/src/main/webapp/WEB-INF/jsp/web/msgcampain/tw/MsgTWDataSMLView.jsp index 66fedd31..ac080d06 100644 --- a/src/main/webapp/WEB-INF/jsp/web/msgcampain/tw/MsgTWDataSMLView.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/msgcampain/tw/MsgTWDataSMLView.jsp @@ -11,6 +11,13 @@ + + <% pageContext.setAttribute("newLineChar", "\r\n"); %> + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + +
+ +
+ +
    +
  • +
  • +
  • +
  • + + +
  • +
+ +
+
+

요금 사용내역

+ +
+
+
+

+ 충전금액 +

+ +
+

캐시

+

+ + + + + + + + + + 원 +

+
+
+

포인트

+

+ + + + + + + + + + 원 +

+
+
+
+

+ 사용금액 +

+ +
+

+ + 캐시 + + + 포인트 + +

+

+ + + 원 +

+
+
+
+
+

+ 잔액 +

+
+

캐시

+

+ + + 원 +

+
+
+

포인트

+

+ + + 원 +

+
+
+
+
+

발송내역

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
구분문자알림톡팩스
발송건(매)수 + + + () + + + +
예약건수 + + + () + + + +
+
+
+
+ + +
+
+
+ 기간선택 +
+ + ~ + +
+ + + + + + * 조회기간의 사용내역만 보여집니다. + +
+
+
+
+
+ +
    +
  • +
  • +
  • +
  • +
  • +
  • + +
  • +
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ + +
+
+ +
diff --git a/src/main/webapp/WEB-INF/jsp/web/pay/PayUserSWListAjax.jsp b/src/main/webapp/WEB-INF/jsp/web/pay/PayUserSWListAjax.jsp new file mode 100644 index 00000000..d06836ca --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/web/pay/PayUserSWListAjax.jsp @@ -0,0 +1,433 @@ +<%-- + Class Name : SendNumberList.jsp + Description : 발신번호 리스트 조회 페이지 + Modification Information + + 수정일 수정자 수정내용 + ------- -------- --------------------------- + 2021.03.31 신명섭 최초 생성 + + Copyright (C) 2009 by ITN All right reserved. +--%> +<%@ page contentType="text/html; charset=utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> +<%@ taglib prefix="ec" uri="/WEB-INF/tld/ecnet_tld.tld"%> + + + + + +
+ " /> + " /> +
+

${paginationInfo.totalRecordCount}

+
+ + + +
+
+
+ + + <%-- --%> + + + + + + + <%-- + + + --%> + + + + <%-- --%> + + + + + + + + + + + + + + + + + + + + + + + <%-- --%> + + + + + + + <%-- --%> + + <%-- + + + --%> + <%-- + --%> + + + + + + + + + + +
+ + + + 발송일시 +
+ +
+
+ 문자유형 +
+ +
+
내용발송건수사용
캐시포인트
+ + + +

+
+ + +

장문

+
+ +

그림

+
+ +

알림톡

+
+ +

친구톡

+
+ +

팩스

+
+ +

단문

+
+
+
+

+ + + + + + + + + + + + + + +

+
+

+ + + + (매) + + / + <%-- + + () + --%> +

+
+

+ + +

+
+

+ <%-- + --%> + 0 +

+
+

+ + +

+
+

+ + +

+
+

+ + +

+
+

+ + +

+
+

+ 0 +

+
+

+ + +

+
+

+ + +

+
+ 검색 결과가 없습니다. +
+
+
+
+ + + + +
+
+ + + + + + + + +
+
+ + + +
    + +
+
+ +
diff --git a/src/main/webapp/WEB-INF/jsp/web/pay/PrintPayUserSWListPdfPopUp.jsp b/src/main/webapp/WEB-INF/jsp/web/pay/PrintPayUserSWListPdfPopUp.jsp new file mode 100644 index 00000000..a402efd1 --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/web/pay/PrintPayUserSWListPdfPopUp.jsp @@ -0,0 +1,270 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> +<%@ page import="itn.com.cmm.LoginVO" %> + + + + + + 요금 사용내역 + + + + + + + + + + + + + + + +
+
+
+ 문자온 CI +
+

(12248) 경기도 남양주시 다산순환로 20, A동 735호(다산동, 현대프리미어캠퍼스)

+

TEL 010-8432-9333

+
+
+
+

요금 사용내역

+
+
+ + + + + + + + + + + + +
발신자 정보
+  님의 사용내역을 아래와 같이 확인합니다. +
+
+
+
+
+ + + + + + + + + <%-- --%> + <%-- + --%> + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%-- + --%> + + + <%-- + --%> + + + + + + + + + + +
사용날짜, 문자유형, 문자내용, 충전 충전금, 충전 포인트, 사용 충전금, 사용 포인트, 잔액 충전금, 잔액 포인트를 제공하는 표
날짜문자유형발송건수사용
충전금포인트
+ + +

+ + + 장문 + + + 그림 + + + 알림톡 + + + 친구톡 + + + 팩스 + + + 단문 + + +

+
+ + + () + + <%-- + + () + --%> + +

+ + +

+
+

+ +

+
+

+ + +

+
+

+ 0 +

+
+

+ + +

+
+

+ +

+
+ 사용내역이 없습니다. +
+
+
+
+ + + + + + + + + + + + + + + + +
공급가액, 부가세, 총 결제금액에 대한 표
대표번호010-8432-9333
이메일help@iten.co.kr
+
+
+

년   월  

+
+ 주식회사 아이티앤 대표이사 + 유 인 식 + +
+
+
+
+
+
+ +
+ + + diff --git a/src/main/webapp/index.jsp b/src/main/webapp/index.jsp index ced78fd8..3952d39d 100644 --- a/src/main/webapp/index.jsp +++ b/src/main/webapp/index.jsp @@ -11,7 +11,7 @@ - + diff --git a/src/main/webapp/publish/publish_m/css/reset.css b/src/main/webapp/publish/publish_m/css/reset.css new file mode 100644 index 00000000..1a43de18 --- /dev/null +++ b/src/main/webapp/publish/publish_m/css/reset.css @@ -0,0 +1,66 @@ +html, body, div, span, applet, object, iframe, +h1, h2, h3, h4, h5, h6, p, blockquote, pre, +a, abbr, acronym, address, big, cite, code, +del, dfn, em, font, img, ins, kbd, q, s, samp, +small, strike, strong, sub, sup, tt, var, +b, u, i, center, +dl, dt, dd, ol, ul, li, +fieldset, form, label, legend, +table, caption, tbody, tfoot, thead, tr, th, td { + margin: 0; + padding: 0; + border: 0; + outline: 0; + font-size: 100%; + vertical-align: baseline; + background: transparent; +} +body { + line-height: 1; + font-family: 'Noto Sans KR', sans-serif; + color: #222222; + font-size: 20px; + box-sizing: border-box; +} +ol, ul { + list-style: none; +} +blockquote, q { + quotes: none; +} +blockquote:before, blockquote:after, +q:before, q:after { + content: ''; + content: none; +} + +/* remember to define focus styles! */ +:focus { + outline: 0; +} + +/* remember to highlight inserts somehow! */ +ins { + text-decoration: none; +} +del { + text-decoration: line-through; +} + +/* tables still need 'cellspacing="0"' in the markup */ +table { + border-collapse: collapse; + border-spacing: 0; +} + +/* 여기어때 잘난체 */ +@font-face { + font-family: 'yg-jalnan'; + src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_four@1.2/JalnanOTF00.woff') format('woff'); + font-weight: normal; + font-style: normal; +} + +/* Noto Sans KR */ +@import url('https://fonts.googleapis.com/css2?family=Dancing+Script&family=Lora&family=Noto+Sans+KR:wght@100;400;700&display=swap'); +/*font-family: 'Noto Sans KR', sans-serif;*/ \ No newline at end of file diff --git a/src/main/webapp/publish/publish_m/css/style.css b/src/main/webapp/publish/publish_m/css/style.css new file mode 100644 index 00000000..7e5fb72c --- /dev/null +++ b/src/main/webapp/publish/publish_m/css/style.css @@ -0,0 +1,116 @@ +@charset "utf-8"; +html{scroll-behavior: smooth; min-width: 280px; margin: 0 auto;} + +*{margin: 0; padding: 0; word-break: keep-all; max-width: 1024px;} +a{text-decoration: none;color: #222222;} + + +.con_wrap{background-color: #f0f3f7; letter-spacing: -0.5px;} +/*header*/ +header .inner{position: absolute; padding: 7px 20px; background-color: #fff; border-radius: 0 0 30px 0;} +header .inner a{display: flex; align-items: center;} +header .inner a p{font-size: 26px; font-weight: 300; padding: 0 0 0 20px;} + +/*메인비주얼*/ +.visual{background-image: url(/publish/publish_m/img/main_bg_big.png); background-repeat: no-repeat; /*background-position: calc(100% - 30px) 0;*/ background-color: #0b4aa7; width: 100%; border-radius: 0 0 35px 0; text-align: center;} +.visual .inner h2{padding: 110px 0 25px 0; font-family: 'yg-jalnan'; font-size: 60px; color: #fff; line-height: 74px;} +.visual .inner h2 span{color: #ffe329;} +.visual .inner .button{display: inline-block;} +.visual .inner .button a p{margin: 0 auto; width: 340px; height: 74px;border: 2px solid #cec442; border-radius: 50px; font-size: 30px; font-family: 'yg-jalnan'; color: #ffe329; line-height: 74px;} +.visual .inner .button a p span{font-family: 'Noto Sans KR', sans-serif; font-weight: 500;} + +/*메인비주얼 > 요금표*/ +.visual .price .text{font-size: 18px; color: #fff; font-weight: 300;} +.visual .price .text01{padding: 38px 20px 10px 0; text-align: right; opacity: 40%;} +.visual .price .text02{padding: 10px 0 25px 20px; text-align: left; opacity: 50%;} +.visual .price ul{display: flex; justify-content: space-between; padding: 0 20px;} +.visual .price ul li{width: calc((100% - 20px)/3);} +.visual .price ul .wrap{border: 3px solid #ffcd05; border-radius: 10px; background-color: #eaedf1; color: #082550; font-weight: 400;} +.visual .price ul .wrap .title{padding: 9px 0; border-radius: 6px 6px 0 0; background-color: #ffcd05; text-align: center; font-size: 20px;} +.visual .price ul .wrap .title p img{margin: 0 0 4px 0;} +.visual .price ul .wrap .inner_text{padding: 7px 7px 10px 7px; border-radius: 0 0 8px 8px; background-color: #fff; font-size: 26px;} +.visual .price ul .wrap .inner_text span{font-size: 18px;} + +/*con*/ +.con{margin: 80px 20px 0 20px;} +.con .title{font-family: 'yg-jalnan'; display: flex; align-items: center;} +.con .title p{font-size: 36px; margin: 1px 0 0 0;} +.con .title .num{padding: 2px 0 0 0; display: flex; align-items: center; justify-content: center; width: 50px; height: 50px; margin: 0 20px 0 0; border-radius: 13px; background-color: #ffcd05; font-size: 32px;} +.con .text_wrap{background-color: #fff; box-shadow: 0 0 9px rgba(0,0,0,0.1 ); padding: 44px 44px 44px 74px; margin: 30px 0 0 0; border-radius: 20px;} +.con .text{position: relative; margin: 0 0 35px 0;} +.con .text:last-child{margin: 0;} +.con .text p{font-size: 32px; font-weight: 400; line-height: 1.5;} +.con .text .te::after{content: ""; position: absolute; top: 24px; left: -22px; transform: translateY(-50%); border-radius: 50%; width: 10px; height: 10px; background-color: #ffcd05;} +.con .text .text_sub p{font-size: 28px; font-weight: 300; color: #666; line-height: 1.5; word-break: break-all; text-indent: -17px; margin: 0 0 0 21px;} + +/*footer*/ +footer{ margin: 80px 0 0 0; text-align: center; background-color: #393939; color: #fff;} +footer .title{padding: 40px 0 18px 0; display: flex; align-items: center; justify-content: center; font-size: 30px; font-weight: 500;} +footer .title p{margin: 0 0 0 16px;} +footer ul li{width: 380px; /*display: flex; align-items: center; justify-content: center;*/ margin: 0 auto 16px auto; padding: 8px 0 12PX 0; border-radius: 10px; border: 1px solid #888; font-size: 40px; font-weight: 700;} +footer ul li a{color: #fff;} +footer ul li:last-child{margin: 0 auto;} +footer .iten{padding: 22px 0 40px 0; font-size: 26px; font-weight: 300; opacity: 40%;} + +/*미디어쿼리_640x*/ +@media screen and (max-width:640px){ + .visual{background-image: url(/publish/publish_m/img/main_bg.png);} +} + +/*미디어쿼리_500x*/ +@media screen and (max-width:500px){ + /*header*/ + header .inner{border-radius: 0 0 20px 0; padding: 3px 20px;} + header .inner a img{width: 64%;} + header .inner a p{font-size: 14px; padding: 0; margin: 0 0 0 -20px;} + /*메인비주얼*/ + .visual{border-radius: 0 0 25px 0;} + .visual .inner h2{padding: 70px 0 15px 0; font-size: 32px; line-height: 1.3;} + .visual .inner .button a p{width: 180px; height: 40px; font-size: 16px; line-height: 42px;} + .visual .inner .button a p img{width: 5%;} + /*요금*/ + .visual .price .text{font-size: 12px;} + .visual .price ul .wrap{border: 2px solid #ffcd05; border-radius: 7px;} + .visual .price ul .wrap .title{font-size: 14px; border-radius: 5px 5px 0 0; padding: 6px 0;} + .visual .price ul .wrap .inner_text{font-size: 15px; border-radius: 0 0 6px 6px; padding: 5px 7px 6px 7px;} + .visual .price ul .wrap .inner_text span{font-size: 13px;} + .visual .price .text01{padding: 15px 20px 10px 0;} + /*con*/ + .con{margin: 40px 20px 0 20px;} + .con .title p{font-size: 20px;} + .con .title .num{/*padding: 8px 12px 7px 12px; */width: 30px; height: 30px; margin: 0 10px 0 0; border-radius: 6px; font-size: 18px;} + .con .text_wrap{padding: 22px 22px 22px 37px; margin: 20px 0 0 0; border-radius: 15px;} + .con .text{margin: 0 0 14px 0;} + .con .text p{font-size: 17px;} + .con .text .te::after{top: 10px; left: -11px; width: 5px; height: 5px;} + .con .text .text_sub p{font-size: 15px; text-indent:-8px; margin: 0 0 0 9px;} + /*footer*/ + footer{margin: 40px 0 0 0;} + footer .title{padding: 20px 0 10px 0; font-size: 16px;} + footer .title img{width: 8%;} + footer .title p{margin: 0 0 0 10px;} + footer ul li{width: 210px; margin: 0 auto 8px auto; border-radius: 8px; font-size: 22px; padding: 8px 0 5px 0;} + footer .iten{padding: 12px 0 20px 0; font-size: 13px;} +} + +/*미디어쿼리_460pxx*/ +@media screen and (max-width:460px){ + .visual{background-image: url(/publish//publish_m/img/main_bg_small_01.png);} +} + +/*미디어쿼리_360x*/ +@media screen and (max-width:360px){ + .visual{background-image: url(/publish/publish_m/img/main_bg_small_02.png);} +} + +/*미디어쿼리_340x*/ +@media screen and (max-width:340px){ + .visual .price ul .wrap .title{font-size: 13px;} + .visual .price ul{padding: 0 15px;} +} + +/*미디어쿼리_310x*/ +@media screen and (max-width:310px){ + .visual .price ul .wrap .title{font-size: 12px;} + .visual .price ul{padding: 0 9px;} +} \ No newline at end of file diff --git a/src/main/webapp/publish/publish_m/img/arrow.png b/src/main/webapp/publish/publish_m/img/arrow.png new file mode 100644 index 00000000..93508179 Binary files /dev/null and b/src/main/webapp/publish/publish_m/img/arrow.png differ diff --git a/src/main/webapp/publish/publish_m/img/header_logo.png b/src/main/webapp/publish/publish_m/img/header_logo.png new file mode 100644 index 00000000..e66718f7 Binary files /dev/null and b/src/main/webapp/publish/publish_m/img/header_logo.png differ diff --git a/src/main/webapp/publish/publish_m/img/main_bg.png b/src/main/webapp/publish/publish_m/img/main_bg.png new file mode 100644 index 00000000..b5b28d57 Binary files /dev/null and b/src/main/webapp/publish/publish_m/img/main_bg.png differ diff --git a/src/main/webapp/publish/publish_m/img/main_bg_big.png b/src/main/webapp/publish/publish_m/img/main_bg_big.png new file mode 100644 index 00000000..de3b03eb Binary files /dev/null and b/src/main/webapp/publish/publish_m/img/main_bg_big.png differ diff --git a/src/main/webapp/publish/publish_m/img/main_bg_small_01.png b/src/main/webapp/publish/publish_m/img/main_bg_small_01.png new file mode 100644 index 00000000..21478361 Binary files /dev/null and b/src/main/webapp/publish/publish_m/img/main_bg_small_01.png differ diff --git a/src/main/webapp/publish/publish_m/img/main_bg_small_02.png b/src/main/webapp/publish/publish_m/img/main_bg_small_02.png new file mode 100644 index 00000000..e4b13a4c Binary files /dev/null and b/src/main/webapp/publish/publish_m/img/main_bg_small_02.png differ diff --git a/src/main/webapp/publish/publish_m/img/main_img.png b/src/main/webapp/publish/publish_m/img/main_img.png new file mode 100644 index 00000000..338f7443 Binary files /dev/null and b/src/main/webapp/publish/publish_m/img/main_img.png differ diff --git a/src/main/webapp/publish/publish_m/img/preview_logo.png b/src/main/webapp/publish/publish_m/img/preview_logo.png new file mode 100644 index 00000000..27848f16 Binary files /dev/null and b/src/main/webapp/publish/publish_m/img/preview_logo.png differ diff --git a/src/main/webapp/publish/publish_m/img/tel_icon.png b/src/main/webapp/publish/publish_m/img/tel_icon.png new file mode 100644 index 00000000..c129ab9d Binary files /dev/null and b/src/main/webapp/publish/publish_m/img/tel_icon.png differ diff --git a/src/main/webapp/publish/publish_m/munjaon_intro_01.html b/src/main/webapp/publish/publish_m/munjaon_intro_01.html new file mode 100644 index 00000000..8d70e5b1 --- /dev/null +++ b/src/main/webapp/publish/publish_m/munjaon_intro_01.html @@ -0,0 +1,154 @@ + + + + + + + 프리미엄 문자 발송 서비스 문자온 + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+
+

프리미엄 문자
발송 서비스

+ +
+

(부가세 별도)

+
    +
  • +
    +

    단문(SMS)

    +

    7.5

    +
    +
  • +
  • +
    +

    장문(LMS)

    +

    24

    +
    +
  • +
  • +
    +

    그림단문(MMS)

    +

    55

    +
    +
  • +
+

※ 발송량에 따른 단가 조정 가능

+
+
+
+
+
+
+

1

+

특장점

+
+
+
+

단문(SMS), 장문(LMS), 그림문자(MMS), 카카오 알림톡, 팩스 발송 기능 제공

+
+
+

업계 최저가 요금

+
+
+

최신 트렌드 반영 서비스 제공

+
+

- 주소록 입력 대행(무료)

+

- 예약발송 기능 제공(분 단위)

+

- 문자메시지 지도‧약도 자동 첨부 가능

+

- 그림문자 주문제작 서비스 제공

+

- 다양한 결제수단 제공(신용카드, 휴대폰 결제, 전용계좌, 즉시이체, 간편결제 등)

+

- 무제한 발송량 제공

+

- 특정 공통문구(이름, 일시, 비용 등) 일괄 변경 기능 제공

+
+
+
+

다양한 방식의 20건 선거문자 발송기능 제공

+
+
+

기업‧단체‧공공기관 B2B 전용라인 제공

+
+
+
+
+
+
+
+

2

+

이용고객

+
+
+
+

개인(사업자)

+
+

- 동호회, 동문회, 향우회, 병원, 부동산, 음식점, 마트, 대리점, 숙박업, 전문직 사무실, 소셜커머스 사업자, 교육시설(학원, 학교, 유치원, 어린이집), 스포츠시설(골프장, 피트니스) 등

+
+
+
+

기업‧협회‧단체

+
+

- 기업(대‧중‧소기업), 협회, 조합, 비영리단체, 종교단체(교회, 사찰), 은행, 카드사, 쇼핑몰, 택배사, 보험사, 리서치사 등

+
+
+
+

공공

+
+

- 정부, 지방자치단체, 국회, 지방의회, 법원, 공공기관, 공직유관단체, 도서관, 미술관, 전시관, 공연시설, 영화관 등

+
+
+
+
+
+ +
+ + + \ No newline at end of file diff --git a/src/main/webapp/publish/publish_m/munjaon_intro_02.html b/src/main/webapp/publish/publish_m/munjaon_intro_02.html new file mode 100644 index 00000000..16c22eaf --- /dev/null +++ b/src/main/webapp/publish/publish_m/munjaon_intro_02.html @@ -0,0 +1,154 @@ + + + + + + + 프리미엄 문자 발송 서비스 문자온 + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+
+

프리미엄 문자
발송 서비스

+ +
+

(부가세 별도)

+
    +
  • +
    +

    단문(SMS)

    +

    8

    +
    +
  • +
  • +
    +

    장문(LMS)

    +

    26

    +
    +
  • +
  • +
    +

    그림단문(MMS)

    +

    60

    +
    +
  • +
+

※ 발송량에 따른 단가 조정 가능

+
+
+
+
+
+
+

1

+

특장점

+
+
+
+

단문(SMS), 장문(LMS), 그림문자(MMS), 카카오 알림톡, 팩스 발송 기능 제공

+
+
+

업계 최저가 요금

+
+
+

최신 트렌드 반영 서비스 제공

+
+

- 주소록 입력 대행(무료)

+

- 예약발송 기능 제공(분 단위)

+

- 문자메시지 지도‧약도 자동 첨부 가능

+

- 그림문자 주문제작 서비스 제공

+

- 다양한 결제수단 제공(신용카드, 휴대폰 결제, 전용계좌, 즉시이체, 간편결제 등)

+

- 무제한 발송량 제공

+

- 특정 공통문구(이름, 일시, 비용 등) 일괄 변경 기능 제공

+
+
+
+

다양한 방식의 20건 선거문자 발송기능 제공

+
+
+

기업‧단체‧공공기관 B2B 전용라인 제공

+
+
+
+
+
+
+
+

2

+

이용고객

+
+
+
+

개인(사업자)

+
+

- 동호회, 동문회, 향우회, 병원, 부동산, 음식점, 마트, 대리점, 숙박업, 전문직 사무실, 소셜커머스 사업자, 교육시설(학원, 학교, 유치원, 어린이집), 스포츠시설(골프장, 피트니스) 등

+
+
+
+

기업‧협회‧단체

+
+

- 기업(대‧중‧소기업), 협회, 조합, 비영리단체, 종교단체(교회, 사찰), 은행, 카드사, 쇼핑몰, 택배사, 보험사, 리서치사 등

+
+
+
+

공공

+
+

- 정부, 지방자치단체, 국회, 지방의회, 법원, 공공기관, 공직유관단체, 도서관, 미술관, 전시관, 공연시설, 영화관 등

+
+
+
+
+
+ +
+ + + \ No newline at end of file