diff --git a/src/main/java/itn/com/cmm/LoginVO.java b/src/main/java/itn/com/cmm/LoginVO.java index 91b69f86..5394ae54 100644 --- a/src/main/java/itn/com/cmm/LoginVO.java +++ b/src/main/java/itn/com/cmm/LoginVO.java @@ -112,6 +112,14 @@ public class LoginVO implements Serializable{ //관리자 SMS 문자인증 여부( Y : 문자인증함, N : 문자인증 안함) private String outerCertYn; + private String dormantYn; // 휴먼회원여부 ( N:일반회원, Y:휴먼회원) + + public String getDormantYn() { + return dormantYn; + } + public void setDormantYn(String dormantYn) { + this.dormantYn = dormantYn; + } public String getLoginYn() { return loginYn; } diff --git a/src/main/java/itn/com/cmm/interceptor/IPIgnoreInterceptorHandler.java b/src/main/java/itn/com/cmm/interceptor/IPIgnoreInterceptorHandler.java index 7f905dd7..7e51b3b7 100644 --- a/src/main/java/itn/com/cmm/interceptor/IPIgnoreInterceptorHandler.java +++ b/src/main/java/itn/com/cmm/interceptor/IPIgnoreInterceptorHandler.java @@ -125,7 +125,7 @@ public class IPIgnoreInterceptorHandler extends HandlerInterceptorAdapter{ Date currentTime = new Date (); String mTime = mSimpleDateFormat.format ( currentTime ); HttpServletRequest req = ((ServletRequestAttributes)RequestContextHolder.currentRequestAttributes()).getRequest(); - String ip = req.getHeader("X-FORWARDED-FOR"); + String ip = req.getHeader("X-Forwarded-For") == null ? req.getHeader("X-Forwarded-For") : req.getHeader("X-Forwarded-For").replaceAll("10.12.107.11", "").replaceAll(",", "").trim(); if (ip == null){ ip = req.getRemoteAddr();} LoginLog loginLog = new LoginLog(); @@ -223,31 +223,31 @@ public class IPIgnoreInterceptorHandler extends HandlerInterceptorAdapter{ String ip = ""; try { - ip = request.getHeader("X-Forwarded-For"); + ip = request.getHeader("X-Forwarded-For") == null ? request.getHeader("X-Forwarded-For") : request.getHeader("X-Forwarded-For").replaceAll("10.12.107.11", "").replaceAll(",", "").trim(); //logger.info("> X-FORWARDED-FOR : " + ip); - //System.out.println("> X-FORWARDED-FOR : " + ip); + System.out.println("> X-FORWARDED-FOR : " + ip); if (ip == null) { ip = request.getHeader("Proxy-Client-IP"); - //System.out.println("> Proxy-Client-IP : " + ip); + System.out.println("> Proxy-Client-IP : " + ip); } if (ip == null) { ip = request.getHeader("WL-Proxy-Client-IP"); - //System.out.println("> WL-Proxy-Client-IP : " + ip); + System.out.println("> WL-Proxy-Client-IP : " + ip); } if (ip == null) { ip = request.getHeader("HTTP_CLIENT_IP"); - //System.out.println("> HTTP_CLIENT_IP : " + ip); + System.out.println("> HTTP_CLIENT_IP : " + ip); } if (ip == null) { ip = request.getHeader("HTTP_X_FORWARDED_FOR"); - //System.out.println("> HTTP_X_FORWARDED_FOR : " + ip); + System.out.println("> HTTP_X_FORWARDED_FOR : " + ip); } if (ip == null) { ip = request.getRemoteAddr(); - //System.out.println("> getRemoteAddr : "+ip); + System.out.println("> getRemoteAddr : "+ip); } - //System.out.println("> Result : IP Address : "+ip); + System.out.println("> Result : IP Address : "+ip); }catch(Exception ex) { ex.printStackTrace(); diff --git a/src/main/java/itn/com/cmm/interceptor/ipCheck/IPCheckInterceptor.java b/src/main/java/itn/com/cmm/interceptor/ipCheck/IPCheckInterceptor.java index cd9c578e..c15a2433 100644 --- a/src/main/java/itn/com/cmm/interceptor/ipCheck/IPCheckInterceptor.java +++ b/src/main/java/itn/com/cmm/interceptor/ipCheck/IPCheckInterceptor.java @@ -34,7 +34,7 @@ public class IPCheckInterceptor implements HandlerInterceptor, Constants { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { - String clientIp = request.getHeader("X-Forwarded-For"); + String clientIp = request.getHeader("X-Forwarded-For") == null ? request.getHeader("X-Forwarded-For") : request.getHeader("X-Forwarded-For").replaceAll("10.12.107.11", "").replaceAll(",", "").trim(); if (ObjectUtils.isEmpty(clientIp) || "unknown".equalsIgnoreCase(clientIp)) { clientIp = request.getHeader("Proxy-Client-IP"); } diff --git a/src/main/java/itn/com/cmm/util/IpUtil.java b/src/main/java/itn/com/cmm/util/IpUtil.java index 927bb5f2..9d9e4994 100644 --- a/src/main/java/itn/com/cmm/util/IpUtil.java +++ b/src/main/java/itn/com/cmm/util/IpUtil.java @@ -22,7 +22,7 @@ import javax.servlet.http.HttpServletRequest; public class IpUtil { public static String getClientIP(HttpServletRequest request) { - String userip = request.getHeader("X-Forwarded-For"); // 아이피 가져오기 아파치 아래에 웹로직이 있을경우 + String userip = request.getHeader("X-Forwarded-For") == null ? request.getHeader("X-Forwarded-For") : request.getHeader("X-Forwarded-For").replaceAll("10.12.107.11", "").replaceAll(",", "").trim(); // 아이피 가져오기 아파치 아래에 웹로직이 있을경우 if ( userip == null || "".equals(userip) ) { // 아이피 가져오기 , 바로 웹로직이 있을경우 userip = request.getRemoteAddr(); diff --git a/src/main/java/itn/com/cmm/util/PdfUtil.java b/src/main/java/itn/com/cmm/util/PdfUtil.java index bc205360..a93216c0 100644 --- a/src/main/java/itn/com/cmm/util/PdfUtil.java +++ b/src/main/java/itn/com/cmm/util/PdfUtil.java @@ -1,12 +1,22 @@ package itn.com.cmm.util; +import java.awt.Image; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.IOException; +import java.util.UUID; +import javax.imageio.ImageIO; import javax.servlet.http.HttpServletResponse; +import org.apache.commons.io.FileUtils; +import org.apache.pdfbox.pdmodel.PDDocument; +import org.apache.pdfbox.pdmodel.PDPage; +import org.apache.pdfbox.pdmodel.PDPageContentStream; +import org.apache.pdfbox.pdmodel.common.PDRectangle; +import org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject; + /** * * @author : 이호영 @@ -88,4 +98,53 @@ public final class PdfUtil { } + public static String makeImgPdf(String imgDir,String extsn) throws Exception { + PDDocument doc = new PDDocument(); + String uuid = UUID.randomUUID().toString(); + try { + File copy1 = new File(imgDir); + File copy2 = new File(imgDir + "." +extsn); + + + FileUtils.copyFile(copy1, copy2); + File imgFiles = new File(imgDir + "." +extsn); + Image img = ImageIO.read(imgFiles); + + PDPage page = new PDPage(PDRectangle.A4); + doc.addPage(page); + + PDImageXObject pdImage = PDImageXObject.createFromFile(imgFiles.toString(), doc); + int pageWidth = Math.round(page.getCropBox().getWidth()); + int pageHeight = Math.round(page.getCropBox().getHeight()); + + float imgRatio = 1; + if ( pageWidth < img.getWidth(null)) { + imgRatio = (float)img.getWidth(null) / (float)pageWidth; + } + + int imgWidth = Math.round(img.getWidth(null) / imgRatio); + int imgHeight = Math.round(img.getHeight(null) / imgRatio); + + int pageWidthPosition = (pageWidth - imgWidth) / 2; + int pageHeightPosition = (pageWidth - imgWidth) / 2; + + PDPageContentStream contents = new PDPageContentStream(doc, page); + contents.drawImage(pdImage, pageWidthPosition, pageHeightPosition, imgWidth, imgHeight); + contents.close(); + doc.save("/usr/local/tomcat/file/sht/pdf/" + uuid + ".pdf"); + + } catch (Exception e) { + System.out.println("Exception! : " + e.getMessage()); + } + + try { + doc.close(); + } catch (IOException e) { + e.printStackTrace(); + } + + return uuid + ".pdf"; + } + + } diff --git a/src/main/java/itn/com/cmm/web/EgovFileDownloadController.java b/src/main/java/itn/com/cmm/web/EgovFileDownloadController.java index d0a3d9a4..2c9f7e60 100644 --- a/src/main/java/itn/com/cmm/web/EgovFileDownloadController.java +++ b/src/main/java/itn/com/cmm/web/EgovFileDownloadController.java @@ -452,4 +452,75 @@ public class EgovFileDownloadController { } } + + /** + * 첨부파일로 등록된 파일에 대하여 다운로드를 제공한다. + * + * @param commandMap + * @param response + * @throws Exception + */ + @RequestMapping(value = "/cmm/fms/FileDowntest.do") + public void FileDowntest(@RequestParam Map commandMap, HttpServletRequest request, HttpServletResponse response) throws Exception { + + String fileNm = (String) commandMap.get("fileNm"); + try { + + + File uFile = new File("/usr/local/tomcat/file/sht/pdf/", fileNm); + long fSize = uFile.length(); + + if (fSize > 0) { + String mimetype = "application/x-msdownload"; + + response.setContentType(mimetype); + setDisposition(fileNm, request, response); + //response.setContentLength(fSize); + + BufferedInputStream in = null; + BufferedOutputStream out = null; + + try { + in = new BufferedInputStream(new FileInputStream(uFile)); + out = new BufferedOutputStream(response.getOutputStream()); + + FileCopyUtils.copy(in, out); + out.flush(); + } catch (Exception ex) { + LOGGER.debug("IGNORED: {}", ex.getMessage()); + } finally { + if (in != null) { + try { + in.close(); + } catch (Exception ignore) { + LOGGER.debug("IGNORED: {}", ignore.getMessage()); + } + } + if (out != null) { + try { + out.close(); + } catch (Exception ignore) { + LOGGER.debug("IGNORED: {}", ignore.getMessage()); + } + } + } + + } else { + response.setContentType("application/x-msdownload"); + + PrintWriter printwriter = response.getWriter(); + printwriter.println(""); + printwriter.println("


Could not get file name:
" + fileNm + "

"); + printwriter.println("


Back

"); + printwriter.println("


© webAccess"); + printwriter.println(""); + printwriter.flush(); + printwriter.close(); + } + + } catch (Exception e) { + System.out.println(e.getMessage()); + } + } + } diff --git a/src/main/java/itn/let/cop/bbs/web/EgovBBSManageController.java b/src/main/java/itn/let/cop/bbs/web/EgovBBSManageController.java index 7611fd4e..a09f49fc 100644 --- a/src/main/java/itn/let/cop/bbs/web/EgovBBSManageController.java +++ b/src/main/java/itn/let/cop/bbs/web/EgovBBSManageController.java @@ -314,7 +314,7 @@ public class EgovBBSManageController { model.addAttribute("paginationInfo", paginationInfo); //임시 데이터 이관용 - /*String ip = request.getHeader("X-Forwarded-For"); + /*String ip = request.getHeader("X-Forwarded-For") == null ? request.getHeader("X-Forwarded-For") : request.getHeader("X-Forwarded-For").replaceAll("10.12.107.11", "").replaceAll(",", "").trim(); if (ip == null) ip = request.getRemoteAddr(); String ddd = ""; @@ -809,7 +809,7 @@ public class EgovBBSManageController { vo.setCodeId("ITN015"); model.addAttribute("codeList", cmmUseService.selectCmmCodeDetail(vo)); //임시 데이터 이관용 - /*String ip = request.getHeader("X-Forwarded-For"); + /*String ip = request.getHeader("X-Forwarded-For") == null ? request.getHeader("X-Forwarded-For") : request.getHeader("X-Forwarded-For").replaceAll("10.12.107.11", "").replaceAll(",", "").trim(); if (ip == null) ip = request.getRemoteAddr(); String ddd = ""; @@ -1038,7 +1038,7 @@ public class EgovBBSManageController { model.addAttribute("codeList", cmmUseService.selectCmmCodeDetail(vo)); //임시 데이터 이관용 - String ip = request.getHeader("X-Forwarded-For"); + String ip = request.getHeader("X-Forwarded-For") == null ? request.getHeader("X-Forwarded-For") : request.getHeader("X-Forwarded-For").replaceAll("10.12.107.11", "").replaceAll(",", "").trim(); if (ip == null) ip = request.getRemoteAddr(); if("219.240.88.15".equals(ip) || "0:0:0:0:0:0:0:1".equals(ip)) { model.addAttribute("Transfer", true ); 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 dc4d986a..f9fe0495 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 @@ -18,6 +18,9 @@ public interface MjonKakaoATService { //알림톡 전송내역 상세 KakaoVO selectMjonKakaoATVO(KakaoVO mjonKakaoATVO) throws Exception; + // 알림톡 금일/금월/금년 통계 + KakaoVO selectMjonKakaoAtThisSum(KakaoVO mjonKakaoATVO) throws Exception; + //알림톡 예약 발송 리스트 List selectReserveMjonKakaoATGroupList(KakaoVO searchVO) 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 95a59740..1ff99bc3 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 @@ -31,6 +31,11 @@ public class MjonKakaoATDAO extends EgovAbstractDAO { return (KakaoVO) select("mjonKakaoATDAO.selectMjonKakaoATVO", p_mjonKakaoATVO); } + // 알림톡 금일/금월/금년 통계 + public KakaoVO selectMjonKakaoAtThisSum(KakaoVO p_mjonKakaoATVO) throws Exception{ + return (KakaoVO) select("mjonKakaoATDAO.selectMjonKakaoAtThisSum", p_mjonKakaoATVO); + } + @SuppressWarnings("unchecked") public List selectReserveMjonKakaoATGroupList(KakaoVO p_mjonKakaoATVO) throws Exception{ return (List)list("mjonKakaoATDAO.selectReserveMjonKakaoATGroupList", p_mjonKakaoATVO); 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 fb8b4cbb..f0686fae 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 @@ -125,6 +125,16 @@ public class MjonKakaoATServiceImpl extends EgovAbstractServiceImpl implements M return result; } + // 알림톡 금일/금월/금년 통계 + @Override + public KakaoVO selectMjonKakaoAtThisSum(KakaoVO p_mjonKakaoATVO) throws Exception { + KakaoVO result = new KakaoVO(); + + result = mjonKakaoATDAO.selectMjonKakaoAtThisSum(p_mjonKakaoATVO); + + return result; + } + @Override public List selectReserveMjonKakaoATGroupList(KakaoVO p_mjonKakaoATVO) throws Exception { return mjonKakaoATDAO.selectReserveMjonKakaoATGroupList(p_mjonKakaoATVO); diff --git a/src/main/java/itn/let/kakao/admin/kakaoAt/web/MjonKakaoATController.java b/src/main/java/itn/let/kakao/admin/kakaoAt/web/MjonKakaoATController.java index 7ddaa800..24bca3cb 100644 --- a/src/main/java/itn/let/kakao/admin/kakaoAt/web/MjonKakaoATController.java +++ b/src/main/java/itn/let/kakao/admin/kakaoAt/web/MjonKakaoATController.java @@ -13,6 +13,7 @@ import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.servlet.HandlerMapping; +import org.springframework.web.servlet.ModelAndView; import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper; import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; @@ -262,6 +263,33 @@ public class MjonKakaoATController { } + // 알림톡 금일/금월/금년 통계 + @RequestMapping(value = "/uss/umt/user/selectMjonKakaoAtThisSumAjax.do") + public ModelAndView DashBoardAdminLogAjax( + @ModelAttribute("kakaoVO") KakaoVO kakaoVO) throws Exception { + + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + + boolean isSuccess = true; + String msg = ""; + KakaoVO result = null; + + try { + result = mjonKakaoATService.selectMjonKakaoAtThisSum(kakaoVO); + } + catch(Exception e) { + isSuccess = false; + msg = e.getMessage(); + } + + modelAndView.addObject("result", result); + modelAndView.addObject("isSuccess", isSuccess); + modelAndView.addObject("msg", msg); + + return modelAndView; + } + /** * 알림톡 상세 전송 리스트 * @param searchVO diff --git a/src/main/java/itn/let/kakao/kakaoComm/KakaoVO.java b/src/main/java/itn/let/kakao/kakaoComm/KakaoVO.java index ba2e51a0..c2a03178 100644 --- a/src/main/java/itn/let/kakao/kakaoComm/KakaoVO.java +++ b/src/main/java/itn/let/kakao/kakaoComm/KakaoVO.java @@ -238,6 +238,61 @@ public class KakaoVO extends MjonMsgVO{ private String imageTitle; //친구톡 이미지 제목 private String imageLink; //친구톡 이미지 클릭시 링크 주소 private String jsonText; //json 파일 생성시 내용 저장(혹시 몰라서 내용도 별도로 저장함) + + private String successDay; + private String successMonth; + private String successYear; + private String successCntDay; + private String successCntMonth; + private String successCntYear; + + public String getSuccessDay() { + return successDay; + } + + public void setSuccessDay(String successDay) { + this.successDay = successDay; + } + + public String getSuccessMonth() { + return successMonth; + } + + public void setSuccessMonth(String successMonth) { + this.successMonth = successMonth; + } + + public String getSuccessYear() { + return successYear; + } + + public void setSuccessYear(String successYear) { + this.successYear = successYear; + } + + public String getSuccessCntDay() { + return successCntDay; + } + + public void setSuccessCntDay(String successCntDay) { + this.successCntDay = successCntDay; + } + + public String getSuccessCntMonth() { + return successCntMonth; + } + + public void setSuccessCntMonth(String successCntMonth) { + this.successCntMonth = successCntMonth; + } + + public String getSuccessCntYear() { + return successCntYear; + } + + public void setSuccessCntYear(String successCntYear) { + this.successCntYear = successCntYear; + } public static long getSerialversionuid() { return serialVersionUID; diff --git a/src/main/java/itn/let/main/web/EgovMainController.java b/src/main/java/itn/let/main/web/EgovMainController.java index b7d20ced..cbb14ab0 100644 --- a/src/main/java/itn/let/main/web/EgovMainController.java +++ b/src/main/java/itn/let/main/web/EgovMainController.java @@ -71,6 +71,7 @@ import itn.let.sym.site.service.SiteManagerVO; import itn.let.uss.olp.qmc.service.EgovQustnrManageService; import itn.let.uss.umt.service.EgovUserManageService; import itn.let.uss.umt.service.MberManageVO; +import itn.let.utl.sim.service.EgovClntInfo; /** * 템플릿 메인 페이지 컨트롤러 클래스(Sample 소스) @@ -1151,7 +1152,8 @@ public class EgovMainController { Date currentTime = new Date (); String mTime = mSimpleDateFormat.format ( currentTime ); HttpServletRequest req = ((ServletRequestAttributes)RequestContextHolder.currentRequestAttributes()).getRequest(); - String ip = req.getHeader("X-FORWARDED-FOR"); + /* String ip = req.getHeader("X-FORWARDED-FOR"); */ + String ip = EgovClntInfo.getClntIP(req); if (ip == null){ ip = req.getRemoteAddr();} LoginLog loginLog = new LoginLog(); loginLog.setLoginIp(ip); @@ -1212,7 +1214,7 @@ public class EgovMainController { Date currentTime = new Date (); String mTime = mSimpleDateFormat.format ( currentTime ); HttpServletRequest req = ((ServletRequestAttributes)RequestContextHolder.currentRequestAttributes()).getRequest(); - String ip = req.getHeader("X-FORWARDED-FOR"); + String ip = req.getHeader("X-Forwarded-For") == null ? req.getHeader("X-Forwarded-For") : req.getHeader("X-Forwarded-For").replaceAll("10.12.107.11", "").replaceAll(",", "").trim(); if (ip == null){ ip = req.getRemoteAddr();} LoginLog loginLog = new LoginLog(); loginLog.setLoginIp(ip); diff --git a/src/main/java/itn/let/mjo/addr/web/AddrController.java b/src/main/java/itn/let/mjo/addr/web/AddrController.java index 1d24a7ec..658d640d 100644 --- a/src/main/java/itn/let/mjo/addr/web/AddrController.java +++ b/src/main/java/itn/let/mjo/addr/web/AddrController.java @@ -485,6 +485,43 @@ public class AddrController { return "/web/addr/AddrListPrint"; } + /** + * 주소록 상세정보 ajax + * @param addrCheck + * @param request + * @param addrVO + * @param model + * @param redirectAttributes + * @return + * @throws Exception + */ + @RequestMapping("/web/mjon/addr/selectAddrDetailAjax.do") + public ModelAndView selectAddrDetailAjax(HttpServletRequest request, + AddrVO addrVO, Model model) throws Exception { + + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + + boolean isSuccess = true; + String msg = ""; + AddrVO addrInfo = null; + + try { + + addrInfo = addrService.selectAddrDetail(addrVO); + + } catch (Exception e) { + isSuccess = false; + msg = e.getMessage(); + } + + modelAndView.addObject("isSuccess", isSuccess); + modelAndView.addObject("msg", msg); + modelAndView.addObject("addrInfo", addrInfo); + + return modelAndView; + + } /** diff --git a/src/main/java/itn/let/mjo/event/web/MjonEventPayV2Controller.java b/src/main/java/itn/let/mjo/event/web/MjonEventPayV2Controller.java index 5057a830..9edb41d1 100644 --- a/src/main/java/itn/let/mjo/event/web/MjonEventPayV2Controller.java +++ b/src/main/java/itn/let/mjo/event/web/MjonEventPayV2Controller.java @@ -76,6 +76,15 @@ public class MjonEventPayV2Controller { return "redirect:/web/user/login/login.do"; } + // 하드코딩 + if(!userId.equals("nobledeco")) { + if(!userId.equals("nobledeco2")) { + if(!userId.equals("nopay")) { + return "redirect:/web/main/mainPage.do"; + } + } + } + //기존 결제 내역이 있는 회원인지 확인 int payCnt = 0; if(StringUtil.isNotEmpty(userId)) { 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 8055ab0d..566ae90f 100644 --- a/src/main/java/itn/let/mjo/msg/service/MjonMsgVO.java +++ b/src/main/java/itn/let/mjo/msg/service/MjonMsgVO.java @@ -165,6 +165,67 @@ public class MjonMsgVO extends ComDefaultVO{ private String reqFullDate; private String blineCode; + private String sendKind; //문자전송 타입(H:홈페이지, A:API) + + private int aSuccessCount; // API 문자발송 성공건수 + private int aSendCount; // API 문자 발송건수 + + private int totalSendCount; // 전체 문자발송 건수 + private int totalSuccessCount; // 전체 문자발송 성공건수 + + private int rateTotalSuccessCount; // 전체 문자발송 성공율 + private int rateSuccessCount; // 홈페이지 전송 성공율 + private int rateApiSuccessCount; // API 전송 성공율 + + + public int getRateSuccessCount() { + return rateSuccessCount; + } + public void setRateSuccessCount(int rateSuccessCount) { + this.rateSuccessCount = rateSuccessCount; + } + public int getRateApiSuccessCount() { + return rateApiSuccessCount; + } + public void setRateApiSuccessCount(int rateApiSuccessCount) { + this.rateApiSuccessCount = rateApiSuccessCount; + } + public int getTotalSendCount() { + return totalSendCount; + } + public void setTotalSendCount(int totalSendCount) { + this.totalSendCount = totalSendCount; + } + public int getTotalSuccessCount() { + return totalSuccessCount; + } + public void setTotalSuccessCount(int totalSuccessCount) { + this.totalSuccessCount = totalSuccessCount; + } + public int getRateTotalSuccessCount() { + return rateTotalSuccessCount; + } + public void setRateTotalSuccessCount(int rateTotalSuccessCount) { + this.rateTotalSuccessCount = rateTotalSuccessCount; + } + public int getaSuccessCount() { + return aSuccessCount; + } + public void setaSuccessCount(int aSuccessCount) { + this.aSuccessCount = aSuccessCount; + } + public int getaSendCount() { + return aSendCount; + } + public void setaSendCount(int aSendCount) { + this.aSendCount = aSendCount; + } + public String getSendKind() { + return sendKind; + } + public void setSendKind(String sendKind) { + this.sendKind = sendKind; + } public String getBlineCode() { return blineCode; } 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 79eda090..b0d2169f 100644 --- a/src/main/java/itn/let/mjo/msg/web/MjonMsgController.java +++ b/src/main/java/itn/let/mjo/msg/web/MjonMsgController.java @@ -1,5 +1,6 @@ package itn.let.mjo.msg.web; +import java.io.File; import java.io.OutputStream; import java.net.URL; import java.text.SimpleDateFormat; @@ -13,6 +14,7 @@ import java.util.List; import java.util.Locale; import java.util.Map; import java.util.Random; +import java.util.stream.Collectors; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; @@ -42,12 +44,15 @@ import com.hanju.util.Authentication; import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper; import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; +import itn.com.cmm.ComDefaultCodeVO; import itn.com.cmm.EgovMessageSource; import itn.com.cmm.LoginVO; +import itn.com.cmm.service.EgovCmmUseService; import itn.com.cmm.service.EgovFileMngService; import itn.com.cmm.service.EgovFileMngUtil; import itn.com.cmm.service.FileVO; import itn.com.cmm.util.MJUtil; +import itn.com.cmm.util.PdfUtil; import itn.com.cmm.util.RedirectUrlMaker; import itn.com.cmm.util.StringUtil; import itn.com.utl.fcc.service.EgovStringUtil; @@ -76,8 +81,10 @@ import itn.let.uat.uia.web.ClientIP; import itn.let.uat.uia.web.EmailVO; import itn.let.uat.uia.web.SendLogVO; import itn.let.uat.uia.web.SendMail; +import itn.let.uss.umt.service.EgovMberCmpHstService; import itn.let.uss.umt.service.EgovMberManageService; import itn.let.uss.umt.service.EgovUserManageService; +import itn.let.uss.umt.service.MberCmpHstVO; import itn.let.uss.umt.service.MberManageVO; import itn.let.uss.umt.service.UserDefaultVO; import itn.let.uss.umt.service.UserManageVO; @@ -144,7 +151,16 @@ public class MjonMsgController { /** userManageService */ @Resource(name = "userManageService") - private EgovUserManageService userManageService; + private EgovUserManageService userManageService; + + @Resource(name = "EgovCmmUseService") + private EgovCmmUseService cmmUseService; + + @Resource(name = "egovMberCmpHstService") + private EgovMberCmpHstService egovMberCmpHstService; + + @Resource(name = "EgovFileMngService") + private EgovFileMngService fileService; //배열 정의{"컬럼순차번호, 컬럼이름, 컬럼내용, 컬럼이름에 붙여야할 내용(엑셀코드양식다운로드시 필요)"} private String[][] sendMsgExcelValue ={ @@ -4396,7 +4412,7 @@ public class MjonMsgController { if (resultList.size()>0) { model.addAttribute("sttstDate", resultList.get(0).getRegistPnttm()); - } + } }catch(Exception ex) { ex.printStackTrace(); } @@ -4901,6 +4917,151 @@ public class MjonMsgController { return modelAndView; } + + + @RequestMapping(value = {"/uss/ion/msg/weekendCsWorkMain.do"}) + public String weekendCsWorkMain() throws Exception { + return "/uss/ion/msg/weekendCsWorkMain"; + } + + /** + * 문자전송 등록하기 위한 전 처리(공통코드 처리) + * @param searchVO + * @param model + * @return "/uss/ion/msg/SendMsgModify" + * @throws Exception + */ + @RequestMapping(value = {"/uss/ion/msg/weekendCsWork.do"}) + public String weekendCsWork(@ModelAttribute("searchVO") MjPhoneMemberVO searchVO, + HttpServletRequest request, + ModelMap model, + MberCmpHstVO mberCmpHstVO) throws Exception { + + String certType = request.getParameter("certType"); + model.addAttribute("certType", certType); + + /** pageing */ + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(1); + paginationInfo.setRecordCountPerPage(100); + paginationInfo.setPageSize(100); + + searchVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); + searchVO.setLastIndex(paginationInfo.getLastRecordIndex()); + searchVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + + if("".equals(searchVO.getSearchSortCnd())){ //최초조회시 최신것 조회List + searchVO.setSearchSortCnd("frstRegistPnttm"); + searchVO.setSearchSortOrd("desc"); + } + + searchVO.setSearchSortAuthYN("Y"); + + searchVO.setPhmType("01"); //발신조회 + List resultList = mjonMsgService.selectSendNumberList(searchVO); + List resultList2 = new ArrayList(); + resultList.stream() + .filter(t->t.getAuthYnTxt().equals("심사중")) + .collect(Collectors.toList()) + .forEach(li->{resultList2.add(li);}); + + model.addAttribute("resultList", resultList2); + paginationInfo.setTotalRecordCount(resultList.size() > 0 ? ((MjPhoneMemberVO)resultList.get(0)).getTotCnt() : 0); + model.addAttribute("paginationInfo", paginationInfo); + + + return "/uss/ion/msg/weekendCsWork"; + } + + /** + * 문자전송 등록하기 위한 전 처리(공통코드 처리) + * @param searchVO + * @param model + * @return "/uss/ion/msg/SendMsgModify" + * @throws Exception + */ + @RequestMapping(value = {"/uss/ion/msg/weekendCsWork2.do"}) + public String weekendCsWork2(@ModelAttribute("searchVO") MberCmpHstVO mberCmpHstVO, + HttpServletRequest request , + ModelMap model) throws Exception { + + LoginVO loginVO = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser(); + + String hstSttus = request.getParameter("hstSttus"); + model.addAttribute("hstSttus", hstSttus); + + //기업유형 + ComDefaultCodeVO voComCode = new ComDefaultCodeVO(); + voComCode.setCodeId("ITN033"); + model.addAttribute("bizTypeList", cmmUseService.selectCmmCodeDetail(voComCode)); + + // 유형 코드조회 + voComCode.setCodeId("ITN048"); + model.addAttribute("hstTypeList", cmmUseService.selectCmmCodeDetail(voComCode)); + + // 처리상태 코드조회 + voComCode.setCodeId("ITN049"); + model.addAttribute("hstSttusList", cmmUseService.selectCmmCodeDetail(voComCode)); + + if(mberCmpHstVO.getPageUnit() != 10) { + mberCmpHstVO.setPageUnit(mberCmpHstVO.getPageUnit()); + } + + /** paging */ + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(1); + paginationInfo.setRecordCountPerPage(100); + paginationInfo.setPageSize(100); + + mberCmpHstVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); + mberCmpHstVO.setLastIndex(paginationInfo.getLastRecordIndex()); + mberCmpHstVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + + if("".equals(mberCmpHstVO.getSearchSortCnd())){ //최초조회시 최신것 조회List + mberCmpHstVO.setSearchSortCnd("frstRegistPnttm"); + mberCmpHstVO.setSearchSortOrd("desc"); + } + + List mberCmpHstList = egovMberCmpHstService.selectMberCmpHstListByType(mberCmpHstVO); + List resultList = new ArrayList(); + mberCmpHstList.stream() + .filter(t -> t.getHstSttus().equals("01")) + .collect(Collectors.toList()) + .forEach(li -> + { + resultList.add(li); + }); + + int totCnt = 0; + if(mberCmpHstList.size() > 0) { + totCnt = mberCmpHstList.get(0).getTotCnt(); + } + model.addAttribute("mberCmpHstList", resultList); + paginationInfo.setTotalRecordCount(totCnt); + model.addAttribute("paginationInfo", paginationInfo); + + return "/uss/ion/msg/weekendCsWork2"; + } + + @RequestMapping(value = {"/uss/ion/msg/pdfView.do"}) + public String pdfView(FileVO fileVO, ModelMap model) throws Exception { + + FileVO fvo = fileService.selectFileInf(fileVO); + String path = ""; + + if(fvo != null) { + if("pdf".equals(fvo.getFileExtsn())) { + path = "/cmm/fms/FileDown.do?atchFileId="+ fvo.getAtchFileId() + "&fileSn=" + fvo.getFileSn(); + }else { + String storePath = fvo.getFileStreCours() + fvo.getStreFileNm(); + path = "/cmm/fms/FileDowntest.do?fileNm="+ PdfUtil.makeImgPdf(storePath, fvo.getFileExtsn()); + } + } + + model.addAttribute("pdfPath", path); + + return "/uss/ion/msg/pdfView"; + } diff --git a/src/main/java/itn/let/mjo/msgcampain/web/MjonMsgCampainDataController.java b/src/main/java/itn/let/mjo/msgcampain/web/MjonMsgCampainDataController.java index 16760fea..864ffc5b 100644 --- a/src/main/java/itn/let/mjo/msgcampain/web/MjonMsgCampainDataController.java +++ b/src/main/java/itn/let/mjo/msgcampain/web/MjonMsgCampainDataController.java @@ -843,7 +843,13 @@ public class MjonMsgCampainDataController { if(letterVO.getPageUnit() != 10) { letterVO.setPageUnit(letterVO.getPageUnit()); } - + + for(int i=0 ; i < cateConfList.size(); i++) { + if("선거".equals(cateConfList.get(i).getCateNm())) { + letterVO.setCategoryCode(cateConfList.get(i).getCateCode()); + } + } + /** pageing */ PaginationInfo paginationInfo = new PaginationInfo(); paginationInfo.setCurrentPageNo(letterVO.getPageIndex()); @@ -861,6 +867,8 @@ public class MjonMsgCampainDataController { paginationInfo.setTotalRecordCount( resultPhoList.size()> 0 ? ((Long)((EgovMap)resultPhoList.get(0)).get("totCnt")).intValue() : 0); model.addAttribute("paginationInfo", paginationInfo); + model.addAttribute("letterVO", letterVO); + return "web/msgcampain/excel/MsgExcelDataView"; } @@ -1078,18 +1086,20 @@ public class MjonMsgCampainDataController { voComCode.setCodeId("ITN031"); model.addAttribute("emailCode", cmmUseService.selectCmmCodeDetail(voComCode)); - - //아이디 발신번호 리스트 불러오기. - List resultSendPhonList = mjonMsgDataService.selectSendPhonNumList(userId); - List resultPhonList = new ArrayList(); - MJUtil mjUtil = new MJUtil(); - - for(String phone : resultSendPhonList) { + if(!userId.equals("")) {//로그인 했을때만 발신번호 리스트 불러오기 - resultPhonList.add(mjUtil.addDash(phone)); + //아이디 발신번호 리스트 불러오기. + List resultSendPhonList = mjonMsgDataService.selectSendPhonNumList(userId); + List resultPhonList = new ArrayList(); + MJUtil mjUtil = new MJUtil(); + for(String phone : resultSendPhonList) { + + resultPhonList.add(mjUtil.addDash(phone)); + + } + model.addAttribute("resultPhonList", resultPhonList); } - model.addAttribute("resultPhonList", resultPhonList); // 문자 카테고리 리스트 불러오기 List cateConfList = letterService.selectCateConfWithList(categoryType); @@ -2154,6 +2164,21 @@ public class MjonMsgCampainDataController { System.out.println("mjonMsgVO.getMsgType2() ::: "+mjonMsgVO.getMsgType()); + // MSG_TYPE 다시계산 + if(mjonMsgVO.getFileName1() != null) { + mjonMsgVO.setMsgType("6"); + }else { + if(FrBytes < 2000) { + if(FrBytes > 90) {// 90Byte 초과시 장문 + mjonMsgVO.setMsgType("6"); + }else {// 그외 단문 + mjonMsgVO.setMsgType("4"); + } + } + } + + System.out.println("mjonMsgVO.getMsgType3() ::: "+mjonMsgVO.getMsgType()); + //각 문자 종류별 단가 셋팅해주기 float tmpEachPrice = 0; if(mjonMsgVO.getMsgType().equals("4")) { diff --git a/src/main/java/itn/let/mjo/msgdata/web/MjonMsgDataController.java b/src/main/java/itn/let/mjo/msgdata/web/MjonMsgDataController.java index 8e9e44bd..2b09674e 100644 --- a/src/main/java/itn/let/mjo/msgdata/web/MjonMsgDataController.java +++ b/src/main/java/itn/let/mjo/msgdata/web/MjonMsgDataController.java @@ -2316,6 +2316,21 @@ public class MjonMsgDataController { System.out.println("mjonMsgVO.getMsgType2() ::: "+mjonMsgVO.getMsgType()); + // MSG_TYPE 다시계산 + if(mjonMsgVO.getFileName1() != null) { + mjonMsgVO.setMsgType("6"); + }else { + if(FrBytes < 2000) { + if(FrBytes > 90) {// 90Byte 초과시 장문 + mjonMsgVO.setMsgType("6"); + }else {// 그외 단문 + mjonMsgVO.setMsgType("4"); + } + } + } + + System.out.println("mjonMsgVO.getMsgType3() ::: "+mjonMsgVO.getMsgType()); + //각 문자 종류별 단가 셋팅해주기 float tmpEachPrice = 0; if(mjonMsgVO.getMsgType().equals("4")) { diff --git a/src/main/java/itn/let/mjo/msgsent/service/MjonMsgSentVO.java b/src/main/java/itn/let/mjo/msgsent/service/MjonMsgSentVO.java index 2ce09912..87e15895 100644 --- a/src/main/java/itn/let/mjo/msgsent/service/MjonMsgSentVO.java +++ b/src/main/java/itn/let/mjo/msgsent/service/MjonMsgSentVO.java @@ -429,6 +429,4 @@ public class MjonMsgSentVO extends UserDefaultVO{ this.sendKind = sendKind; } - - } 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 21d04124..5e973a39 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 @@ -38,6 +38,8 @@ import itn.let.mjo.pay.service.RefundVO; import itn.let.mjo.pay.service.StVcVO; import itn.let.mjo.tax.service.TaxVO; import itn.let.mjo.tax.service.impl.TaxDAO; +import itn.let.sym.grd.service.MberGrdService; +import itn.let.sym.grd.service.MberGrdVO; import itn.let.sym.site.service.JoinSettingVO; import itn.let.uat.uia.service.impl.MberManageDAO; import itn.let.uss.umt.service.MberManageVO; @@ -81,7 +83,9 @@ public class MjonPayServiceImpl extends EgovAbstractServiceImpl implements MjonP @Resource(name = "egovCryptoUtil") EgovCryptoUtil egovCryptoUtil; - + /* 등급제 */ + @Resource(name = "mberGrdService") + MberGrdService mberGrdService; @Override public List selectPayList(MjonPayVO mjonPayVO) throws Exception { @@ -404,6 +408,17 @@ public class MjonPayServiceImpl extends EgovAbstractServiceImpl implements MjonP } + + // 등급제 Start + // 회원별 등급 적용 + MberGrdVO mberGrdVO = new MberGrdVO(); + mberGrdVO.setMberId(mjonPayVO.getUserId()); + mberGrdVO.setAmt(mjonPayVO.getAmt()); + mberGrdVO.setMoid(mjonPayVO.getMoid()); + mberGrdService.mberGrdSaveByUser(mberGrdVO); + // End + + mjonPayVO.setPaySuccess(true); return mjonPayVO; @@ -709,6 +724,18 @@ public class MjonPayServiceImpl extends EgovAbstractServiceImpl implements MjonP } + + // 등급제 Start + // 회원별 등급 적용 + MberGrdVO mberGrdVO = new MberGrdVO(); + mberGrdVO.setMberId(mjonPayVO.getUserId()); + mberGrdVO.setAmt(mjonPayVO.getAmt()); + mberGrdVO.setMoid(mjonPayVO.getMoid()); + mberGrdService.mberGrdSaveByUser(mberGrdVO); + // End + + + //세금계산서/현금영수증 발행 처리해주기 //String uniqId = mberManageDAO.selectUniqId(mjonPayVO.getUserId()); //고유아이디(esntl) 번호 받아오기 @@ -2009,6 +2036,17 @@ public class MjonPayServiceImpl extends EgovAbstractServiceImpl implements MjonP } + + // 등급제 Start + // 회원별 등급 적용 + MberGrdVO mberGrdVO = new MberGrdVO(); + mberGrdVO.setMberId(mjonPayVO.getUserId()); + mberGrdVO.setAmt(mjonPayVO.getAmt()); + mberGrdVO.setMoid(mjonPayVO.getMoid()); + mberGrdService.mberGrdSaveByUser(mberGrdVO); + // End + + mjonPayVO.setPaySuccess(true); } } @@ -2165,6 +2203,17 @@ public class MjonPayServiceImpl extends EgovAbstractServiceImpl implements MjonP System.out.println(resultCnt); } } + + + // 등급제 Start + // 회원별 등급 적용 + MberGrdVO mberGrdVO = new MberGrdVO(); + mberGrdVO.setMberId(mjonPayVO.getUserId()); + mberGrdVO.setAmt(mjonPayVO.getAmt()); + mberGrdVO.setMoid(mjonPayVO.getMoid()); + mberGrdService.mberGrdSaveByUser(mberGrdVO); + // End + mjonPayVO.setPaySuccess(true); } diff --git a/src/main/java/itn/let/mjo/pay/web/MjonPayV2Controller.java b/src/main/java/itn/let/mjo/pay/web/MjonPayV2Controller.java index c34d3bc6..61a8dc63 100644 --- a/src/main/java/itn/let/mjo/pay/web/MjonPayV2Controller.java +++ b/src/main/java/itn/let/mjo/pay/web/MjonPayV2Controller.java @@ -123,10 +123,11 @@ public class MjonPayV2Controller { return "redirect:/web/user/login/login.do"; } + // 하드코딩 // Itm Member Id Check - //if(!getItnMemberId(userId)) { - // return "redirect:/web/main/mainPage.do"; - //} + if(!getItnMemberId(userId)) { + return "redirect:/web/main/mainPage.do"; + } MberManageVO mberManageVO = mberManageService.selectMber(loginVO.getId()); model.addAttribute("mberManageVO", mberManageVO); @@ -1470,7 +1471,7 @@ public class MjonPayV2Controller { // Get Ip public static String getClientIP(HttpServletRequest request) { - String ip = request.getHeader("X-Forwarded-For"); + String ip = request.getHeader("X-Forwarded-For") == null ? request.getHeader("X-Forwarded-For") : request.getHeader("X-Forwarded-For").replaceAll("10.12.107.11", "").replaceAll(",", "").trim(); String ipMethod = "X-Forwarded-For"; if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { 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 1cc83682..e2ec9adc 100644 --- a/src/main/java/itn/let/sym/grd/service/MberGrdService.java +++ b/src/main/java/itn/let/sym/grd/service/MberGrdService.java @@ -46,16 +46,28 @@ public interface MberGrdService { // 회원별 등급 등록 All => 기존대상자 제외 public void insertMberGrdAllByExist(MberGrdVO mberGrdVO) throws Exception; + // 회원별 등급 히스토리 등록 All + public void insertMberGrdHistAll(MberGrdVO mberGrdVO) throws Exception; + // 회원별 등급 일괄변경 public int updateMberGrdAll(MberGrdVO mberGrdVO) throws Exception; // 회원 등급 변경(환불후) => 기존등급 상관없이 업데이트 public int updateMberGrdAfterRefund(MberGrdVO mberGrdVO) throws Exception; + // 회원별 등급 초기화 By Temp + public int updateMberGrdWhiteByTemp(MberGrdVO mberGrdVO) throws Exception; + + // 회원별 등급 초기화 All + public int updateMberGrdWhiteAll(MberGrdVO mberGrdVO) throws Exception; + // 문자할인, B선라인 대상자 종료 public int updateMberGrdEndBySale(MberGrdVO mberGrdVO) throws Exception; - // 전체회원 등급 종료 + // 전체회원 TEMP_YN 업데이트 + public int updateMberGrdTempYn(MberGrdVO mberGrdVO) throws Exception; + + // 전체회원 등급 전체종료 public int updateMberGrdEndAll(MberGrdVO mberGrdVO) throws Exception; // 회원 등급제 종료 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 cecd2c84..afb0d9fe 100644 --- a/src/main/java/itn/let/sym/grd/service/MberGrdVO.java +++ b/src/main/java/itn/let/sym/grd/service/MberGrdVO.java @@ -46,6 +46,8 @@ public class MberGrdVO extends UserDefaultVO { private String grdNewDate; // 시작일자, 계산기간 시작일자 중 최근날짜 private String grdDatePrgYn; // 회원등급제 시작일자 진행여부(오늘보다 이전날짜이면 Y, 이후이면 N) private String grdPeriod; // 회원등급제 누적결제 계산기간 + private String tempYn; + private String moid; // 결제번호 // 검색필터 private String searchGrdStatus; @@ -268,6 +270,18 @@ public class MberGrdVO extends UserDefaultVO { public void setGrdPeriod(String grdPeriod) { this.grdPeriod = grdPeriod; } + public String getTempYn() { + return tempYn; + } + public void setTempYn(String tempYn) { + this.tempYn = tempYn; + } + public String getMoid() { + return moid; + } + public void setMoid(String moid) { + this.moid = moid; + } public String getSearchGrdStatus() { return searchGrdStatus; } 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 6e2a4f92..92b435d6 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 @@ -73,6 +73,11 @@ public class MberGrdDAO extends EgovAbstractDAO { insert("mberGrdDAO.insertMberGrdAllByExist", mberGrdVO); } + // 회원별 등급 히스토리 등록 All + public void insertMberGrdHistAll(MberGrdVO mberGrdVO) throws Exception{ + insert("mberGrdDAO.insertMberGrdHistAll", mberGrdVO); + } + // 회원별 등급 일괄변경 public int updateMberGrdAll(MberGrdVO mberGrdVO) throws Exception { return update("mberGrdDAO.updateMberGrdAll", mberGrdVO); @@ -83,12 +88,27 @@ public class MberGrdDAO extends EgovAbstractDAO { return update("mberGrdDAO.updateMberGrdAfterRefund", mberGrdVO); } + // 회원별 등급 초기화 By Temp + public int updateMberGrdWhiteByTemp(MberGrdVO mberGrdVO) throws Exception { + return update("mberGrdDAO.updateMberGrdWhiteByTemp", mberGrdVO); + } + + // 회원별 등급 초기화 All + public int updateMberGrdWhiteAll(MberGrdVO mberGrdVO) throws Exception { + return update("mberGrdDAO.updateMberGrdWhiteAll", mberGrdVO); + } + // 문자할인, B선라인 대상자 종료 public int updateMberGrdEndBySale(MberGrdVO mberGrdVO) throws Exception { return update("mberGrdDAO.updateMberGrdEndBySale", mberGrdVO); } - // 전체회원 등급 종료 + // 전체회원 TEMP_YN 업데이트 + public int updateMberGrdTempYn(MberGrdVO mberGrdVO) throws Exception { + return update("mberGrdDAO.updateMberGrdTempYn", mberGrdVO); + } + + // 전체회원 등급 전체종료 public int updateMberGrdEndAll(MberGrdVO mberGrdVO) throws Exception { return update("mberGrdDAO.updateMberGrdEndAll", mberGrdVO); } 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 89527352..4fb60b84 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 @@ -1,7 +1,5 @@ package itn.let.sym.grd.service.impl; -import java.time.LocalDate; -import java.time.format.DateTimeFormatter; import java.util.List; import javax.annotation.Resource; @@ -9,6 +7,7 @@ import javax.annotation.Resource; import org.springframework.stereotype.Service; import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; +import itn.let.mjo.mjocommon.MjonCommon; import itn.let.mjo.pay.service.MjonPayService; import itn.let.sym.grd.service.MberGrdService; import itn.let.sym.grd.service.MberGrdVO; @@ -28,6 +27,9 @@ public class MberGrdServiceImpl extends EgovAbstractServiceImpl implements MberG @Resource(name = "mberManageService") private EgovMberManageService mberManageService; + @Resource(name="MjonCommon") + private MjonCommon mjonCommon; + // 등급제 단가 추출 => 시스템 단가에 적용 @Override public JoinSettingVO selectMberGrdDefaultInfo(JoinSettingVO sysJoinSetVO, String mberId) throws Exception { @@ -40,7 +42,7 @@ public class MberGrdServiceImpl extends EgovAbstractServiceImpl implements MberG MberGrdVO mberGrdVO = new MberGrdVO(); MberGrdVO mberGrdVO1 = new MberGrdVO(); mberGrdVO1 = selectMberSettingDetail(mberGrdVO); - if (mberGrdVO1.getGrdNoti().equals("Y") && null != mberGrdVO1.getGrdDate() && mberGrdVO1.getGrdDatePrgYn().equals("Y")) { + if (mberGrdVO1.getGrdNoti().equals("Y")) { mberGrdVO = new MberGrdVO(); mberGrdVO = selectMberGrdInfo(mberId); if (null != mberGrdVO) { @@ -152,31 +154,47 @@ public class MberGrdServiceImpl extends EgovAbstractServiceImpl implements MberG mberGrdDAO.insertMberGrdAllByExist(mberGrdVO); } + // 회원별 등급 히스토리 등록 All + @Override + public void insertMberGrdHistAll(MberGrdVO mberGrdVO) throws Exception { + mberGrdDAO.insertMberGrdHistAll(mberGrdVO); + } + // 회원별 등급 일괄변경 @Override public int updateMberGrdAll(MberGrdVO mberGrdVO) throws Exception { - int updateCnt1 = 0; + int updateCnt = 0; int updateCnt2 = 0; + int updateCnt3 = 0; // Step 1. 등급제 시행 ON 일경우 MberGrdVO mberGrdVO1 = new MberGrdVO(); mberGrdVO1 = selectMberSettingDetail(mberGrdVO); - if (mberGrdVO1.getGrdNoti().equals("Y") && null != mberGrdVO1.getGrdDate() && mberGrdVO1.getGrdDatePrgYn().equals("Y")) { + if (mberGrdVO1.getGrdNoti().equals("Y")) { mberGrdVO.setGrdNewDate(mberGrdVO1.getGrdNewDate()); - // 대상자 추가 + // Step1. 대상자 추가 insertMberGrdAllByExist(mberGrdVO); - // 문자할인, B선라인, 스팸회원 대상자 종료 - updateCnt1 = updateMberGrdEndBySale(mberGrdVO); + // Step2. TEMP_YN 업데이트(N) + mberGrdVO.setTempYn("N"); + updateMberGrdTempYn(mberGrdVO); - // 등급제 정상대상자 초기화(화이트등급) + // Step3. 문자할인, B선라인, 스팸회원 대상자 종료 + updateCnt = updateMberGrdEndBySale(mberGrdVO); - // 회원별 등급 일괄변경 + // Step4. 회원별 등급 일괄변경 updateCnt2 = mberGrdDAO.updateMberGrdAll(mberGrdVO); + + // Step5. 등급제 정상대상자 초기화(화이트등급) + updateCnt3 = updateMberGrdWhiteByTemp(mberGrdVO); + + // Step6. 회원별 등급 히스토리 등록 + insertMberGrdHistAll(mberGrdVO); + } - return updateCnt1 + updateCnt2; + return updateCnt + updateCnt2 + updateCnt3; } // 회원 등급 변경(환불후) => 기존등급 상관없이 업데이트 @@ -185,13 +203,31 @@ public class MberGrdServiceImpl extends EgovAbstractServiceImpl implements MberG return mberGrdDAO.updateMberGrdAfterRefund(mberGrdVO); } + // 회원별 등급 초기화 By Temp + @Override + public int updateMberGrdWhiteByTemp(MberGrdVO mberGrdVO) throws Exception { + return mberGrdDAO.updateMberGrdWhiteByTemp(mberGrdVO); + } + + // 회원별 등급 초기화 All + @Override + public int updateMberGrdWhiteAll(MberGrdVO mberGrdVO) throws Exception { + return mberGrdDAO.updateMberGrdWhiteAll(mberGrdVO); + } + // 문자할인, B선라인 대상자 종료 @Override public int updateMberGrdEndBySale(MberGrdVO mberGrdVO) throws Exception { return mberGrdDAO.updateMberGrdEndBySale(mberGrdVO); } - // 전체회원 등급 종료 + // 전체회원 TEMP_YN 업데이트 + @Override + public int updateMberGrdTempYn(MberGrdVO mberGrdVO) throws Exception { + return mberGrdDAO.updateMberGrdTempYn(mberGrdVO); + } + + // 전체회원 등급 전체종료 @Override public int updateMberGrdEndAll(MberGrdVO mberGrdVO) throws Exception { return mberGrdDAO.updateMberGrdEndAll(mberGrdVO); @@ -212,66 +248,78 @@ public class MberGrdServiceImpl extends EgovAbstractServiceImpl implements MberG // 회원별 등급 적용 @Override public void mberGrdSaveByUser(MberGrdVO mberGrdVO) throws Exception { - // 현재 날짜 구하기 - LocalDate now = LocalDate.now(); - DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); // 포맷 정의 - String nowDate = now.format(formatter); // 포맷 적용 - - mberGrdVO.setRegId(mberGrdVO.getMberId()); - mberGrdVO.setEditId(mberGrdVO.getMberId()); - - // Step 1. 등급제 시행 ON 일경우(시행일자 진행여부 Y일경우) - MberGrdVO mberGrdVO1 = new MberGrdVO(); - mberGrdVO1 = selectMberSettingDetail(mberGrdVO); - if (mberGrdVO1.getGrdNoti().equals("Y") && null != mberGrdVO1.getGrdDate() && mberGrdVO1.getGrdDatePrgYn().equals("Y")) { - mberGrdVO.setGrdNewDate(mberGrdVO1.getGrdNewDate()); - - // Step 2. 문자할인, B선라인, 스팸회원 대상자 제외 - int isMberGrd = selectMberGrdCnt(mberGrdVO.getMberId()); // 등급제 대상여부(1: 대상, 0: 미대상) - if(isMberGrd == 1) { - // Step 3. 누적결제금액(이벤트금액 제외) 추출 및 등급 조회 - MberGrdVO mberGrdVO3 = new MberGrdVO(); - mberGrdVO3 = selectMberGrdAmtDetail(mberGrdVO); - if (null != mberGrdVO3) { - mberGrdVO.setTotAmt(mberGrdVO3.getTotAmt()); - mberGrdVO.setGrdSetNo(mberGrdVO3.getGrdSetNo()); - - // Step 4. 등급제 설정값 조회 - MberGrdVO mberGrdVO4 = new MberGrdVO(); - mberGrdVO4 = selectMberGrdSettingDetail(mberGrdVO); - if (null != mberGrdVO4) { - mberGrdVO.setAmt(mberGrdVO.getAmt()); - mberGrdVO.setTotAmt(mberGrdVO.getTotAmt()); - mberGrdVO.setShortPrice(mberGrdVO4.getShortPrice()); - mberGrdVO.setLongPrice(mberGrdVO4.getLongPrice()); - mberGrdVO.setPicturePrice(mberGrdVO4.getPicturePrice()); - mberGrdVO.setPicture2Price(mberGrdVO4.getPicture2Price()); - mberGrdVO.setPicture3Price(mberGrdVO4.getPicture3Price()); - mberGrdVO.setGrdDate(mberGrdVO.getGrdDate()); - mberGrdVO.setGrdStartDate(nowDate + " 00:00:00"); - mberGrdVO.setGrdEndDate("9999:12:31 23:59:59"); - mberGrdVO.setGrdStatus("Y"); - - // Step 5. 인서트 Or 업데이트 - MberGrdVO mberGrdVO5 = new MberGrdVO(); - mberGrdVO5 = selectMberGrdDetail(mberGrdVO); - if (null != mberGrdVO5) { - updateMberGrd(mberGrdVO); - - // 회원별 등급 히스토리 인서트 - insertMberGrdHist(mberGrdVO); - } - else { - // 인서트 - insertMberGrd(mberGrdVO); - - // 회원별 등급 히스토리 인서트 - insertMberGrdHist(mberGrdVO); - } - } - } - } - } + /* + try { + // 현재 날짜 구하기 + LocalDate now = LocalDate.now(); + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); // 포맷 정의 + String nowDate = now.format(formatter); // 포맷 적용 + + mberGrdVO.setRegId(mberGrdVO.getMberId()); + mberGrdVO.setEditId(mberGrdVO.getMberId()); + + // Step 1. 등급제 시행 ON 일경우(시행일자 진행여부 Y일경우) + MberGrdVO mberGrdVO1 = new MberGrdVO(); + mberGrdVO1 = selectMberSettingDetail(mberGrdVO); + if (mberGrdVO1.getGrdNoti().equals("Y")) { + mberGrdVO.setGrdNewDate(mberGrdVO1.getGrdNewDate()); + + // Step 2. 문자할인, B선라인, 스팸회원 대상자 제외 + int isMberGrd = selectMberGrdCnt(mberGrdVO.getMberId()); // 등급제 대상여부(1: 대상, 0: 미대상) + if(isMberGrd == 1) { + // Step 3. 누적결제금액(이벤트금액 제외) 추출 및 등급 조회 + MberGrdVO mberGrdVO3 = new MberGrdVO(); + mberGrdVO3 = selectMberGrdAmtDetail(mberGrdVO); + if (null != mberGrdVO3) { + mberGrdVO.setTotAmt(mberGrdVO3.getTotAmt()); + mberGrdVO.setGrdSetNo(mberGrdVO3.getGrdSetNo()); + + // Step 4. 등급제 설정값 조회 + MberGrdVO mberGrdVO4 = new MberGrdVO(); + mberGrdVO4 = selectMberGrdSettingDetail(mberGrdVO); + if (null != mberGrdVO4) { + mberGrdVO.setAmt(mberGrdVO.getAmt()); + mberGrdVO.setTotAmt(mberGrdVO.getTotAmt()); + mberGrdVO.setShortPrice(mberGrdVO4.getShortPrice()); + mberGrdVO.setLongPrice(mberGrdVO4.getLongPrice()); + mberGrdVO.setPicturePrice(mberGrdVO4.getPicturePrice()); + mberGrdVO.setPicture2Price(mberGrdVO4.getPicture2Price()); + mberGrdVO.setPicture3Price(mberGrdVO4.getPicture3Price()); + mberGrdVO.setGrdDate(mberGrdVO.getGrdDate()); + mberGrdVO.setGrdStartDate(nowDate + " 00:00:00"); + mberGrdVO.setGrdEndDate("9999:12:31 23:59:59"); + mberGrdVO.setGrdStatus("Y"); + + // Step 5. 인서트 Or 업데이트 + MberGrdVO mberGrdVO5 = new MberGrdVO(); + mberGrdVO5 = selectMberGrdDetail(mberGrdVO); + if (null != mberGrdVO5) { + updateMberGrd(mberGrdVO); + + // 회원별 등급 히스토리 인서트 + insertMberGrdHist(mberGrdVO); + } + else { + // 인서트 + insertMberGrd(mberGrdVO); + + // 회원별 등급 히스토리 인서트 + insertMberGrdHist(mberGrdVO); + } + } + } + } + } + } + catch (Exception e) { + // Slack 메시지 발송(단순본문) + String msg = "[문자온] " + mberGrdVO.getMberId() + "님 결제중 회원등급 저장 오류 알림 => 개발팀에게 문의해주세요."; + mjonCommon.sendSimpleSlackMsg(msg); + + System.out.println("#############################################################"); + System.out.println(mberGrdVO.getMberId() + "님 결제중 회원등급 저장 오류"); + } + */ } // 회원별 등급제 대상여부 diff --git a/src/main/java/itn/let/sym/grd/web/MberGrdMngController.java b/src/main/java/itn/let/sym/grd/web/MberGrdMngController.java index a2bb58be..99664375 100644 --- a/src/main/java/itn/let/sym/grd/web/MberGrdMngController.java +++ b/src/main/java/itn/let/sym/grd/web/MberGrdMngController.java @@ -45,9 +45,39 @@ public class MberGrdMngController { return "/sym/grd/mberGrdSetting"; } - // 등급제 일괄 저장 - @RequestMapping(value = "/sym/grd/mberGrdSettingMassUpdateAjax.do") - public ModelAndView mberGrdSettingMassUpdateAjax( + // 등급제 단가 정보 + @RequestMapping(value = "/sym/grd/mberGrdSettingListAjax.do") + public ModelAndView mberGrdSettingListAjax( + @ModelAttribute("mberGrdVO") MberGrdVO mberGrdVO) throws Exception { + + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + + boolean isSuccess = true; + String msg = ""; + List mberGrdSettingList = null; + + try{ + + // 등급별 단가 정보 + mberGrdSettingList = mberGrdService.selectMberGrdSettingList(mberGrdVO); + + } + catch(Exception e) { + isSuccess = false; + msg = e.getMessage(); + } + + modelAndView.addObject("isSuccess", isSuccess); + modelAndView.addObject("msg", msg); + modelAndView.addObject("mberGrdSettingList", mberGrdSettingList); + + return modelAndView; + } + + // 등급제 설정 저장 + @RequestMapping(value = "/sym/grd/mberGrdSettingUpdateAjax.do") + public ModelAndView mberGrdSettingUpdateAjax( @ModelAttribute("mberGrdVO") MberGrdVO mberGrdVO) throws Exception { ModelAndView modelAndView = new ModelAndView(); @@ -69,7 +99,44 @@ public class MberGrdMngController { isSuccess = false; msg = "등급제 시행여부 변경에 실패했습니다."; } - else { + } + catch(Exception e) { + isSuccess = false; + msg = e.getMessage(); + } + + modelAndView.addObject("isSuccess", isSuccess); + modelAndView.addObject("msg", msg); + modelAndView.addObject("updateMberCnt", updateMberCnt); + + return modelAndView; + } + + // 등급제 일괄 저장 + @RequestMapping(value = "/sym/grd/mberGrdSettingMassUpdateAjax.do") + public ModelAndView mberGrdSettingMassUpdateAjax( + @ModelAttribute("mberGrdVO") MberGrdVO mberGrdVO) throws Exception { + + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + + boolean isSuccess = true; + String msg = ""; + int updateMberCnt = 0; + + // 로그인VO에서 사용자 정보 가져오기 + LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + String frstRegisterId = loginVO == null ? "" : loginVO.getId(); + mberGrdVO.setEditId(frstRegisterId); // 최초등록자ID + + try{ + // Step1. 등급제 시행여부 변경 + //int updateCnt1 = mberGrdService.updateMberSetting(mberGrdVO); + //if (updateCnt1 == 0) { + // isSuccess = false; + // msg = "등급제 시행여부 변경에 실패했습니다."; + //} + //else { // Step2. 등급제 단가 업데이트 int updateCnt2 = mberGrdService.updateGrdSettingList(mberGrdVO); if (updateCnt2 == 0) { @@ -80,7 +147,7 @@ public class MberGrdMngController { // Step3. 회원 등급 일괄변경 updateMberCnt = mberGrdService.updateMberGrdAll(mberGrdVO); } - } + //} } catch(Exception e) { isSuccess = false; @@ -95,6 +162,46 @@ public class MberGrdMngController { } // 회원별 등급 초기화 + @RequestMapping(value = "/sym/grd/mberGrdResetMassUpdateAjax.do") + public ModelAndView mberGrdResetMassUpdateAjax( + @ModelAttribute("mberGrdVO") MberGrdVO mberGrdVO) throws Exception { + + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + + boolean isSuccess = true; + String msg = ""; + int updateMberCnt = 0; + + // 로그인VO에서 사용자 정보 가져오기 + LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + String frstRegisterId = loginVO == null ? "" : loginVO.getId(); + mberGrdVO.setEditId(frstRegisterId); // 최초등록자ID + + try{ + // Step 1. 등급제 시행 ON 일경우 + MberGrdVO mberGrdVO1 = new MberGrdVO(); + mberGrdVO1 = mberGrdService.selectMberSettingDetail(mberGrdVO); + if (mberGrdVO1.getGrdNoti().equals("Y") && null != mberGrdVO1.getGrdDate() && mberGrdVO1.getGrdDatePrgYn().equals("Y")) { + mberGrdVO.setGrdNewDate(mberGrdVO1.getGrdNewDate()); + + // 회원별 등급 초기화 + updateMberCnt = mberGrdService.updateMberGrdWhiteAll(mberGrdVO); + } + } + catch(Exception e) { + isSuccess = false; + msg = e.getMessage(); + } + + modelAndView.addObject("isSuccess", isSuccess); + modelAndView.addObject("msg", msg); + modelAndView.addObject("updateMberCnt", updateMberCnt); + + return modelAndView; + } + + // 회원별 등급제 전체종료 @RequestMapping(value = "/sym/grd/mberGrdEndMassUpdateAjax.do") public ModelAndView mberGrdEndMassUpdateAjax( @ModelAttribute("mberGrdVO") MberGrdVO mberGrdVO) throws Exception { @@ -113,7 +220,7 @@ public class MberGrdMngController { try{ - // 회원별 등급 초기화 + // 회원별 등급 전체종료 updateMberCnt = mberGrdService.updateMberGrdEndAll(mberGrdVO); } @@ -257,7 +364,7 @@ public class MberGrdMngController { // 회원 등급제 종료 mberGrdService.updateMberGrdEndByUser(mberGrdVO); - + } catch(Exception e) { isSuccess = false; @@ -327,7 +434,6 @@ public class MberGrdMngController { MberGrdVO mberGrdVO1 = new MberGrdVO(); mberGrdVO1 = mberGrdService.selectMberSettingDetail(mberGrdVO); if (mberGrdVO1.getGrdNoti().equals("Y") && null != mberGrdVO1.getGrdDate() && mberGrdVO1.getGrdDatePrgYn().equals("Y")) { - // 회원별 등급 일괄변경 mberGrdVO.setGrdNewDate(mberGrdVO1.getGrdNewDate()); // 회원 등급 변경(환불후) => 기존등급 상관없이 업데이트 diff --git a/src/main/java/itn/let/uat/uia/web/ClientIP.java b/src/main/java/itn/let/uat/uia/web/ClientIP.java index a225fdb7..bf3da38a 100644 --- a/src/main/java/itn/let/uat/uia/web/ClientIP.java +++ b/src/main/java/itn/let/uat/uia/web/ClientIP.java @@ -6,7 +6,7 @@ public class ClientIP { public String getClientIP(HttpServletRequest request) { - String ip = request.getHeader("X-Forwarded-For"); + String ip = request.getHeader("X-Forwarded-For") == null ? request.getHeader("X-Forwarded-For") : request.getHeader("X-Forwarded-For").replaceAll("10.12.107.11", "").replaceAll(",", "").trim(); if (ip == null) { ip = request.getHeader("Proxy-Client-IP"); 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 43ee013e..0d4b6af4 100644 --- a/src/main/java/itn/let/uat/uia/web/EgovLoginController.java +++ b/src/main/java/itn/let/uat/uia/web/EgovLoginController.java @@ -1274,7 +1274,7 @@ public class EgovLoginController { HttpServletRequest req = ((ServletRequestAttributes) RequestContextHolder.currentRequestAttributes()) .getRequest(); - String userIp = req.getHeader("X-FORWARDED-FOR"); + String userIp = req.getHeader("X-Forwarded-For") == null ? req.getHeader("X-Forwarded-For") : req.getHeader("X-Forwarded-For").replaceAll("10.12.107.11", "").replaceAll(",", "").trim(); if (userIp == null) { userIp = req.getRemoteAddr(); } @@ -1552,9 +1552,8 @@ public class EgovLoginController { if (!"admin".equals(loginVO.getId())) { //아이디가 존재 if(passMissVO != null) { - if (null == resultVO.getId() - && passMissVO.getPassMiss() < 5 - ) { // 로그인 실패 + // 로그인 실패 ( + if (null == resultVO.getId() && passMissVO.getPassMiss() < 5 ) { loginService.updatePassMissPlus(loginVO); alertMessage = egovMessageSource.getMessage("fail.common.login"); @@ -1583,7 +1582,7 @@ public class EgovLoginController { */ loginService.updatePassMissReset(loginVO); } - } + } //아이디 미존재 else { alertMessage = egovMessageSource.getMessage("fail.common.login"); @@ -1602,7 +1601,19 @@ public class EgovLoginController { } } - + + /* 일시 : 2023.07.26 + * 내용 : 로그인시 휴먼고객 redirect 기능 추가 + * 작업자 : 원영현 과장 + */ + + /*if(resultVO.getDormantYn().equals("Y") || resultVO.getDormantYn() == "Y") { + + }*/ + + + + boolean loginPolicyYn = true; // 접속IP @@ -1615,23 +1626,19 @@ public class EgovLoginController { // 2. spring security 연동 request.getSession().setAttribute("LoginVO", resultVO); UsernamePasswordAuthenticationFilter springSecurity = null; - ApplicationContext act = WebApplicationContextUtils - .getRequiredWebApplicationContext(request.getSession().getServletContext()); - Map beans = act - .getBeansOfType(UsernamePasswordAuthenticationFilter.class); + ApplicationContext act = WebApplicationContextUtils.getRequiredWebApplicationContext(request.getSession().getServletContext()); + Map beans = act.getBeansOfType(UsernamePasswordAuthenticationFilter.class); + if (beans.size() > 0) { springSecurity = (UsernamePasswordAuthenticationFilter) beans.values().toArray()[0]; springSecurity.setUsernameParameter("egov_security_username"); springSecurity.setPasswordParameter("egov_security_password"); - springSecurity.setRequiresAuthenticationRequestMatcher(new AntPathRequestMatcher( - request.getServletContext().getContextPath() + "/egov_security_login", "POST")); - + springSecurity.setRequiresAuthenticationRequestMatcher(new AntPathRequestMatcher(request.getServletContext().getContextPath() + "/egov_security_login", "POST")); } else { throw new IllegalStateException("No AuthenticationProcessingFilter"); } - springSecurity.doFilter(new RequestWrapperForSecurity(request, resultVO.getUserSe() + resultVO.getId(), - resultVO.getUniqId()), response, null); + springSecurity.doFilter(new RequestWrapperForSecurity(request, resultVO.getUserSe() + resultVO.getId(), resultVO.getUniqId()), response, null); { // 관리자 로그인 log 저장 String uniqId = ""; String ip = ""; @@ -1681,7 +1688,6 @@ public class EgovLoginController { loginVO.setMessage("로그인 성공되었습니다."); loginVO.setLoginYn("Y"); loginService.insertActionLoginLog(loginVO); - } // 이벤트 결제 바로가기 로직 체크 Start @@ -2889,8 +2895,7 @@ public class EgovLoginController { boolean TorF = true; if("USR".equals(mberManageVO.getUserSe())) { - TorF = userManageService.selectAdminIdAjax(userManageVO) > 0 - ? true : false; + TorF = userManageService.selectAdminIdAjax(userManageVO) > 0 ? true : false; mberManageVO.setMberNm(""); // 관리자 로그인 본인인증은 name이 null이여야함 @@ -2898,9 +2903,17 @@ public class EgovLoginController { } else { - List usedNmList = new ArrayList<>(); + + /* + * 일 시 : 2023.07.25 + * 담당자 : 원영현 과장 수정 + * 내 용 : Dn 으로 회원정보 조회가 가능하도록 기능 수정 + * 변경된 핸드폰 번호로 조회시 정보조회가 안되기 때문에 무조건 true 로 변경 + * */ + /*List usedNmList = new ArrayList<>(); usedNmList = userManageService.selectUserIdAjax2(userManageVO); - TorF = usedNmList.size() > 0 ? true : false; + TorF = usedNmList.size() > 0 ? true : false;*/ + TorF = true; } @@ -3070,9 +3083,16 @@ public class EgovLoginController { public Boolean findIdKmcCheck(String DI, String Name, String PhoneNo) throws Exception { UserManageVO userManageVO = new UserManageVO(); - userManageVO.setEmplyrNm(Name); - userManageVO.setMoblphonNo(PhoneNo); - userManageVO.setMblDn(DI); + /* + * 일 시 : 2023.07.25 + * 담당자 : 원영현 과장 수정 + * 내 용 : Dn 으로 회원정보 조회가 가능하도록 기능 수정 + * 쿼리 조회시 번호를 제외한 이름과 Dn으로 조회 + * */ + + userManageVO.setEmplyrNm(Name); // 이름 +// userManageVO.setMoblphonNo(PhoneNo); + userManageVO.setMblDn(DI); // Dn List usedNmList = userManageService.selectUserIdAjax(userManageVO); @@ -3101,9 +3121,18 @@ public class EgovLoginController { if (isAuthenticated) { return "redirect:/"; } - + /* + * 일 시 : 2023.07.25 + * 담당자 : 원영현 과장 수정 + * 내 용 : Dn 으로 회원정보 조회가 가능하도록 기능 수정 + * 쿼리 조회시 번호를 제외한 이름과 Dn으로 조회 + * */ + UserManageVO userInfoVO = new UserManageVO(); + userInfoVO.setEmplyrNm(userManageVO.getEmplyrNm()); // 이름 + userInfoVO.setMblDn(userManageVO.getMblDn()); // Dn + String isFullUserid = "Y"; - List usedNmList = userManageService.selectUserIdAjax(userManageVO); + List usedNmList = userManageService.selectUserIdAjax(userInfoVO); try { if (!"kmc".equals(userManageVO.getFindType())) { for (UserManageVO tmpVO : usedNmList) { 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 9eadc8ce..20b06771 100644 --- a/src/main/java/itn/let/uss/umt/web/EgovUserManageController.java +++ b/src/main/java/itn/let/uss/umt/web/EgovUserManageController.java @@ -1788,10 +1788,10 @@ public class EgovUserManageController { paginationInfo.setTotalRecordCount(resultList.size() > 0 ? ((MjonMsgVO)resultList.get(0)).getTotCnt() : 0); model.addAttribute("paginationInfo", paginationInfo); - String msgGroupSCntSum = "0"; //정상수신 총 건수 합계 - String totSPriceSum = "0"; //정상수신 총 금액 합계 - String msgGroupFWCntSum = "0"; //실패대기 총 건수 합계 - String totFWPriceSum = "0"; //실패대기 총 금액 합계 + String msgGroupSCntSum = "0"; //정상수신 총 건수 합계 + String totSPriceSum = "0"; //정상수신 총 금액 합계 + String msgGroupFWCntSum = "0"; //실패대기 총 건수 합계 + String totFWPriceSum = "0"; //실패대기 총 금액 합계 if(resultList.size() > 0) { @@ -1809,10 +1809,10 @@ public class EgovUserManageController { //단문 건수 및 금액 변수 처리 - String msgSmsGroupSCntSum = "0"; //정상수신 총 건수 합계 - String totSmsSPriceSum = "0"; //정상수신 총 금액 합계 - String msgSmsGroupFWCntSum = "0"; //실패대기 총 건수 합계 - String totSmsFWPriceSum = "0"; //실패대기 총 금액 합계 + String msgSmsGroupSCntSum = "0"; //정상수신 총 건수 합계 + String totSmsSPriceSum = "0"; //정상수신 총 금액 합계 + String msgSmsGroupFWCntSum = "0"; //실패대기 총 건수 합계 + String totSmsFWPriceSum = "0"; //실패대기 총 금액 합계 if(resultSmsList.size() > 0) { @@ -1830,10 +1830,10 @@ public class EgovUserManageController { //장문 건수 및 금액 변수 처리 - String msgLmsGroupSCntSum = "0"; //정상수신 총 건수 합계 - String totLmsSPriceSum = "0"; //정상수신 총 금액 합계 - String msgLmsGroupFWCntSum = "0"; //실패대기 총 건수 합계 - String totLmsFWPriceSum = "0"; //실패대기 총 금액 합계 + String msgLmsGroupSCntSum = "0"; //정상수신 총 건수 합계 + String totLmsSPriceSum = "0"; //정상수신 총 금액 합계 + String msgLmsGroupFWCntSum = "0"; //실패대기 총 건수 합계 + String totLmsFWPriceSum = "0"; //실패대기 총 금액 합계 if(resultLmsList.size() > 0) { @@ -1851,10 +1851,10 @@ public class EgovUserManageController { //그림 건수 및 금액 변수 처리 - String msgMmsGroupSCntSum = "0"; //정상수신 총 건수 합계 - String totMmsSPriceSum = "0"; //정상수신 총 금액 합계 - String msgMmsGroupFWCntSum = "0"; //실패대기 총 건수 합계 - String totMmsFWPriceSum = "0"; //실패대기 총 금액 합계 + String msgMmsGroupSCntSum = "0"; //정상수신 총 건수 합계 + String totMmsSPriceSum = "0"; //정상수신 총 금액 합계 + String msgMmsGroupFWCntSum = "0"; //실패대기 총 건수 합계 + String totMmsFWPriceSum = "0"; //실패대기 총 금액 합계 if(resultMmsList.size() > 0) { diff --git a/src/main/java/itn/let/utl/sim/service/EgovClntInfo.java b/src/main/java/itn/let/utl/sim/service/EgovClntInfo.java index 267a6952..c08fe021 100644 --- a/src/main/java/itn/let/utl/sim/service/EgovClntInfo.java +++ b/src/main/java/itn/let/utl/sim/service/EgovClntInfo.java @@ -32,7 +32,7 @@ public class EgovClntInfo { */ public static String getClntIP(HttpServletRequest request) throws Exception { - String ip = request.getHeader("X-Forwarded-For"); + String ip = request.getHeader("X-Forwarded-For") == null ? request.getHeader("X-Forwarded-For") : request.getHeader("X-Forwarded-For").replaceAll("10.12.107.11", "").replaceAll(",", "").trim(); if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { ip = request.getHeader("Proxy-Client-IP"); @@ -62,7 +62,7 @@ public class EgovClntInfo { // IP주소 //String ipAddr = request.getRemoteAddr(); - String ip = request.getHeader("X-Forwarded-For"); + String ip = request.getHeader("X-Forwarded-For") == null ? request.getHeader("X-Forwarded-For") : request.getHeader("X-Forwarded-For").replaceAll("10.12.107.11", "").replaceAll(",", "").trim(); if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { ip = request.getHeader("Proxy-Client-IP"); diff --git a/src/main/java/itn/web/ContentController.java b/src/main/java/itn/web/ContentController.java index e9de9b30..2ef62575 100644 --- a/src/main/java/itn/web/ContentController.java +++ b/src/main/java/itn/web/ContentController.java @@ -367,7 +367,7 @@ public class ContentController{ StringBuilder sb = new StringBuilder(); try { - String ipAddress = request.getHeader("X-Forwarded-For"); + String ipAddress = request.getHeader("X-Forwarded-For") == null ? request.getHeader("X-Forwarded-For") : request.getHeader("X-Forwarded-For").replaceAll("10.12.107.11", "").replaceAll(",", "").trim(); if (ipAddress == null) { ipAddress = request.getRemoteAddr(); } @@ -559,7 +559,7 @@ public class ContentController{ int ignoreIpCnt = 0; // 0:0:0:0:0:0:0:1 - String ipAddress = request.getHeader("X-Forwarded-For"); + String ipAddress = request.getHeader("X-Forwarded-For") == null ? request.getHeader("X-Forwarded-For") : request.getHeader("X-Forwarded-For").replaceAll("10.12.107.11", "").replaceAll(",", "").trim(); if (ipAddress == null) { ipAddress = request.getRemoteAddr(); } @@ -598,7 +598,7 @@ public class ContentController{ modelAndView.setViewName("jsonView"); // 0:0:0:0:0:0:0:1 - String ipAddress = request.getHeader("X-Forwarded-For"); + String ipAddress = request.getHeader("X-Forwarded-For") == null ? request.getHeader("X-Forwarded-For") : request.getHeader("X-Forwarded-For").replaceAll("10.12.107.11", "").replaceAll(",", "").trim(); if (ipAddress == null) { ipAddress = request.getRemoteAddr(); } diff --git a/src/main/java/itn/web/MainController.java b/src/main/java/itn/web/MainController.java index f92b5923..4b27ca67 100644 --- a/src/main/java/itn/web/MainController.java +++ b/src/main/java/itn/web/MainController.java @@ -1046,7 +1046,8 @@ public class MainController { Date currentTime = new Date (); String mTime = mSimpleDateFormat.format ( currentTime ); HttpServletRequest req = ((ServletRequestAttributes)RequestContextHolder.currentRequestAttributes()).getRequest(); - String ip = req.getHeader("X-FORWARDED-FOR"); + /* String ip = req.getHeader("X-FORWARDED-FOR"); */ + String ip = EgovClntInfo.getClntIP(req); if (ip == null){ ip = req.getRemoteAddr();} loginLog.setLoginIp(ip); @@ -1235,7 +1236,8 @@ public class MainController { Date currentTime = new Date (); String mTime = mSimpleDateFormat.format ( currentTime ); HttpServletRequest req = ((ServletRequestAttributes)RequestContextHolder.currentRequestAttributes()).getRequest(); - String ip = req.getHeader("X-FORWARDED-FOR"); + /* String ip = req.getHeader("X-FORWARDED-FOR"); */ + String ip = EgovClntInfo.getClntIP(req); if (ip == null){ ip = req.getRemoteAddr();} loginLog.setLoginIp(ip); @@ -1292,7 +1294,7 @@ public class MainController { // 차단IP 체크 START { int ignoreIpCnt = 0; - String ipAddress = request.getHeader("X-Forwarded-For"); + String ipAddress = request.getHeader("X-Forwarded-For") == null ? request.getHeader("X-Forwarded-For") : request.getHeader("X-Forwarded-For").replaceAll("10.12.107.11", "").replaceAll(",", "").trim(); if (ipAddress == null) { ipAddress = request.getRemoteAddr(); } @@ -2628,7 +2630,7 @@ public class MainController { try { - String ipAddress = request.getHeader("X-Forwarded-For"); + String ipAddress = request.getHeader("X-Forwarded-For") == null ? request.getHeader("X-Forwarded-For") : request.getHeader("X-Forwarded-For").replaceAll("10.12.107.11", "").replaceAll(",", "").trim(); if (ipAddress == null) { ipAddress = request.getRemoteAddr(); System.out.println("+++++++++++++ ipAddress ::: "+ipAddress); @@ -2724,7 +2726,7 @@ public class MainController { String ip = ""; try { - ip = request.getHeader("X-Forwarded-For"); + ip = request.getHeader("X-Forwarded-For") == null ? request.getHeader("X-Forwarded-For") : request.getHeader("X-Forwarded-For").replaceAll("10.12.107.11", "").replaceAll(",", "").trim(); //logger.info("> X-FORWARDED-FOR : " + ip); //System.out.println("> X-FORWARDED-FOR : " + ip); diff --git a/src/main/resources/egovframework/egovProps/globals_local.properties b/src/main/resources/egovframework/egovProps/globals_local.properties index 6e981d7a..52b711f1 100644 --- a/src/main/resources/egovframework/egovProps/globals_local.properties +++ b/src/main/resources/egovframework/egovProps/globals_local.properties @@ -28,7 +28,8 @@ Globals.Env = local # mysql Globals.DriverClassName=com.mysql.jdbc.Driver -Globals.Url=jdbc:mysql://192.168.0.125:3306/mjon +#Globals.Url=jdbc:mysql://192.168.0.125:3306/mjon +Globals.Url=jdbc:mysql://119.193.215.98:3306/mjon Globals.UserName= mjonUr #Globals.Url=jdbc:mysql://192.168.0.125:3306/mjon_20230221 #Globals.UserName= mjonUr_20230221 diff --git a/src/main/resources/egovframework/spring/com/context-datasource.xml b/src/main/resources/egovframework/spring/com/context-datasource.xml index d471ef0f..775f8c91 100644 --- a/src/main/resources/egovframework/spring/com/context-datasource.xml +++ b/src/main/resources/egovframework/spring/com/context-datasource.xml @@ -1,6 +1,9 @@ + xmlns:util="http://www.springframework.org/schema/util" + xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd + http://www.springframework.org/schema/util + http://www.springframework.org/schema/util/spring-util-4.0.xsd"> + 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 1b556b37..6b13e13f 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 @@ -1043,6 +1043,47 @@ + + + - SELECT a.SEND_DATE AS regDate - , a.send_cnt AS sendCount - , a.success_cnt AS successCount - , DATE_FORMAT(a.regist_pnttm, '%H:%i:%s') AS registPnttm - /* - , a.regist_pnttm AS registPnttm - */ - , COUNT(a.SEND_DATE) OVER() AS totCnt /** 전체 건수 */ - FROM mj_sttst_msg a - WHERE 1=1 - AND + SELECT + a.SEND_DATE AS regDate + , IFNULL(a.send_cnt, 0) AS sendCount + , IFNULL(a.API_SEND_CNT, 0) AS aSendCount + , IFNULL(a.send_cnt, 0) + IFNULL(a.API_SEND_CNT, 0) AS totalSendCount + + , IFNULL(a.success_cnt, 0) AS successCount + , IFNULL(a.API_SUCCESS_CNT, 0) AS aSuccessCount + , IFNULL(a.success_cnt, 0) + IFNULL(a.API_SUCCESS_CNT, 0) AS totalSuccessCount - - AND = #ntceBgnde# ]]> - - + , IFNULL(ROUND(((IFNULL(a.success_cnt, 0) + IFNULL(a.API_SUCCESS_CNT, 0)) / (IFNULL(a.send_cnt, 0) + IFNULL(a.API_SEND_CNT, 0))) * 100), 0) AS rateTotalSuccessCount + , IFNULL(ROUND((a.success_cnt / a.send_cnt ) * 100), 0) AS rateSuccessCount + , IFNULL(ROUND((a.API_SUCCESS_CNT / a.API_SEND_CNT ) * 100), 0) AS rateApiSuccessCount + + , DATE_FORMAT(a.regist_pnttm, '%H:%i:%s') AS registPnttm + , COUNT(a.SEND_DATE) OVER() AS totCnt /** 전체 건수 */ + FROM + mj_sttst_msg a + WHERE 1=1 + AND + + + AND = #ntceBgnde# ]]> + + + AND - - + + + + + AND a.send_cnt != 0 + + + AND a.API_SEND_CNT != 0 + + + + AND (a.send_cnt != 0 || a.API_SEND_CNT != 0) + + ORDER BY a.SEND_DATE DESC LIMIT #recordCountPerPage# OFFSET #firstIndex# @@ -5085,16 +5212,29 @@ diff --git a/src/main/resources/egovframework/sqlmap/let/sttst/MjonSttstData_SQL_mysql.xml b/src/main/resources/egovframework/sqlmap/let/sttst/MjonSttstData_SQL_mysql.xml index 67221b75..a217797f 100644 --- a/src/main/resources/egovframework/sqlmap/let/sttst/MjonSttstData_SQL_mysql.xml +++ b/src/main/resources/egovframework/sqlmap/let/sttst/MjonSttstData_SQL_mysql.xml @@ -8,176 +8,251 @@ - INSERT INTO mj_sttst_msg - (send_date, send_cnt, success_cnt, regist_pnttm) + INSERT INTO MJ_STTST_MSG + ( + send_date + , send_cnt + , success_cnt + , API_SEND_CNT + , API_SUCCESS_CNT + , regist_pnttm + ) - select aa.regDate - , aa.sendCount - , aa.successCount + SELECT + aa.regDate + , aa.hSendCount + , aa.hSuccessCount + , aa.aSendCount + , aa.aSuccessCount , now() - - from ( - SELECT - M2.regDate , - SUM(M2.sendCount) AS sendCount , - SUM(M2.successCount) AS successCount - - FROM ( SELECT - M.REQ_DATE AS regDate - /*발송일*/ - - , IFNULL(M.MSG_GROUP_CNT, 0) AS sendCount - /*발송건수*/ - - , MSG_GROUP_ID - - , - (SELECT COUNT(0) - FROM MJ_MSG_DATA A - WHERE A.USER_ID NOT IN ('hftest', - 'itntest', - 'imotest', - 'itntestBatch') - AND A.RESERVE_C_YN = 'N' - AND A.MSG_GROUP_ID = M.MSG_GROUP_ID - AND (CASE - WHEN A.AGENT_CODE = '01' AND (A.RSLT_CODE = '100' AND (A.RSLT_CODE2 = '0')) - THEN 'S' - WHEN A.AGENT_CODE = '02' AND (A.RSLT_CODE = '0') - THEN 'S' - WHEN A.AGENT_CODE = '03' AND (A.RSLT_CODE = '100' OR A.RSLT_CODE = '101' OR A.RSLT_CODE = '110' OR A.RSLT_CODE = '800') - THEN 'S' - WHEN A.AGENT_CODE = '04' AND (A.RSLT_CODE = '4100' OR A.RSLT_CODE = '6600') - THEN 'S' - WHEN A.AGENT_CODE = '05' AND (A.RSLT_CODE = '1000' OR A.RSLT_CODE = '1001') - THEN 'S' - WHEN A.AGENT_CODE = '07' AND (A.RSLT_CODE = '6' OR A.RSLT_CODE = '1000') - THEN 'S' - WHEN A.AGENT_CODE = '08' AND (A.RSLT_CODE = '1000' OR A.RSLT_CODE = '1001') - THEN 'S' - WHEN A.AGENT_CODE = '09' AND (A.RSLT_CODE = '1000' OR A.RSLT_CODE = '1001') - THEN 'S' - WHEN ( - A.RSLT_CODE IS NULL - AND A.RSLT_CODE2 IS NULL - AND A.SENT_DATE IS NULL - AND A.RSLT_DATE IS NULL - ) - THEN 'W' - ELSE 'F' - END ) = 'S' - ) - AS successCount - /*성공건수*/ - - FROM ( SELECT DATE_FORMAT(P.REQ_DATE, '%Y-%m-%d') AS REQ_DATE , - SUM(P.MSG_GROUP_CNT) AS MSG_GROUP_CNT , - P.MSG_GROUP_ID - FROM MJ_MSG_GROUP_DATA P - WHERE USER_ID NOT IN ('hftest', - 'itntest', - 'imotest', - 'itntestBatch') - AND P.RESERVE_C_YN = 'N' - AND P.req_date > DATE_ADD(now(), interval -14 day) - GROUP BY P.MSG_GROUP_ID - ) - M - ) - M2 - GROUP BY M2.regDate - )aa - on DUPLICATE KEY UPDATE - send_cnt=aa.sendCount - , success_cnt=aa.successCount - , regist_pnttm=now() - + FROM( + SELECT + M2.regDate + , SUM(M2.hSendCount) AS hSendCount + , SUM(M2.hSuccessCount) AS hSuccessCount + , SUM(M2.aSendCount) AS aSendCount + , SUM(M2.aSuccessCount) AS aSuccessCount + + FROM( + SELECT + M.REQ_DATE AS regDate /*발송일*/ + , IFNULL(M.MSG_GROUP_CNT, 0) AS sendCount /*발송건수*/ + , M.aSendCount /*API 발송건수*/ + , M.hSendCount /*홈페이지 발송건수*/ + , MSG_GROUP_ID + , (SELECT + COUNT(0) + FROM + MJ_MSG_DATA A + WHERE 1=1 + AND A.USER_ID NOT IN ('hftest','itntest','imotest','itntestBatch') + AND A.RESERVE_C_YN = 'N' + AND A.MSG_GROUP_ID = M.MSG_GROUP_ID + AND M.SEND_KIND = 'H' + AND ( + CASE + WHEN A.AGENT_CODE = '01' AND (A.RSLT_CODE = '100' AND (A.RSLT_CODE2 = '0')) + THEN 'S' + WHEN A.AGENT_CODE = '02' AND (A.RSLT_CODE = '0') + THEN 'S' + WHEN A.AGENT_CODE = '03' AND (A.RSLT_CODE = '100' OR A.RSLT_CODE = '101' OR A.RSLT_CODE = '110' OR A.RSLT_CODE = '800') + THEN 'S' + WHEN A.AGENT_CODE = '04' AND (A.RSLT_CODE = '4100' OR A.RSLT_CODE = '6600') + THEN 'S' + WHEN A.AGENT_CODE = '05' AND (A.RSLT_CODE = '1000' OR A.RSLT_CODE = '1001') + THEN 'S' + WHEN A.AGENT_CODE = '07' AND (A.RSLT_CODE = '6' OR A.RSLT_CODE = '1000') + THEN 'S' + WHEN A.AGENT_CODE = '08' AND (A.RSLT_CODE = '1000' OR A.RSLT_CODE = '1001') + THEN 'S' + WHEN A.AGENT_CODE = '09' AND (A.RSLT_CODE = '1000' OR A.RSLT_CODE = '1001') + THEN 'S' + WHEN (A.RSLT_CODE IS NULL AND A.RSLT_CODE2 IS NULL AND A.SENT_DATE IS NULL AND A.RSLT_DATE IS NULL ) + THEN 'W' + ELSE 'F' + END + ) = 'S' + ) AS hSuccessCount /*홈페이지 성공건수*/ + , (SELECT + COUNT(0) + FROM + MJ_MSG_DATA A + WHERE 1=1 + AND A.USER_ID NOT IN ('hftest','itntest','imotest','itntestBatch') + AND A.RESERVE_C_YN = 'N' + AND A.MSG_GROUP_ID = M.MSG_GROUP_ID + AND M.SEND_KIND = 'A' + AND ( + CASE + WHEN A.AGENT_CODE = '01' AND (A.RSLT_CODE = '100' AND (A.RSLT_CODE2 = '0')) + THEN 'S' + WHEN A.AGENT_CODE = '02' AND (A.RSLT_CODE = '0') + THEN 'S' + WHEN A.AGENT_CODE = '03' AND (A.RSLT_CODE = '100' OR A.RSLT_CODE = '101' OR A.RSLT_CODE = '110' OR A.RSLT_CODE = '800') + THEN 'S' + WHEN A.AGENT_CODE = '04' AND (A.RSLT_CODE = '4100' OR A.RSLT_CODE = '6600') + THEN 'S' + WHEN A.AGENT_CODE = '05' AND (A.RSLT_CODE = '1000' OR A.RSLT_CODE = '1001') + THEN 'S' + WHEN A.AGENT_CODE = '07' AND (A.RSLT_CODE = '6' OR A.RSLT_CODE = '1000') + THEN 'S' + WHEN A.AGENT_CODE = '08' AND (A.RSLT_CODE = '1000' OR A.RSLT_CODE = '1001') + THEN 'S' + WHEN A.AGENT_CODE = '09' AND (A.RSLT_CODE = '1000' OR A.RSLT_CODE = '1001') + THEN 'S' + WHEN (A.RSLT_CODE IS NULL AND A.RSLT_CODE2 IS NULL AND A.SENT_DATE IS NULL AND A.RSLT_DATE IS NULL ) + THEN 'W' + ELSE 'F' + END ) = 'S' + ) AS aSuccessCount /*API 성공건수*/ + FROM( + SELECT + DATE_FORMAT(P.REQ_DATE, '%Y-%m-%d') AS REQ_DATE + , SUM(P.MSG_GROUP_CNT) AS MSG_GROUP_CNT + , P.MSG_GROUP_ID + , P.SEND_KIND + , IF(P.SEND_KIND = 'A', SUM(P.MSG_GROUP_CNT), 0) AS aSendCount + , IF(P.SEND_KIND = 'H', SUM(P.MSG_GROUP_CNT), 0) AS hSendCount + FROM + MJ_MSG_GROUP_DATA P + WHERE 1=1 + AND USER_ID NOT IN ('hftest', 'itntest', 'imotest', 'itntestBatch') + AND P.RESERVE_C_YN = 'N' + AND P.req_date > DATE_ADD(now(), interval -14 day) + GROUP BY + P.MSG_GROUP_ID + )M + )M2 + GROUP BY M2.regDate + )aa + ON DUPLICATE KEY UPDATE + send_cnt =aa.hSendCount + , success_cnt =aa.hSuccessCount + , API_SEND_CNT =aa.aSendCount + , API_SUCCESS_CNT =aa.aSuccessCount + , regist_pnttm =now() - INSERT INTO mj_sttst_msg - (send_date, send_cnt, success_cnt, regist_pnttm) + INSERT INTO MJ_STTST_MSG + ( + send_date + , send_cnt + , success_cnt + , API_SEND_CNT + , API_SUCCESS_CNT + , regist_pnttm + ) - select aa.regDate - , aa.sendCount - , aa.successCount + SELECT + aa.regDate + , aa.hSendCount + , aa.hSuccessCount + , aa.aSendCount + , aa.aSuccessCount , now() - - from ( - SELECT - M2.regDate , - SUM(M2.sendCount) AS sendCount , - SUM(M2.successCount) AS successCount - - FROM ( SELECT - M.REQ_DATE AS regDate - /*발송일*/ - - , IFNULL(M.MSG_GROUP_CNT, 0) AS sendCount - /*발송건수*/ - - , MSG_GROUP_ID - - , (SELECT COUNT(0) - FROM MJ_MSG_DATA A - WHERE A.USER_ID NOT IN ('hftest', - 'itntest', - 'imotest', - 'itntestBatch') - AND A.RESERVE_C_YN = 'N' - AND A.MSG_GROUP_ID = M.MSG_GROUP_ID - AND ( - CASE - WHEN A.AGENT_CODE = '01' AND (A.RSLT_CODE = '100' AND(A.RSLT_CODE2 = '0')) - THEN 'S' - WHEN A.AGENT_CODE = '02' AND (A.RSLT_CODE = '0') - THEN 'S' - WHEN A.AGENT_CODE = '03' AND (A.RSLT_CODE = '100' OR A.RSLT_CODE = '101' OR A.RSLT_CODE = '110' OR A.RSLT_CODE = '800') - THEN 'S' - WHEN A.AGENT_CODE = '04' AND (A.RSLT_CODE = '4100' OR A.RSLT_CODE = '6600') - THEN 'S' - WHEN A.AGENT_CODE = '05' AND (A.RSLT_CODE = '1000' OR A.RSLT_CODE = '1001') - THEN 'S' - WHEN A.AGENT_CODE = '07' AND (A.RSLT_CODE = '6' OR A.RSLT_CODE = '1000') - THEN 'S' - WHEN A.AGENT_CODE = '08' AND (A.RSLT_CODE = '1000' OR A.RSLT_CODE = '1001') - THEN 'S' - WHEN A.AGENT_CODE = '09' AND (A.RSLT_CODE = '1000' OR A.RSLT_CODE = '1001') - THEN 'S' - WHEN ( - A.RSLT_CODE IS NULL - AND A.RSLT_CODE2 IS NULL - AND A.SENT_DATE IS NULL - AND A.RSLT_DATE IS NULL - ) - THEN 'W' - ELSE 'F' - END ) = 'S' - ) - AS successCount - /*성공건수*/ - - FROM ( SELECT DATE_FORMAT(P.REQ_DATE, '%Y-%m-%d') AS REQ_DATE , - SUM(P.MSG_GROUP_CNT) AS MSG_GROUP_CNT , - P.MSG_GROUP_ID - FROM MJ_MSG_GROUP_DATA P - WHERE USER_ID NOT IN ('hftest', - 'itntest', - 'imotest', - 'itntestBatch') - AND P.RESERVE_C_YN = 'N' - GROUP BY P.MSG_GROUP_ID - ) - M - ) - M2 - GROUP BY M2.regDate - )aa - on DUPLICATE KEY UPDATE - send_cnt=aa.sendCount - , success_cnt=aa.successCount - , regist_pnttm=now() - + FROM( + SELECT + M2.regDate + , SUM(M2.sendCount) AS sendCount + , SUM(M2.successCount) AS successCount + FROM( + SELECT + M.REQ_DATE AS regDate /*발송일*/ + , IFNULL(M.MSG_GROUP_CNT, 0) AS sendCount /*발송건수*/ + , M.aSendCount /*API 발송건수*/ + , M.hSendCount /*홈페이지 발송건수*/ + , MSG_GROUP_ID + , (SELECT + COUNT(0) + FROM + MJ_MSG_DATA A + WHERE 1=1 + AND A.USER_ID NOT IN ('hftest','itntest','imotest','itntestBatch') + AND A.RESERVE_C_YN = 'N' + AND A.MSG_GROUP_ID = M.MSG_GROUP_ID + AND M.SEND_KIND = 'H' + AND ( + CASE + WHEN A.AGENT_CODE = '01' AND (A.RSLT_CODE = '100' AND (A.RSLT_CODE2 = '0')) + THEN 'S' + WHEN A.AGENT_CODE = '02' AND (A.RSLT_CODE = '0') + THEN 'S' + WHEN A.AGENT_CODE = '03' AND (A.RSLT_CODE = '100' OR A.RSLT_CODE = '101' OR A.RSLT_CODE = '110' OR A.RSLT_CODE = '800') + THEN 'S' + WHEN A.AGENT_CODE = '04' AND (A.RSLT_CODE = '4100' OR A.RSLT_CODE = '6600') + THEN 'S' + WHEN A.AGENT_CODE = '05' AND (A.RSLT_CODE = '1000' OR A.RSLT_CODE = '1001') + THEN 'S' + WHEN A.AGENT_CODE = '07' AND (A.RSLT_CODE = '6' OR A.RSLT_CODE = '1000') + THEN 'S' + WHEN A.AGENT_CODE = '08' AND (A.RSLT_CODE = '1000' OR A.RSLT_CODE = '1001') + THEN 'S' + WHEN A.AGENT_CODE = '09' AND (A.RSLT_CODE = '1000' OR A.RSLT_CODE = '1001') + THEN 'S' + WHEN (A.RSLT_CODE IS NULL AND A.RSLT_CODE2 IS NULL AND A.SENT_DATE IS NULL AND A.RSLT_DATE IS NULL ) + THEN 'W' + ELSE 'F' + END + ) = 'S' + ) AS hSuccessCount /*홈페이지 성공건수*/ + , (SELECT + COUNT(0) + FROM + MJ_MSG_DATA A + WHERE 1=1 + AND A.USER_ID NOT IN ('hftest','itntest','imotest','itntestBatch') + AND A.RESERVE_C_YN = 'N' + AND A.MSG_GROUP_ID = M.MSG_GROUP_ID + AND M.SEND_KIND = 'A' + AND ( + CASE + WHEN A.AGENT_CODE = '01' AND (A.RSLT_CODE = '100' AND (A.RSLT_CODE2 = '0')) + THEN 'S' + WHEN A.AGENT_CODE = '02' AND (A.RSLT_CODE = '0') + THEN 'S' + WHEN A.AGENT_CODE = '03' AND (A.RSLT_CODE = '100' OR A.RSLT_CODE = '101' OR A.RSLT_CODE = '110' OR A.RSLT_CODE = '800') + THEN 'S' + WHEN A.AGENT_CODE = '04' AND (A.RSLT_CODE = '4100' OR A.RSLT_CODE = '6600') + THEN 'S' + WHEN A.AGENT_CODE = '05' AND (A.RSLT_CODE = '1000' OR A.RSLT_CODE = '1001') + THEN 'S' + WHEN A.AGENT_CODE = '07' AND (A.RSLT_CODE = '6' OR A.RSLT_CODE = '1000') + THEN 'S' + WHEN A.AGENT_CODE = '08' AND (A.RSLT_CODE = '1000' OR A.RSLT_CODE = '1001') + THEN 'S' + WHEN A.AGENT_CODE = '09' AND (A.RSLT_CODE = '1000' OR A.RSLT_CODE = '1001') + THEN 'S' + WHEN (A.RSLT_CODE IS NULL AND A.RSLT_CODE2 IS NULL AND A.SENT_DATE IS NULL AND A.RSLT_DATE IS NULL ) + THEN 'W' + ELSE 'F' + END ) = 'S' + ) AS aSuccessCount /*API 성공건수*/ + FROM( + SELECT + DATE_FORMAT(P.REQ_DATE, '%Y-%m-%d') AS REQ_DATE + , SUM(P.MSG_GROUP_CNT) AS MSG_GROUP_CNT + , P.MSG_GROUP_ID + , P.SEND_KIND + , IF(P.SEND_KIND = 'A', SUM(P.MSG_GROUP_CNT), 0) AS aSendCount + , IF(P.SEND_KIND = 'H', SUM(P.MSG_GROUP_CNT), 0) AS hSendCount + FROM + MJ_MSG_GROUP_DATA P + WHERE 1=1 + AND USER_ID NOT IN ('hftest','itntest','imotest','itntestBatch') + AND P.RESERVE_C_YN = 'N' + GROUP BY + P.MSG_GROUP_ID + )M + )M2 + GROUP BY M2.regDate + )aa + ON DUPLICATE KEY UPDATE + send_cnt =aa.hSendCount + , success_cnt =aa.hSuccessCount + , API_SEND_CNT =aa.aSendCount + , API_SUCCESS_CNT =aa.aSuccessCount + , regist_pnttm =now() 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 502c3ace..0477dc32 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 @@ -247,7 +247,7 @@ WHEN M.grdSetNo = 9 THEN 'orange' WHEN M.grdSetNo = 10 THEN 'green' WHEN M.grdSetNo = 11 THEN 'yellow' - WHEN M.grdSetNo = 112 THEN 'white' + WHEN M.grdSetNo = 12 THEN 'white' END grdSetIcon , M.grdDate , M.totAmt @@ -319,7 +319,7 @@ , IFNULL(ROUND(SUM(R.TRNSF_CASH)), 0) AS REFUND_SUM , (SUM(S.AMT) - IFNULL(ROUND(SUM(R.TRNSF_CASH)), 0) - IFNULL(SS.EVENT_FRST_CASH + ROUND(SS.EVENT_FRST_CASH / 10), 0)) AS AMT_SUM , ( - SELECT IFNULL(MIN(S1.GRD_SET_NO), 12) FROM MJ_MBER_GRD_SETTING S1 WHERE S1.STD_AMT <= (SUM(S.AMT) - IFNULL(ROUND(SUM(R.TRNSF_CASH)), 0) - IFNULL(SS.EVENT_FRST_CASH + ROUND(SS.EVENT_FRST_CASH / 10), 0)) + SELECT IFNULL(MIN(S1.GRD_SET_NO), (SELECT MAX(GRD_SET_NO) FROM MJ_MBER_GRD_SETTING)) FROM MJ_MBER_GRD_SETTING S1 WHERE S1.STD_AMT <= (SUM(S.AMT) - IFNULL(ROUND(SUM(R.TRNSF_CASH)), 0) - 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 @@ -371,7 +371,7 @@ , #picture3Price# , #amt# , #totAmt# - , #grdDate# + , #grdNewDate# , #grdStartDate# , #grdEndDate# , #grdStatus# @@ -394,6 +394,7 @@ , PICTURE3_PRICE = #picture3Price# , AMT = #amt# , TOT_AMT = #totAmt# + , GRD_DATE = #grdNewDate# , EDIT_ID = #editId# , EDIT_DATE = NOW() WHERE @@ -402,7 +403,7 @@ - INSERT INTO MJ_MBER_GRD_INFO + INSERT INTO MJ_MBER_GRD_INFO ( MBER_ID , GRD_SET_NO @@ -423,13 +424,13 @@ , EDIT_DATE ) SELECT - A.MBER_ID - , S.GRD_SET_NO - , S.SHORT_PRICE - , S.LONG_PRICE - , S.PICTURE_PRICE - , S.PICTURE2_PRICE - , S.PICTURE3_PRICE + M.MBER_ID + , M.GRD_SET_NO + , M.SHORT_PRICE + , M.LONG_PRICE + , M.PICTURE_PRICE + , M.PICTURE2_PRICE + , M.PICTURE3_PRICE , 0 , 0 , #grdNewDate# @@ -439,19 +440,81 @@ , '' , NOW() , '' - , NOW() - FROM LETTNGNRLMBER A - INNER JOIN MJ_MBER_GRD_SETTING S - ON S.GRD_SET_NO = 12 - WHERE A.MBER_STTUS = 'Y' - AND MBER_ID NOT IN (SELECT MBER_ID FROM MJ_MBER_GRD_INFO) + , NOW() + FROM ( + SELECT + A.MBER_ID + , S.GRD_SET_NO + , S.SHORT_PRICE + , S.LONG_PRICE + , S.PICTURE_PRICE + , S.PICTURE2_PRICE + , S.PICTURE3_PRICE + , IFNULL(A.BLINE_CODE, 'N') AS blineCode + , IFNULL(A.SPAM_YN, 'N') AS spamYn + , CASE + WHEN + (A.SHORT_PRICE > 0 + AND (B.SHORT_PRICE > A.SHORT_PRICE + OR B.LONG_PRICE > A.LONG_PRICE + OR B.PICTURE_PRICE > A.PICTURE_PRICE + OR B.PICTURE2_PRICE > A.PICTURE2_PRICE + OR B.PICTURE3_PRICE > A.PICTURE3_PRICE) + ) + THEN 'Y' + ELSE 'N' + END isSalePrice + FROM LETTNGNRLMBER A + INNER JOIN MJ_MBER_GRD_SETTING S + ON S.GRD_SET_NO = (SELECT MAX(GRD_SET_NO) FROM MJ_MBER_GRD_SETTING) + JOIN MJ_MBER_SETTING B + WHERE A.MBER_STTUS = 'Y' + AND MBER_ID NOT IN (SELECT MBER_ID FROM MJ_MBER_GRD_INFO) + ) M + WHERE M.isSalePrice = 'N' + AND M.blineCode = 'N' + AND M.spamYn = 'N' - + + + INSERT INTO MJ_MBER_GRD_HIST + ( + MBER_ID + , GRD_SET_NO + , SHORT_PRICE + , LONG_PRICE + , PICTURE_PRICE + , PICTURE2_PRICE + , PICTURE3_PRICE + , AMT + , TOT_AMT + , GRD_DATE + , REG_ID + , REG_DATE + , EDIT_ID + , EDIT_DATE + ) + SELECT + MBER_ID + , GRD_SET_NO + , SHORT_PRICE + , LONG_PRICE + , PICTURE_PRICE + , PICTURE2_PRICE + , PICTURE3_PRICE + , AMT + , TOT_AMT + , GRD_DATE + , REG_ID + , REG_DATE + , EDIT_ID + , EDIT_DATE + FROM MJ_MBER_GRD_INFO + WHERE GRD_STATUS = 'Y' + + + + + + + + + + + + + + + + UPDATE MJ_MBER_GRD_INFO SET + TEMP_YN = #tempYn# + + UPDATE MJ_MBER_GRD_INFO SET @@ -719,6 +833,7 @@ , AMT , TOT_AMT , GRD_DATE + , MOID , REG_ID , REG_DATE , EDIT_ID @@ -735,7 +850,8 @@ , #picture3Price# , #amt# , #totAmt# - , #grdDate# + , #grdNewDate# + , #moid# , #regId# , NOW() , #editId# @@ -744,6 +860,7 @@ + diff --git a/src/main/resources/egovframework/sqlmap/let/sym/log/clg/EgovLoginLog_SQL_Mysql.xml b/src/main/resources/egovframework/sqlmap/let/sym/log/clg/EgovLoginLog_SQL_Mysql.xml index 076970b9..8b0a6571 100644 --- a/src/main/resources/egovframework/sqlmap/let/sym/log/clg/EgovLoginLog_SQL_Mysql.xml +++ b/src/main/resources/egovframework/sqlmap/let/sym/log/clg/EgovLoginLog_SQL_Mysql.xml @@ -1,5 +1,5 @@ - + diff --git a/src/main/resources/egovframework/sqlmap/let/uss/umt/EgovMberManage_SQL_Mysql.xml b/src/main/resources/egovframework/sqlmap/let/uss/umt/EgovMberManage_SQL_Mysql.xml index 73d16063..3a23e02b 100644 --- a/src/main/resources/egovframework/sqlmap/let/uss/umt/EgovMberManage_SQL_Mysql.xml +++ b/src/main/resources/egovframework/sqlmap/let/uss/umt/EgovMberManage_SQL_Mysql.xml @@ -1331,6 +1331,7 @@ AND A.MSG_GROUP_ID = A.msgGroupId AND () = 'S' ) AS successCnt + , MGD.SEND_KIND AS sendKind , MGD.SMS_TXT AS smsTxt , userdata , curState @@ -1451,6 +1452,7 @@ AND A.MSG_GROUP_ID = A.msgGroupId AND () = 'S' ) AS successCnt + , MGD.SEND_KIND AS sendKind , MGD.SMS_TXT AS smsTxt , userdata , curState @@ -1574,6 +1576,7 @@ AND A.MSG_GROUP_ID = A.msgGroupId AND () = 'S' ) AS successCnt + , MGD.SEND_KIND AS sendKind , MGD.SMS_TXT AS smsTxt , userdata , curState diff --git a/src/main/resources/egovframework/sqlmap/let/uss/umt/EgovUserManage_SQL_Mysql.xml b/src/main/resources/egovframework/sqlmap/let/uss/umt/EgovUserManage_SQL_Mysql.xml index 30d1a90d..5de708d5 100644 --- a/src/main/resources/egovframework/sqlmap/let/uss/umt/EgovUserManage_SQL_Mysql.xml +++ b/src/main/resources/egovframework/sqlmap/let/uss/umt/EgovUserManage_SQL_Mysql.xml @@ -533,10 +533,12 @@ diff --git a/src/main/webapp/WEB-INF/decorators.xml b/src/main/webapp/WEB-INF/decorators.xml index 4e221f9d..e4160c4b 100644 --- a/src/main/webapp/WEB-INF/decorators.xml +++ b/src/main/webapp/WEB-INF/decorators.xml @@ -149,6 +149,10 @@ /let/mjo/tax/updateTaxReceiptFileAjax.do + /uss/ion/msg/weekendCsWork.do + /uss/ion/msg/weekendCsWork2.do + /uss/ion/msg/pdfView.do + diff --git a/src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovGnrlUserManage.jsp b/src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovGnrlUserManage.jsp index 6f2e7928..a3d7ab1c 100644 --- a/src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovGnrlUserManage.jsp +++ b/src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovGnrlUserManage.jsp @@ -112,7 +112,7 @@ function getMberStopCashSum() { if (data.isSuccess) { try { var sHtml = ""; - sHtml = "  (" + jsonInfo.userMoneyDay + " : " + jsonInfo.userMoneyDaySum + " / " + jsonInfo.userMoneyYear + "년 누적 : " + jsonInfo.userMoneyYearSum + ")"; + sHtml = "(" + jsonInfo.userMoneyDay + " : " + jsonInfo.userMoneyDaySum + " / " + jsonInfo.userMoneyYear + "년 누적 : " + jsonInfo.userMoneyYearSum + ")"; $("#mberStopCashSumArea").html(sHtml); } catch (error) { console.error(error); @@ -487,8 +487,7 @@ function customLinkPage(mberId){

- 총 건 - + 총

diff --git a/src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovGnrlUserSelectMsgDataListPop.jsp b/src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovGnrlUserSelectMsgDataListPop.jsp index ba4dd3aa..d6f08b20 100644 --- a/src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovGnrlUserSelectMsgDataListPop.jsp +++ b/src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovGnrlUserSelectMsgDataListPop.jsp @@ -120,6 +120,10 @@ function init_date(){ $('#ntceEnddeYYYMMDD').val(''); $('#ntceBgnde').val(''); $('#ntceEndde').val(''); + + $('#searchKeyword').val(''); + $('#sendKind').val('').prop("selected",true); + $('#searchCondition').val('').prop("selected",true); } @@ -342,6 +346,7 @@ function fn_updateSendRealTime(userId, msgGroupId){
+ @@ -361,6 +366,7 @@ function fn_updateSendRealTime(userId, msgGroupId){ + @@ -387,51 +393,93 @@ function fn_updateSendRealTime(userId, msgGroupId){ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + +
방식 단문 장문 그림문자
+ 전체 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
- + + + + + + - - " > - - -   ~ - - " - > - - + + " > + + +   ~ + + " > + + 타임아웃 아이콘 @@ -462,7 +510,7 @@ function fn_updateSendRealTime(userId, msgGroupId){ <%-- --%> <%-- --%> - <%----%> + @@ -482,9 +530,7 @@ function fn_updateSendRealTime(userId, msgGroupId){ 예약 내용 타입 - - - <%--전송사--%> + 방식 스미싱의심 이용정지 발송처리 @@ -495,24 +541,24 @@ function fn_updateSendRealTime(userId, msgGroupId){ - - - + + + - + "> - + - + @@ -525,21 +571,13 @@ function fn_updateSendRealTime(userId, msgGroupId){ - <%-- - - - - - - - --%> /(%) 예약취소 - + 예약 @@ -547,27 +585,7 @@ function fn_updateSendRealTime(userId, msgGroupId){ 즉시 - - - <%-- - - -
-
- -
- - 단문 - 그림(장) - 장문 - -
-
-
-
-
- --%> @@ -612,8 +630,7 @@ function fn_updateSendRealTime(userId, msgGroupId){
- - + @@ -627,30 +644,16 @@ function fn_updateSendRealTime(userId, msgGroupId){ - <%-- + - - + + API + + + 홈페이지 - - - - --%> - <%-- - - - 정상수신 - - - 수신오류 - - - 결과대기 - - - --%> - <%----%> + @@ -702,7 +705,7 @@ function fn_updateSendRealTime(userId, 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 da37f54a..613195f1 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 @@ -60,6 +60,8 @@ tbody tr td.sms_detail:hover .sms_detail_hover {display:-webkit-box;} @@ -125,6 +187,9 @@ value="" > + +     + 누적결제 계산기간 @@ -134,7 +199,13 @@
-

+ +
+
+ +
+ +


@@ -178,9 +249,9 @@
- - - + + <%----%> +
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 e7368612..c727f5b8 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 @@ -36,6 +36,44 @@ @@ -30,20 +27,31 @@ $(document).ready(function(){ } /* $('#searchYear').find('option:contains("${searchVO.ntceBgnde}")').attr("selected",true); */ $('#searchYear').find('option[value="${searchVO.ntceBgnde}"]').attr("selected",true); + + + var selectSendKind = $("#sendKind option:selected").val(); + + if(selectSendKind == "H"){ + $('.all').css('display', 'none'); + $('.api').css('display', 'none'); + setThead(1); + }else if(selectSendKind == "A"){ + $('.all').css('display', 'none'); + $('.homePage').css('display', 'none'); + setThead(1); + }else{ + setThead(3); + } }); - - - function linkPage(){ +function setThead(index){ + $("#sendHead").attr('colspan',index); + $("#successHead").attr('colspan',index); + $("#rateHead").attr('colspan',index); +} + +function linkPage(){ var listForm = document.listForm ; - /* if( $('#ntceBgndeYYYMMDD').val() != '' && $('#ntceEnddeYYYMMDD').val() != '' ){ - var iChkBeginDe = Number($('#ntceBgndeYYYMMDD').val().replaceAll("-", "")); - var iChkEndDe = Number($('#ntceEnddeYYYMMDD').val().replaceAll("-", "")); - if(iChkBeginDe > iChkEndDe || iChkEndDe < iChkBeginDe ){ - alert("검색 시작 일자는 종료 일자 보다 클 수 없습니다."); - return; - } - } */ $('#ntceBgnde').val($('#searchYear option:selected').val()); listForm.submit(); } @@ -63,8 +71,6 @@ $(document).ready(function(){ cursor: pointer; } - - @@ -84,60 +90,95 @@ $(document).ready(function(){
- <%-- - - " > - - -   ~ - - " - > - - - - 타임아웃 아이콘 - - --%> + -

- - (집계 일시 : ${sttstDate}(금일)) -
- <%--
-

-
--%> +
+

+ + (집계 일시 : ${sttstDate}(금일)) + +

+
- - - + + + + + + + + + - - - - + + + + + + + + + + + + + + + - - - - + + + + + + + + + + + + - - + + + +
발송월발송건수성공건수성공율발송일발송건수성공건수성공율
전체WEBAPI전체WEBAPI전체WEBAPI
% + + + + + + + + + + + + + + + % + + % + + % +
@@ -145,5 +186,3 @@ $(document).ready(function(){
- - diff --git a/src/main/webapp/WEB-INF/jsp/uss/ion/msg/pdfView.jsp b/src/main/webapp/WEB-INF/jsp/uss/ion/msg/pdfView.jsp new file mode 100644 index 00000000..da7e1206 --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/uss/ion/msg/pdfView.jsp @@ -0,0 +1,134 @@ +<%-- + Class Name : weekendCsWork.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"%> +<% + response.setHeader("Cache-Control","no-store"); + response.setHeader("Pragma","no-cache"); + response.setDateHeader("Expires",0); + if (request.getProtocol().equals("HTTP/1.1")) response.setHeader("Cache-Control", "no-cache"); +%> + + + + + + + + + +
+ + +     + Page: / +
+ + + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/jsp/uss/ion/msg/weekendCsWork.jsp b/src/main/webapp/WEB-INF/jsp/uss/ion/msg/weekendCsWork.jsp new file mode 100644 index 00000000..a5b52a7e --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/uss/ion/msg/weekendCsWork.jsp @@ -0,0 +1,429 @@ +<%-- + Class Name : weekendCsWork.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"%> +<% + response.setHeader("Cache-Control","no-store"); + response.setHeader("Pragma","no-cache"); + response.setDateHeader("Expires",0); + if (request.getProtocol().equals("HTTP/1.1")) response.setHeader("Cache-Control", "no-cache"); +%> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +주말 cs 리스트 + + + + + + + +
+ + + + + + + " /> + " /> + + +
+ + + + + +
+
+ + + + + + + + + + + + + + + + + + + <%-- --%> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%-- --%> + + + + + + + + + <%-- --%> + + + + + + +
번호아이디회원휴대폰전화번호대표담당자회원<%-- --%>구분<%-- --%>인증여부관리자인증인증자첨부파일관리등록일자
+ + + + + + + + + "> + '); return false;"> + + + "> + + + + "> + + + + "> + + + + "> + + + + + + + + 기업 + + + 개인 + + + + + + + + + + 당사 + + + 대표 + + + 직원 + + + 타사 + + + 본인 + + + 타인 + + + + + 없음 + + + + + + + 발신번호 차단 + + + 인증요청 + + + + + "> + + + 휴대폰 + + + 서류 + + + + + + + + + + + + + + + + + + + + + + + + + + + "> + + +
+
+
+
+
+ +
+ +
+
+ +
+ + + diff --git a/src/main/webapp/WEB-INF/jsp/uss/ion/msg/weekendCsWork2.jsp b/src/main/webapp/WEB-INF/jsp/uss/ion/msg/weekendCsWork2.jsp new file mode 100644 index 00000000..12bae716 --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/uss/ion/msg/weekendCsWork2.jsp @@ -0,0 +1,602 @@ +<%@ 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"%> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +기업회원 신청 정보 + + + + + + + +
+ + " /> + " /> + +
+ + +
+ + + " /> + " /> + + + + + + + + + +
+ + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
번호회원ID유형기업명사업자번호대표자담당자휴대폰사업자재직유형사전API상태등록일관리전체삭제
+ + + + + + + + + + + + + + '); return false;"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Y + + + YY +
대표자명 +
기업이름 +
설립일 +
+ + X + +
+
+<%-- bizno --%> + + + + + + + + + + + + + + + + + <%-- --%> + + + + + + + + + + + +
+
+
+
회원 ID
+
+
+
+
유형
+
+ + + +
+
+
+
기업이름
+
+
+
+
사업자번호
+
+
+
+
대표자 성명
+
+
+
+
담당자 성명
+
+
+
+
휴대폰
+
+
+ <%-- +
+
사업자등록증
+
+
+
+ +
+
재직증명서
+
+
+
--%> +
+
유형
+
+ + + +
+
+
+
상태
+
+ + + +
+
+
+
관리자
+
+ +
+
+
+
등록일
+
+
+
+
+
+
+ +
+
+
+
+
+ +
+ + diff --git a/src/main/webapp/WEB-INF/jsp/uss/ion/msg/weekendCsWorkMain.jsp b/src/main/webapp/WEB-INF/jsp/uss/ion/msg/weekendCsWorkMain.jsp new file mode 100644 index 00000000..e5eef992 --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/uss/ion/msg/weekendCsWorkMain.jsp @@ -0,0 +1,67 @@ +<%-- + Class Name : weekendCsWork.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"%> +<% + response.setHeader("Cache-Control","no-store"); + response.setHeader("Pragma","no-cache"); + response.setDateHeader("Expires",0); + if (request.getProtocol().equals("HTTP/1.1")) response.setHeader("Cache-Control", "no-cache"); +%> + + + + + + + + + +
+
+
+

발신번호 조회

+

화이팅!

+
+ +
+
+ +
+
+

기업회원 신청

+

화이팅!

+
+ +
+ + diff --git a/src/main/webapp/WEB-INF/jsp/web/addr/AddrListAjax.jsp b/src/main/webapp/WEB-INF/jsp/web/addr/AddrListAjax.jsp index c1faadef..3751c4ce 100644 --- a/src/main/webapp/WEB-INF/jsp/web/addr/AddrListAjax.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/addr/AddrListAjax.jsp @@ -214,12 +214,32 @@ function copyAddr() { } //메모 레이어 열 때 메모 데이터 전달 -function memoOpen(comment, id) { +function memoOpen(id) { var form = document.addrMemoForm; form.addrCheck.value=id; - $('#textareaMemo').text(comment); - + + // 메모내용 가져오기 + $.ajax({ + url : "", + type : 'POST', + data : {"addrId" : id}, + dataType:'json', + async: false, + success : function(data, status){ + if(data.isSuccess == true) { + $('#textareaMemo').text(data.addrInfo.addrComment); + } + else { + //alert("Message : " + msg); + } + }, + error: function (e) { + console.log("ERROR : ", e); + alert("에러가 발생했습니다."); + } + }); } + // 메모 저장 function updateMemo() { var form = document.addrMemoForm; @@ -768,7 +788,7 @@ function setAddrDupliClose() {

- diff --git a/src/main/webapp/WEB-INF/jsp/web/event/pay/EventPayView.jsp b/src/main/webapp/WEB-INF/jsp/web/event/pay/EventPayView.jsp index 3100ebdd..9c054452 100644 --- a/src/main/webapp/WEB-INF/jsp/web/event/pay/EventPayView.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/event/pay/EventPayView.jsp @@ -630,7 +630,7 @@ function TabTypePay(obj, tabId) {
  • -
  • +
  • @@ -783,6 +783,8 @@ function TabTypePay(obj, tabId) {

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

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

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

    +

    - 이체 후 충전 확인까지 최대 10분이 소요됩니다.

    +

    - 이체금액에서 부가세 10%가 제외되고 충전됩니다.

    - 계좌번호 문자로 받기(일/3회까지) 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 4b269ce8..781c7254 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 @@ -192,15 +192,16 @@ function pgOpenerPopup(){ var payMethod = ""; document.pgForm.action = "/web/member/pay/PayActionAjax.do"; - if ($currentTab == 0) { - payMethod = "SPAY"; - } else if ($currentTab==1) { + if ($currentTab==0) { payMethod = "CARD"; - } else if($currentTab==2){ + } else if($currentTab==1) { payMethod = "VBANK"; - } else if($currentTab==3){ + } else if($currentTab==2) { payMethod = "BANK"; - } + } else { + payMethod = "SPAY"; + } + $('input[name=payMethod]').val(payMethod); //결제수단 상태 체크 @@ -226,29 +227,37 @@ function pgOpenerPopup(){ // 결제창 호출 if ($currentTab==0) { - // KG 모빌리언스 => SPAY(간편결제) - kgmPayCardRequest(); - } - else if ($currentTab==1) { // 나이스페이 => CARD(카드결제) pg_opener = window.open('', 'pg_opener', "width=790, height=505, left="+popupX+", top="+popupY, "location = no","status= no","toolbars= no"); document.pgForm.method = "post"; document.pgForm.target = "pg_opener" ; document.pgForm.submit(); - } - else if ($currentTab==2) { + } else if ($currentTab==1) { // 전용계좌 - } - else if ($currentTab==3) { + } else if ($currentTab==2) { // KG 모빌리언스 => BANK(즉시이체) kgmPayBankRequest(); - } + } else { + var cnDirect = ""; + if ($currentTab == 3) { + cnDirect = "NAV:00:N"; // 네이버페이 + } else if ($currentTab==4) { + cnDirect = "KKO:00:N"; // 카카오페이 + } else if ($currentTab==5) { + cnDirect = "TOS:00:N"; // 토스페이 + } else if ($currentTab==6) { + cnDirect = "PYC:00:N"; // 페이코 + } + + // KG 모빌리언스 => SPAY(간편결제) + kgmPayCardRequest(cnDirect); + } } //KG 모빌리언스 => CARD -function kgmPayCardRequest() { +function kgmPayCardRequest(cnDirect) { $.ajax({ type: "POST", url: "/web/member/pay/kgmCardEncodeAjax.do", @@ -285,7 +294,7 @@ function kgmPayCardRequest() { form.Termregno.value = data.Termregno; form.APP_SCHEME.value = data.APP_SCHEME; form.CN_FIXCARDCD.value = data.CN_FIXCARDCD; - form.CN_DIRECT.value = data.CN_DIRECT; + form.CN_DIRECT.value = cnDirect; form.CN_INSTALL.value = data.CN_INSTALL; form.Deposit.value = data.Deposit; @@ -808,76 +817,20 @@ function TabTypePay(obj, tabId) { --%>

    충전수단 선택

    -
      -
    • -
    • +
        +
      • -
      • +
      • + +
      • +
      • +
      • +
      -
      +
      - -
      -

      간편결제

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

      - -
      -
      -
      -
      최종 결제금액 :
      -
      -
        -
      • 원(공급가액)
      • -
      • 원(부가세)
      • -
      • 원(최종금액)
      • -
      -
      -
      - -
      -
      -
      - <%--

      - 신용카드 결제가 어려우신 고객께서는 문자온 고객센터(010-8432-9333)를 통해서도 ARS 신용카드 결제를 하실 수 있습니다.

      --%> -

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

      -

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

      -
      -
      -
      - - -
      +

      신용카드

      @@ -1024,6 +977,8 @@ function TabTypePay(obj, tabId) {

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

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

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

      +

      - 이체 후 충전 확인까지 최대 10분이 소요됩니다.

      +

      - 이체금액에서 부가세 10%가 제외되고 충전됩니다.

      - 계좌번호 문자로 받기(일/3회까지) @@ -1038,65 +993,8 @@ function TabTypePay(obj, tabId) { - - <%--

      -

      휴대폰결제

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

      - -
      -
      -
      -
      최종 결제금액 :
      -
      -
        -
      • 원(공급가액)
      • -
      • 원(부가세)
      • -
      • 원(최종금액)
      • -
      -
      -
      - -
      -
      -
      -

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

      -

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

      -

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

      -
      -
      -
      --%> - - -
      +

      즉시이체

      @@ -1152,6 +1050,272 @@ function TabTypePay(obj, tabId) {
      + + +
      +

      간편결제 네이버페이

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

      + +
      +
      +
      +
      최종 결제금액 :
      +
      +
        +
      • 원(공급가액)
      • +
      • 원(부가세)
      • +
      • 원(최종금액)
      • +
      +
      +
      + +
      +
      +
      +

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

      +

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

      +

      - 간편결제 시 세금계산서 및 간이영수증은 제공되지 않습니다.

      +

      - 네이버페이 카드 결제 영수증은 네이버페이를 통해서 발급받으실 수 있습니다.

      +

      - 네이버페이 포인트 사용에 따른 현금영수증 발행은 문자온 캐시 결제과정에서 결제자가 직접 선택하여야만 요청할 수 있습니다.(결제 완료 이후 문자온에서 현금영수증 처리 불가)

      +
      +
      +
      + + + +
      + +

      간편결제 카카오페이

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

      + +
      +
      +
      +
      최종 결제금액 :
      +
      +
        +
      • 원(공급가액)
      • +
      • 원(부가세)
      • +
      • 원(최종금액)
      • +
      +
      +
      + +
      +
      +
      +

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

      +

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

      +

      - 간편결제 시 세금계산서 및 간이영수증은 제공되지 않습니다.

      +

      - 카카오페이 결제에 따른 카드영수증 및 현금영수증은 카카오페이 앱을 통해서만 확인 가능합니다.

      +
      +
      +
      + + + +
      +

      간편결제 토스페이

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

      + +
      +
      +
      +
      최종 결제금액 :
      +
      +
        +
      • 원(공급가액)
      • +
      • 원(부가세)
      • +
      • 원(최종금액)
      • +
      +
      +
      + +
      +
      +
      +

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

      +

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

      +

      - 간편결제 시 세금계산서 및 간이영수증은 제공되지 않습니다.

      +

      - 토스페이 결제에 따른 카드영수증 및 현금영수증은 토스페이 앱을 통해서만 확인 가능합니다.

      +
      +
      +
      + + + +
      +

      간편결제 PAYCO

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

      + +
      +
      +
      +
      최종 결제금액 :
      +
      +
        +
      • 원(공급가액)
      • +
      • 원(부가세)
      • +
      • 원(최종금액)
      • +
      +
      +
      + +
      +
      +
      +

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

      +

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

      +

      - 페이코(PAYCO) 결제 영수증은 페이코를 통해 발급받으실 수 있습니다.

      +
      +
      +
      + +
    diff --git a/src/main/webapp/WEB-INF/jsp/web/kakao/template/at/sample/KakaoAlimtalkSampleTemplateList.jsp b/src/main/webapp/WEB-INF/jsp/web/kakao/template/at/sample/KakaoAlimtalkSampleTemplateList.jsp index 1584d3be..8550f4cc 100644 --- a/src/main/webapp/WEB-INF/jsp/web/kakao/template/at/sample/KakaoAlimtalkSampleTemplateList.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/kakao/template/at/sample/KakaoAlimtalkSampleTemplateList.jsp @@ -97,7 +97,7 @@ function fnTemplateDetail(templateId){
    - +
    diff --git a/src/main/webapp/WEB-INF/jsp/web/main/mainPage.jsp b/src/main/webapp/WEB-INF/jsp/web/main/mainPage.jsp index 84151f72..54420c20 100644 --- a/src/main/webapp/WEB-INF/jsp/web/main/mainPage.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/main/mainPage.jsp @@ -1,6 +1,8 @@ <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> + @@ -15,8 +17,10 @@ var blineCode = "${blineCode}"; $(document).ready(function() { // http => https 로 이동 - httpsRedirect(); - + if(${Env eq 'prod'}){ + httpsRedirect(); + } + // 슬라이드 이미지 변경 //setMainSlideImgChange(); @@ -1172,13 +1176,13 @@ function fn_click_banner_add_stat(bannerMenuCode){
    문자온, 카카오 '알림톡' 서비스 오픈! 문자온 알림톡, 대한민국 최저가 선언! 조건없이 무조건 6.9원! 카카오톡 채널아이디 추가를 하지 않은 이용자에게도 카카오톡 메시지 발송이 가능한 서비스! 알림톡 바로가기 알림톡 도착 kakao 문자온에서 알림톡이 도착하였습니다! 기업전용/1,000자 이하 텍스트 & 이미지/문자 대비 65% 저렴
    -
    문자는 이제, 문자온! 단 한번, 국내 최저가! 인생 최저가! 첫결제 단문 7.5원 장문 32원 그림 59원 이열치열 복날 떠나요 여름여행
    +
    문자는 이제, 문자온! 단 한번, 국내 최저가! 인생 최저가! 첫결제 단문 7.5원 장문 32원 그림 59원 가을이 오는 소리를 들어보세요, 입추 - 더운 여름 입추라니 믿기지가 않지만, 오늘부터 더위가 꺽이길 바라는 마음이 간절해지는 날입니다.
    문자도 보내고! 현금도 챙기는! 문자온만의 특별한 혜택! 결제금액의 2% 포인트 추가 적립! 포인트 1만점 이상 적립 시 현금페이백
    -
    다른 사이트에는 없다! 오직 문자온에만 있다! 최고의 디자이너가 직접 제작하는 그림문자 맞춤제작을 통해 나만의 문자를 디자인 해보세요 summer 여름 휴가 배송 안내 본사 여름 휴가로 인하여 배송 및 고객센터 업무가 진행되지 않는 점 양해 부탁 드립니다. 휴가가 끝나면 정상 영업합니다. 2022.08.03 ~ 08.07 SUN MON TUE WED THU FRI SAT 24 25 26 27 28 29 30 주문마감(울릉도, 제주도, 도서산간지역) 31 1 2 오후 5시 주문마감 3 4 5 6 7 ON몰 여름휴가 8 배송시작 9 10 11 12 13 복날이닭 할인받자! 3천원 할인! ₩12,900 8.11(목)~12(금) 단 2일! 마지막 복날 마지막 찬스 할인받고 복날 치킨 즐기세요! DCCHANCE 해수욕장 숙박권 할인 이벤트 Summer 썸머축제 이벤트 안내 미리 예매만 해도 숙박권 70% 할인 !! 엠제이여행사에서 해수욕장 숙박권를 예매하신 고객분들에게 최고급 호텔숙박권을 무료로 드립니다 70% 할인
    +
    다른 사이트에는 없다! 오직 문자온에만 있다! 최고의 디자이너가 직접 제작하는 그림문자 맞춤제작을 통해 나만의 문자를 디자인 해보세요. 입추맞이 궁궐산책 입추맞이 궁궐 야간 관람 08.05~가을이 끝나기전. 입추맞이 우리가족 여름가을여행 COUPON 15%할인 10가족 추첨, COUPON 30%할인 10가족 추첨, 이벤트기간 : 9.1~9.30. AUTUMN EVENT 가을  정기 세일 50%OFF 이벤트 기간:9.1~9.30
    문자는 이제, 문자온! 선택은 역시 문자온! 문자사이트 선택의 5가지 기준 1. 가격, 속도, 성능, 기능, 보안이 보장되는가? 2. 결제, 정산, 계산서 발행 등 업무가 자동화 되어 있고 편리한가? 3. 최신 IT 기술과 트렌드가 반영되어 있는가? 4. 회원가입 및 발신번호 인증이 쉽고 빠르며, 대량문자를 전송하기에 사용이 편리한가? 5. 매일 문자샘플이 업데이트 되고, CS 및 기술응대가 실시간적으로 이루어지는가?
    diff --git a/src/main/webapp/WEB-INF/jsp/web/msgcampain/excel/MsgExcelDataView.jsp b/src/main/webapp/WEB-INF/jsp/web/msgcampain/excel/MsgExcelDataView.jsp index d2eb4014..71c5edf0 100644 --- a/src/main/webapp/WEB-INF/jsp/web/msgcampain/excel/MsgExcelDataView.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/msgcampain/excel/MsgExcelDataView.jsp @@ -32,6 +32,13 @@ $(document).ready(function(){ //그림문자 샘플 탭 활성화 시키기 TabType2($('.tabType2 li').eq(1), '2'); + $(".tDep2_cateCode a").each(function(index, item){ + + if($(this).text() == "선거"){ + $('.tDep2_cateCode').find('.on').removeClass('on'); + $(this).addClass('on'); + } + }) // 맞춤제작 요청 JSPark => 2023.02.21 추가 //맞춤제작 등록 Popup //customPopup(); @@ -83,11 +90,11 @@ function fnLetterListAjax(index){ if(document.letterForm.searchKeyword.value == ''){ $('.bottom_content .area_total_count').hide(); } - if(form.hashTag.value != ''){ + /* if(form.hashTag.value != ''){ if($('#letterLoad .nodata_box').length > 0){ $('#letterLoad .nodata_box').hide().next('.nodata_box.hashTag').show(); } - } + } */ }); } @@ -117,7 +124,7 @@ function fnPhotoListAjax(index){ form.pageIndex.value = index; var sendData = $(document.letterForm).serializeArray(); //하위 카테고리 - $("#tDep2_depThrCateCode").load("/web/mjon/msgdata/selectCateConfThrDptListAjax.do", sendData ,function(response, status, xhr){ + $("#tDep2_depThrCateCode").load("/web/mjon/msgcampain/selectCateConfThrDptListAjax.do", sendData ,function(response, status, xhr){ if(document.letterForm.searchKeyword.value == ''){ $('.bottom_content .area_total_count').hide(); } diff --git a/src/main/webapp/WEB-INF/jsp/web/pay/PayView.jsp b/src/main/webapp/WEB-INF/jsp/web/pay/PayView.jsp index 52a85233..4b510fb1 100644 --- a/src/main/webapp/WEB-INF/jsp/web/pay/PayView.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/pay/PayView.jsp @@ -471,11 +471,10 @@ function TabTypePay(obj, tabId) {
  • -
  • -
  • +
  • +
  • -
    +
    @@ -636,6 +635,8 @@ function TabTypePay(obj, tabId) {

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

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

    +

    - 이체 후 충전 확인까지 최대 10분이 소요됩니다.

    +

    - 이체금액에서 부가세 10%가 제외되고 충전됩니다.

    - 계좌번호 문자로 받기(일/3회까지) 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 7f8852d3..3d6cf07a 100644 --- a/src/main/webapp/WEB-INF/jsp/web/pay/PayViewV2.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/pay/PayViewV2.jsp @@ -7,7 +7,7 @@ <%@ taglib prefix="ec" uri="/WEB-INF/tld/ecnet_tld.tld"%> @@ -128,16 +128,16 @@ function pgOpenerPopup(){ document.pgForm.action = "/web/member/pay/PayActionAjax.do"; if ($currentTab == 0) { - payMethod = "SPAY"; - } else if ($currentTab == 1) { payMethod = "CARD"; - } else if ($currentTab == 2) { + } else if ($currentTab == 1) { payMethod = "VBANK"; - } else if ($currentTab==3) { + } else if ($currentTab==2) { payMethod = "CELLPHONE"; - } else if ($currentTab==4) { + } else if ($currentTab==3) { payMethod = "BANK"; - } + } else { + payMethod = "SPAY"; + } $('input[name=payMethod]').val(payMethod); //결제수단 상태 체크 @@ -162,29 +162,40 @@ function pgOpenerPopup(){ var popupY = scY + (docHeight - 195) / 2; // 결제창 호출 - if ($currentTab == 0) { - // KG 모빌리언스 => SPAY(간편결제) - kgmPayCardRequest(); - } else if ($currentTab == 1) { + if ($currentTab == 0) { // 나이스페이 => CARD(카드결제) pg_opener = window.open('', 'pg_opener', "width=790, height=505, left="+popupX+", top="+popupY, "location = no","status= no","toolbars= no"); document.pgForm.method = "post"; document.pgForm.target = "pg_opener" ; document.pgForm.submit(); - } else if ($currentTab == 2) { + } else if ($currentTab == 1) { // 전용계좌 - } else if ($currentTab == 3) { + } else if ($currentTab == 2) { // KG 모빌리언스 => MOBILE(휴대폰결제) kgmPayMobileRequest(); - } else if ($currentTab==4) { + } else if ($currentTab==3) { // KG 모빌리언스 => BANK(즉시이체) kgmPayBankRequest(); - } + } else { + var cnDirect = ""; + if ($currentTab == 4) { + cnDirect = "NAV:00:N"; // 네이버페이 + } else if ($currentTab==5) { + cnDirect = "KKO:00:N"; // 카카오페이 + } else if ($currentTab==6) { + cnDirect = "TOS:00:N"; // 토스페이 + } else if ($currentTab==7) { + cnDirect = "PYC:00:N"; // 페이코 + } + + // KG 모빌리언스 => SPAY(간편결제) + kgmPayCardRequest(cnDirect); + } } //KG 모빌리언스 => CARD -function kgmPayCardRequest() { +function kgmPayCardRequest(cnDirect) { $.ajax({ type: "POST", url: "/web/member/pay/kgmCardEncodeAjax.do", @@ -221,7 +232,7 @@ function kgmPayCardRequest() { form.Termregno.value = data.Termregno; form.APP_SCHEME.value = data.APP_SCHEME; form.CN_FIXCARDCD.value = data.CN_FIXCARDCD; - form.CN_DIRECT.value = data.CN_DIRECT; + form.CN_DIRECT.value = cnDirect; form.CN_INSTALL.value = data.CN_INSTALL; form.Deposit.value = data.Deposit; @@ -701,92 +712,20 @@ function getMberGrdChk() {

    충전수단 선택

      -
    • -
    • +
    • - -
    • -
    • +
    • +
    • + +
    • +
    • +
    • +
    -
    - - -
    -

    간편결제

    - - - - - - - - - - - - - - - - - - -
    충전금액 - - <%-- -

    - - - - - --%> -

    - -
    -
    -
    -
    최종 결제금액 :
    -
    -
      -
    • 원(공급가액)
    • -
    • 원(부가세)
    • -
    • 원(최종금액)
    • -
    -
    -
    - -
    -
    -
    - <%--

    - 신용카드 결제가 어려우신 고객께서는 문자온 고객센터(010-8432-9333)를 통해서도 ARS 신용카드 결제를 하실 수 있습니다.

    --%> -

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

    -

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

    -
    -
    -
    - +
    -
    +

    신용카드

    @@ -944,6 +883,8 @@ function getMberGrdChk() {

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

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

    +

    - 이체 후 충전 확인까지 최대 10분이 소요됩니다.

    +

    - 이체금액에서 부가세 10%가 제외되고 충전됩니다.

    - 계좌번호 문자로 받기(일/3회까지) @@ -959,7 +900,7 @@ function getMberGrdChk() { -

    +

    휴대폰결제

    @@ -1023,7 +964,7 @@ function getMberGrdChk() { -
    +

    즉시이체

    @@ -1094,8 +1035,273 @@ function getMberGrdChk() {
    -
    + +
    +

    간편결제 네이버페이

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

    + +
    +
    +
    +
    최종 결제금액 :
    +
    +
      +
    • 원(공급가액)
    • +
    • 원(부가세)
    • +
    • 원(최종금액)
    • +
    +
    +
    + +
    +
    +
    +

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

    +

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

    +

    - 간편결제 시 세금계산서 및 간이영수증은 제공되지 않습니다.

    +

    - 네이버페이 카드 결제 영수증은 네이버페이를 통해서 발급받으실 수 있습니다.

    +

    - 네이버페이 포인트 사용에 따른 현금영수증 발행은 문자온 캐시 결제과정에서 결제자가 직접 선택하여야만 요청할 수 있습니다.(결제 완료 이후 문자온에서 현금영수증 처리 불가)

    +
    +
    +
    + + + +
    + +

    간편결제 카카오페이

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

    + +
    +
    +
    +
    최종 결제금액 :
    +
    +
      +
    • 원(공급가액)
    • +
    • 원(부가세)
    • +
    • 원(최종금액)
    • +
    +
    +
    + +
    +
    +
    +

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

    +

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

    +

    - 간편결제 시 세금계산서 및 간이영수증은 제공되지 않습니다.

    +

    - 카카오페이 결제에 따른 카드영수증 및 현금영수증은 카카오페이 앱을 통해서만 확인 가능합니다.

    +
    +
    +
    + + + +
    +

    간편결제 토스페이

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

    + +
    +
    +
    +
    최종 결제금액 :
    +
    +
      +
    • 원(공급가액)
    • +
    • 원(부가세)
    • +
    • 원(최종금액)
    • +
    +
    +
    + +
    +
    +
    +

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

    +

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

    +

    - 간편결제 시 세금계산서 및 간이영수증은 제공되지 않습니다.

    +

    - 토스페이 결제에 따른 카드영수증 및 현금영수증은 토스페이 앱을 통해서만 확인 가능합니다.

    +
    +
    +
    + + + +
    +

    간편결제 PAYCO

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

    + +
    +
    +
    +
    최종 결제금액 :
    +
    +
      +
    • 원(공급가액)
    • +
    • 원(부가세)
    • +
    • 원(최종금액)
    • +
    +
    +
    + +
    +
    +
    +

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

    +

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

    +

    - 페이코(PAYCO) 결제 영수증은 페이코를 통해 발급받으실 수 있습니다.

    +
    +
    +
    + + +
    @@ -192,8 +193,7 @@
  • #좋은하루
  • - +
    @@ -204,11 +204,9 @@