Merge branch '5175_마이페이지_및_결제'
@fd550ea58079e9aa42f0705dbe00c873489b1572
--- src/main/java/itn/let/mjo/event/service/MjonEventVO.java
+++ src/main/java/itn/let/mjo/event/service/MjonEventVO.java
... | ... | @@ -38,5 +38,5 @@ |
| 38 | 38 |
private String point; //사용자 포인트 정보 |
| 39 | 39 |
private String userId; //사용자 아이디 |
| 40 | 40 |
private String frstRegisterId; //등록자 아이디 |
| 41 |
- |
|
| 41 |
+ |
|
| 42 | 42 |
} |
--- src/main/java/itn/let/mjo/pay/web/MjonPayV2Controller.java
+++ src/main/java/itn/let/mjo/pay/web/MjonPayV2Controller.java
... | ... | @@ -278,6 +278,8 @@ |
| 278 | 278 |
try {
|
| 279 | 279 |
// 다음 결제시 결제수단 SELECT |
| 280 | 280 |
nextPayMethod = userManageService.selectNextPayMethod(userId); |
| 281 |
+ // 실제 마지막 결제 방식 - |
|
| 282 |
+ |
|
| 281 | 283 |
} |
| 282 | 284 |
catch(Exception e) {
|
| 283 | 285 |
isSuccess = false; |
... | ... | @@ -1640,6 +1642,45 @@ |
| 1640 | 1642 |
return "web/cop/kgmV2/bankOkUrl"; |
| 1641 | 1643 |
} |
| 1642 | 1644 |
|
| 1645 |
+ /** |
|
| 1646 |
+ * 마지막 결제수단 SELECT |
|
| 1647 |
+ * @throws Exception |
|
| 1648 |
+ */ |
|
| 1649 |
+ @RequestMapping(value = "/web/member/pay/selectLastPayMethodAjax.do") |
|
| 1650 |
+ public ModelAndView selectLastPayMethodAjax(MjonPayVO mjonPayVO, |
|
| 1651 |
+ HttpServletRequest request ) throws Exception {
|
|
| 1652 |
+ |
|
| 1653 |
+ ModelAndView modelAndView = new ModelAndView(); |
|
| 1654 |
+ modelAndView.setViewName("jsonView");
|
|
| 1655 |
+ |
|
| 1656 |
+ boolean isSuccess = true; |
|
| 1657 |
+ String msg = ""; |
|
| 1658 |
+ String nextPayMethod = ""; |
|
| 1659 |
+ |
|
| 1660 |
+ LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); |
|
| 1661 |
+ String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()); |
|
| 1662 |
+ |
|
| 1663 |
+ if(userId == null) {
|
|
| 1664 |
+ isSuccess = false; |
|
| 1665 |
+ msg = "로그인이 필요합니다."; |
|
| 1666 |
+ } |
|
| 1667 |
+ |
|
| 1668 |
+ try {
|
|
| 1669 |
+ // 다음 결제시 결제수단 SELECT |
|
| 1670 |
+ nextPayMethod = userManageService.selectLastPayMethod(userId); |
|
| 1671 |
+ } |
|
| 1672 |
+ catch(Exception e) {
|
|
| 1673 |
+ isSuccess = false; |
|
| 1674 |
+ msg = e.getMessage(); |
|
| 1675 |
+ } |
|
| 1676 |
+ |
|
| 1677 |
+ modelAndView.addObject("isSuccess", isSuccess);
|
|
| 1678 |
+ modelAndView.addObject("msg", msg);
|
|
| 1679 |
+ modelAndView.addObject("nextPayMethod", nextPayMethod);
|
|
| 1680 |
+ |
|
| 1681 |
+ return modelAndView; |
|
| 1682 |
+ } |
|
| 1683 |
+ |
|
| 1643 | 1684 |
// Get Server Path |
| 1644 | 1685 |
public static String getKgServerPath(HttpServletRequest request) {
|
| 1645 | 1686 |
String kgmPath = request.getScheme() + "://" + request.getServerName() +":" + request.getServerPort(); |
--- src/main/java/itn/let/uat/uia/service/impl/EgovMberManageServiceImpl.java
+++ src/main/java/itn/let/uat/uia/service/impl/EgovMberManageServiceImpl.java
... | ... | @@ -1,5 +1,10 @@ |
| 1 | 1 |
package itn.let.uat.uia.service.impl; |
| 2 | 2 |
|
| 3 |
+import java.math.BigDecimal; |
|
| 4 |
+import java.math.RoundingMode; |
|
| 5 |
+import java.time.LocalDate; |
|
| 6 |
+import java.time.format.DateTimeFormatter; |
|
| 7 |
+import java.time.temporal.ChronoUnit; |
|
| 3 | 8 |
import java.util.List; |
| 4 | 9 |
|
| 5 | 10 |
import javax.annotation.Resource; |
... | ... | @@ -11,14 +16,16 @@ |
| 11 | 16 |
|
| 12 | 17 |
import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; |
| 13 | 18 |
import egovframework.rte.fdl.idgnr.EgovIdGnrService; |
| 19 |
+import itn.com.cmm.util.StringUtil; |
|
| 14 | 20 |
import itn.com.uss.olh.hpc.service.HackIpService; |
| 15 | 21 |
import itn.com.uss.olh.hpc.service.HackIpVO; |
| 16 | 22 |
import itn.com.utl.fcc.service.EgovStringUtil; |
| 17 |
-import itn.let.mjo.cert.service.CertVO; |
|
| 23 |
+import itn.let.mjo.msgdata.service.MjonMsgDataService; |
|
| 18 | 24 |
import itn.let.mjo.msgsent.service.MjonMsgSentVO; |
| 19 | 25 |
import itn.let.mjo.pay.service.KmcVO; |
| 20 | 26 |
import itn.let.sec.rgm.service.AuthorGroup; |
| 21 | 27 |
import itn.let.sec.rgm.service.EgovAuthorGroupService; |
| 28 |
+import itn.let.sym.site.service.JoinSettingVO; |
|
| 22 | 29 |
import itn.let.uat.uia.service.AuthCertVO; |
| 23 | 30 |
import itn.let.uss.umt.service.AdmProcHstryVO; |
| 24 | 31 |
import itn.let.uss.umt.service.EgovMberManageService; |
... | ... | @@ -81,6 +88,10 @@ |
| 81 | 88 |
/*아이피 차단*/ |
| 82 | 89 |
@Resource(name = "hackIpService") |
| 83 | 90 |
private HackIpService hackIpService; |
| 91 |
+ |
|
| 92 |
+ /* MjonMsgDataService */ |
|
| 93 |
+ @Resource(name = "MjonMsgDataService") |
|
| 94 |
+ private MjonMsgDataService mjonMsgDataService; |
|
| 84 | 95 |
|
| 85 | 96 |
|
| 86 | 97 |
@Override |
... | ... | @@ -621,4 +632,71 @@ |
| 621 | 632 |
return mberManageDAO.findTopByregDateFromCertLog(authCertVO); |
| 622 | 633 |
} |
| 623 | 634 |
|
| 635 |
+ public MberManageVO selectMberHeaderInfo(String mberId) throws Exception {
|
|
| 636 |
+ //회원 단가, 이벤트 단가, 이벤트 종료일 등 조회 |
|
| 637 |
+ MberManageVO headerInfo = mberManageDAO.selectMberHeaderInfo(mberId); |
|
| 638 |
+ //기본 단가 조회 |
|
| 639 |
+ JoinSettingVO sysPrice = mjonMsgDataService.selectJoinSettingInfo(); |
|
| 640 |
+ |
|
| 641 |
+ //이벤트 종료까지 남은 일 수 계산 |
|
| 642 |
+ long eventLeftDay = calculateEventLeftDay(headerInfo.getEventEndDate()); |
|
| 643 |
+ headerInfo.setEventLeftDay(String.valueOf(eventLeftDay)); |
|
| 644 |
+ |
|
| 645 |
+ //이벤트 유무에 따라 이벤트 잔액 or 잔액 사용 |
|
| 646 |
+ boolean isEventActive = eventLeftDay > 0; |
|
| 647 |
+ double money = isEventActive ? headerInfo.getEventRemainCash() : headerInfo.getUserMoney(); |
|
| 648 |
+ |
|
| 649 |
+ //이벤트, 회원 단가가 0일 시 기본 단가 사용 |
|
| 650 |
+ setPrices(headerInfo, sysPrice, isEventActive); |
|
| 651 |
+ |
|
| 652 |
+ //발송가능 건수 조회 |
|
| 653 |
+ calculateAvailableCounts(headerInfo, money); |
|
| 654 |
+ |
|
| 655 |
+ return headerInfo; |
|
| 656 |
+ } |
|
| 657 |
+ |
|
| 658 |
+ private long calculateEventLeftDay(String eventEndDateStr) {
|
|
| 659 |
+ if (StringUtil.isEmpty(eventEndDateStr)) return 0; |
|
| 660 |
+ LocalDate today = LocalDate.now(); |
|
| 661 |
+ LocalDate eventEndDate = LocalDate.parse(eventEndDateStr, DateTimeFormatter.ofPattern("yyyy-MM-dd"));
|
|
| 662 |
+ return ChronoUnit.DAYS.between(today, eventEndDate); |
|
| 663 |
+ } |
|
| 664 |
+ |
|
| 665 |
+ private void setPrices(MberManageVO headerInfo, JoinSettingVO sysPrice, boolean isEventActive) {
|
|
| 666 |
+ if (isEventActive) {
|
|
| 667 |
+ headerInfo.setHeaderShortPrice(priceChk(headerInfo.getEventShortPrice(), sysPrice.getShortPrice())); |
|
| 668 |
+ headerInfo.setHeaderLongPrice(priceChk(headerInfo.getEventLongPrice(), sysPrice.getLongPrice())); |
|
| 669 |
+ headerInfo.setHeaderPicturePrice(priceChk(headerInfo.getEventPicturePrice(), sysPrice.getPicturePrice())); |
|
| 670 |
+ headerInfo.setHeaderPicture2Price(priceChk(headerInfo.getEventPicture2Price(), sysPrice.getPicture2Price())); |
|
| 671 |
+ headerInfo.setHeaderPicture3Price(priceChk(headerInfo.getEventPicture3Price(), sysPrice.getPicture3Price())); |
|
| 672 |
+ } else {
|
|
| 673 |
+ headerInfo.setHeaderShortPrice(priceChk(headerInfo.getShortPrice(), sysPrice.getShortPrice())); |
|
| 674 |
+ headerInfo.setHeaderLongPrice(priceChk(headerInfo.getLongPrice(), sysPrice.getLongPrice())); |
|
| 675 |
+ headerInfo.setHeaderPicturePrice(priceChk(headerInfo.getPicturePrice(), sysPrice.getPicturePrice())); |
|
| 676 |
+ headerInfo.setHeaderPicture2Price(priceChk(headerInfo.getPicture2Price(), sysPrice.getPicture2Price())); |
|
| 677 |
+ headerInfo.setHeaderPicture3Price(priceChk(headerInfo.getPicture3Price(), sysPrice.getPicture3Price())); |
|
| 678 |
+ } |
|
| 679 |
+ // 카카오, 팩스 단가는 기본 단가 고정 |
|
| 680 |
+ headerInfo.setHeaderKakaoAtPrice(sysPrice.getKakaoAtPrice()); |
|
| 681 |
+ headerInfo.setHeaderFaxPrice(sysPrice.getFaxPrice()); |
|
| 682 |
+ } |
|
| 683 |
+ |
|
| 684 |
+ private float priceChk(float price, float sysPrice) {
|
|
| 685 |
+ return price > 0 ? price : sysPrice; |
|
| 686 |
+ } |
|
| 687 |
+ |
|
| 688 |
+ private void calculateAvailableCounts(MberManageVO headerInfo, double money) {
|
|
| 689 |
+ headerInfo.setHeaderShortCnt(calcCount(money, headerInfo.getHeaderShortPrice())); |
|
| 690 |
+ headerInfo.setHeaderLongCnt(calcCount(money, headerInfo.getHeaderLongPrice())); |
|
| 691 |
+ headerInfo.setHeaderPictureCnt(calcCount(money, headerInfo.getHeaderPicturePrice())); |
|
| 692 |
+ headerInfo.setHeaderPicture2Cnt(calcCount(money, headerInfo.getHeaderPicture2Price())); |
|
| 693 |
+ headerInfo.setHeaderPicture3Cnt(calcCount(money, headerInfo.getHeaderPicture3Price())); |
|
| 694 |
+ headerInfo.setHeaderKakaoAtCnt(calcCount(money, headerInfo.getHeaderKakaoAtPrice())); |
|
| 695 |
+ headerInfo.setHeaderFaxCnt(calcCount(money, headerInfo.getHeaderFaxPrice())); |
|
| 696 |
+ } |
|
| 697 |
+ |
|
| 698 |
+ private int calcCount(double money, double price) {
|
|
| 699 |
+ if (price <= 0) return 0; |
|
| 700 |
+ return (int) Math.floor(money / price); |
|
| 701 |
+ } |
|
| 624 | 702 |
}(No newline at end of file) |
--- src/main/java/itn/let/uat/uia/service/impl/MberManageDAO.java
+++ src/main/java/itn/let/uat/uia/service/impl/MberManageDAO.java
... | ... | @@ -345,5 +345,8 @@ |
| 345 | 345 |
public String findTopByregDateFromCertLog(AuthCertVO authCertVO) {
|
| 346 | 346 |
return (String)select("mberManageDAO.findTopByregDateFromCertLog", authCertVO);
|
| 347 | 347 |
} |
| 348 |
- |
|
| 348 |
+ |
|
| 349 |
+ public MberManageVO selectMberHeaderInfo(String mberId) {
|
|
| 350 |
+ return (MberManageVO) select("mberManageDAO.selectMberHeaderInfo", mberId);
|
|
| 351 |
+ } |
|
| 349 | 352 |
}(No newline at end of file) |
--- src/main/java/itn/let/uss/umt/service/EgovMberManageService.java
+++ src/main/java/itn/let/uss/umt/service/EgovMberManageService.java
... | ... | @@ -251,4 +251,6 @@ |
| 251 | 251 |
|
| 252 | 252 |
public String findTopByregDateFromCertLog(AuthCertVO authCertVO); |
| 253 | 253 |
|
| 254 |
+ //사용자 헤더 정보(단가, 이벤트 활성화 기간) |
|
| 255 |
+ public MberManageVO selectMberHeaderInfo(String mberId) throws Exception; |
|
| 254 | 256 |
}(No newline at end of file) |
--- src/main/java/itn/let/uss/umt/service/EgovUserManageService.java
+++ src/main/java/itn/let/uss/umt/service/EgovUserManageService.java
... | ... | @@ -220,4 +220,6 @@ |
| 220 | 220 |
|
| 221 | 221 |
public Map<String, Object> selectFaxSendList(FaxGroupDataVO faxGroupDataVO); |
| 222 | 222 |
|
| 223 |
+ // 마지막 결제수단 조회 |
|
| 224 |
+ public String selectLastPayMethod(String mberId) throws Exception; |
|
| 223 | 225 |
}(No newline at end of file) |
--- src/main/java/itn/let/uss/umt/service/MberManageVO.java
+++ src/main/java/itn/let/uss/umt/service/MberManageVO.java
... | ... | @@ -512,6 +512,39 @@ |
| 512 | 512 |
*/ |
| 513 | 513 |
private String secuLoginFlag; |
| 514 | 514 |
|
| 515 |
+ |
|
| 516 |
+ /** |
|
| 517 |
+ * 회원 이벤트 정보 |
|
| 518 |
+ */ |
|
| 519 |
+ private String eventEndDate; //회원 이벤트 종료일자 |
|
| 520 |
+ private double eventRemainCash; //이벤트 차감 후 남은 Cash |
|
| 521 |
+ private float eventShortPrice; //이벤트 단문 가격 |
|
| 522 |
+ private float eventLongPrice; //이벤트 장문 가격 |
|
| 523 |
+ private float eventPicturePrice; //이벤트 그림 1장 가격 |
|
| 524 |
+ private float eventPicture2Price; //이벤트 그림 2장 가격 |
|
| 525 |
+ private float eventPicture3Price; //이벤트 그림 3장 가격 |
|
| 526 |
+ private String eventLeftDay; //이벤트 남은 기간 |
|
| 527 |
+ |
|
| 528 |
+ /** |
|
| 529 |
+ * 헤더 영역 정보(단가, 발송가능 건수) |
|
| 530 |
+ */ |
|
| 531 |
+ private float headerShortPrice; |
|
| 532 |
+ private float headerLongPrice; |
|
| 533 |
+ private float headerPicturePrice; |
|
| 534 |
+ private float headerPicture2Price; |
|
| 535 |
+ private float headerPicture3Price; |
|
| 536 |
+ private float headerKakaoAtPrice; |
|
| 537 |
+ private float headerKakaoFtPrice; |
|
| 538 |
+ private float headerFaxPrice; |
|
| 539 |
+ private int headerShortCnt; |
|
| 540 |
+ private int headerLongCnt; |
|
| 541 |
+ private int headerPictureCnt; |
|
| 542 |
+ private int headerPicture2Cnt; |
|
| 543 |
+ private int headerPicture3Cnt; |
|
| 544 |
+ private int headerKakaoAtCnt; |
|
| 545 |
+ private int headerKakaoFtCnt; |
|
| 546 |
+ private int headerFaxCnt; |
|
| 547 |
+ |
|
| 515 | 548 |
public String getSmsCode() {
|
| 516 | 549 |
return smsCode; |
| 517 | 550 |
} |
... | ... | @@ -1804,6 +1837,150 @@ |
| 1804 | 1837 |
public void setSecuLoginFlag(String secuLoginFlag) {
|
| 1805 | 1838 |
this.secuLoginFlag = secuLoginFlag; |
| 1806 | 1839 |
} |
| 1840 |
+ public String getEventEndDate() {
|
|
| 1841 |
+ return eventEndDate; |
|
| 1842 |
+ } |
|
| 1843 |
+ public void setEventEndDate(String eventEndDate) {
|
|
| 1844 |
+ this.eventEndDate = eventEndDate; |
|
| 1845 |
+ } |
|
| 1846 |
+ public double getEventRemainCash() {
|
|
| 1847 |
+ return eventRemainCash; |
|
| 1848 |
+ } |
|
| 1849 |
+ public void setEventRemainCash(double eventRemainCash) {
|
|
| 1850 |
+ this.eventRemainCash = eventRemainCash; |
|
| 1851 |
+ } |
|
| 1852 |
+ public float getEventShortPrice() {
|
|
| 1853 |
+ return eventShortPrice; |
|
| 1854 |
+ } |
|
| 1855 |
+ public void setEventShortPrice(float eventShortPrice) {
|
|
| 1856 |
+ this.eventShortPrice = eventShortPrice; |
|
| 1857 |
+ } |
|
| 1858 |
+ public float getEventLongPrice() {
|
|
| 1859 |
+ return eventLongPrice; |
|
| 1860 |
+ } |
|
| 1861 |
+ public void setEventLongPrice(float eventLongPrice) {
|
|
| 1862 |
+ this.eventLongPrice = eventLongPrice; |
|
| 1863 |
+ } |
|
| 1864 |
+ public float getEventPicturePrice() {
|
|
| 1865 |
+ return eventPicturePrice; |
|
| 1866 |
+ } |
|
| 1867 |
+ public void setEventPicturePrice(float eventPicturePrice) {
|
|
| 1868 |
+ this.eventPicturePrice = eventPicturePrice; |
|
| 1869 |
+ } |
|
| 1870 |
+ public float getEventPicture2Price() {
|
|
| 1871 |
+ return eventPicture2Price; |
|
| 1872 |
+ } |
|
| 1873 |
+ public void setEventPicture2Price(float eventPicture2Price) {
|
|
| 1874 |
+ this.eventPicture2Price = eventPicture2Price; |
|
| 1875 |
+ } |
|
| 1876 |
+ public float getEventPicture3Price() {
|
|
| 1877 |
+ return eventPicture3Price; |
|
| 1878 |
+ } |
|
| 1879 |
+ public void setEventPicture3Price(float eventPicture3Price) {
|
|
| 1880 |
+ this.eventPicture3Price = eventPicture3Price; |
|
| 1881 |
+ } |
|
| 1882 |
+ public String getEventLeftDay() {
|
|
| 1883 |
+ return eventLeftDay; |
|
| 1884 |
+ } |
|
| 1885 |
+ public void setEventLeftDay(String eventLeftDay) {
|
|
| 1886 |
+ this.eventLeftDay = eventLeftDay; |
|
| 1887 |
+ } |
|
| 1888 |
+ public float getHeaderShortPrice() {
|
|
| 1889 |
+ return headerShortPrice; |
|
| 1890 |
+ } |
|
| 1891 |
+ public void setHeaderShortPrice(float headerShortPrice) {
|
|
| 1892 |
+ this.headerShortPrice = headerShortPrice; |
|
| 1893 |
+ } |
|
| 1894 |
+ public float getHeaderLongPrice() {
|
|
| 1895 |
+ return headerLongPrice; |
|
| 1896 |
+ } |
|
| 1897 |
+ public void setHeaderLongPrice(float headerLongPrice) {
|
|
| 1898 |
+ this.headerLongPrice = headerLongPrice; |
|
| 1899 |
+ } |
|
| 1900 |
+ public float getHeaderPicturePrice() {
|
|
| 1901 |
+ return headerPicturePrice; |
|
| 1902 |
+ } |
|
| 1903 |
+ public void setHeaderPicturePrice(float headerPicturePrice) {
|
|
| 1904 |
+ this.headerPicturePrice = headerPicturePrice; |
|
| 1905 |
+ } |
|
| 1906 |
+ public float getHeaderPicture2Price() {
|
|
| 1907 |
+ return headerPicture2Price; |
|
| 1908 |
+ } |
|
| 1909 |
+ public void setHeaderPicture2Price(float headerPicture2Price) {
|
|
| 1910 |
+ this.headerPicture2Price = headerPicture2Price; |
|
| 1911 |
+ } |
|
| 1912 |
+ public float getHeaderPicture3Price() {
|
|
| 1913 |
+ return headerPicture3Price; |
|
| 1914 |
+ } |
|
| 1915 |
+ public void setHeaderPicture3Price(float headerPicture3Price) {
|
|
| 1916 |
+ this.headerPicture3Price = headerPicture3Price; |
|
| 1917 |
+ } |
|
| 1918 |
+ public int getHeaderShortCnt() {
|
|
| 1919 |
+ return headerShortCnt; |
|
| 1920 |
+ } |
|
| 1921 |
+ public void setHeaderShortCnt(int headerShortCnt) {
|
|
| 1922 |
+ this.headerShortCnt = headerShortCnt; |
|
| 1923 |
+ } |
|
| 1924 |
+ public int getHeaderLongCnt() {
|
|
| 1925 |
+ return headerLongCnt; |
|
| 1926 |
+ } |
|
| 1927 |
+ public void setHeaderLongCnt(int headerLongCnt) {
|
|
| 1928 |
+ this.headerLongCnt = headerLongCnt; |
|
| 1929 |
+ } |
|
| 1930 |
+ public int getHeaderPictureCnt() {
|
|
| 1931 |
+ return headerPictureCnt; |
|
| 1932 |
+ } |
|
| 1933 |
+ public void setHeaderPictureCnt(int headerPictureCnt) {
|
|
| 1934 |
+ this.headerPictureCnt = headerPictureCnt; |
|
| 1935 |
+ } |
|
| 1936 |
+ public int getHeaderPicture2Cnt() {
|
|
| 1937 |
+ return headerPicture2Cnt; |
|
| 1938 |
+ } |
|
| 1939 |
+ public void setHeaderPicture2Cnt(int headerPicture2Cnt) {
|
|
| 1940 |
+ this.headerPicture2Cnt = headerPicture2Cnt; |
|
| 1941 |
+ } |
|
| 1942 |
+ public int getHeaderPicture3Cnt() {
|
|
| 1943 |
+ return headerPicture3Cnt; |
|
| 1944 |
+ } |
|
| 1945 |
+ public void setHeaderPicture3Cnt(int headerPicture3Cnt) {
|
|
| 1946 |
+ this.headerPicture3Cnt = headerPicture3Cnt; |
|
| 1947 |
+ } |
|
| 1948 |
+ public float getHeaderKakaoAtPrice() {
|
|
| 1949 |
+ return headerKakaoAtPrice; |
|
| 1950 |
+ } |
|
| 1951 |
+ public void setHeaderKakaoAtPrice(float headerKakaoAtPrice) {
|
|
| 1952 |
+ this.headerKakaoAtPrice = headerKakaoAtPrice; |
|
| 1953 |
+ } |
|
| 1954 |
+ public float getHeaderKakaoFtPrice() {
|
|
| 1955 |
+ return headerKakaoFtPrice; |
|
| 1956 |
+ } |
|
| 1957 |
+ public void setHeaderKakaoFtPrice(float headerKakaoFtPrice) {
|
|
| 1958 |
+ this.headerKakaoFtPrice = headerKakaoFtPrice; |
|
| 1959 |
+ } |
|
| 1960 |
+ public float getHeaderFaxPrice() {
|
|
| 1961 |
+ return headerFaxPrice; |
|
| 1962 |
+ } |
|
| 1963 |
+ public void setHeaderFaxPrice(float headerFaxPrice) {
|
|
| 1964 |
+ this.headerFaxPrice = headerFaxPrice; |
|
| 1965 |
+ } |
|
| 1966 |
+ public int getHeaderKakaoAtCnt() {
|
|
| 1967 |
+ return headerKakaoAtCnt; |
|
| 1968 |
+ } |
|
| 1969 |
+ public void setHeaderKakaoAtCnt(int headerKakaoAtCnt) {
|
|
| 1970 |
+ this.headerKakaoAtCnt = headerKakaoAtCnt; |
|
| 1971 |
+ } |
|
| 1972 |
+ public int getHeaderKakaoFtCnt() {
|
|
| 1973 |
+ return headerKakaoFtCnt; |
|
| 1974 |
+ } |
|
| 1975 |
+ public void setHeaderKakaoFtCnt(int headerKakaoFtCnt) {
|
|
| 1976 |
+ this.headerKakaoFtCnt = headerKakaoFtCnt; |
|
| 1977 |
+ } |
|
| 1978 |
+ public int getHeaderFaxCnt() {
|
|
| 1979 |
+ return headerFaxCnt; |
|
| 1980 |
+ } |
|
| 1981 |
+ public void setHeaderFaxCnt(int headerFaxCnt) {
|
|
| 1982 |
+ this.headerFaxCnt = headerFaxCnt; |
|
| 1983 |
+ } |
|
| 1807 | 1984 |
|
| 1808 | 1985 |
|
| 1809 | 1986 |
}(No newline at end of file) |
--- src/main/java/itn/let/uss/umt/service/impl/EgovUserManageServiceImpl.java
+++ src/main/java/itn/let/uss/umt/service/impl/EgovUserManageServiceImpl.java
... | ... | @@ -882,5 +882,11 @@ |
| 882 | 882 |
|
| 883 | 883 |
return resultMap; |
| 884 | 884 |
} |
| 885 |
+ |
|
| 886 |
+ // 마지막 결제수단 SELECT |
|
| 887 |
+ @Override |
|
| 888 |
+ public String selectLastPayMethod(String mberId) throws Exception {
|
|
| 889 |
+ return userManageDAO.selectLastPayMethod(mberId); |
|
| 890 |
+ } |
|
| 885 | 891 |
|
| 886 | 892 |
}(No newline at end of file) |
--- src/main/java/itn/let/uss/umt/service/impl/UserManageDAO.java
+++ src/main/java/itn/let/uss/umt/service/impl/UserManageDAO.java
... | ... | @@ -320,5 +320,9 @@ |
| 320 | 320 |
public int selectUserPrePaymentPGdataCount(String userId) throws Exception{
|
| 321 | 321 |
return (int) select("userManageDAO.selectUserPrePaymentPGdataCount", userId);
|
| 322 | 322 |
} |
| 323 |
- |
|
| 323 |
+ |
|
| 324 |
+ // 마지막 결제수단 SELECT |
|
| 325 |
+ public String selectLastPayMethod(String mberId) throws Exception{
|
|
| 326 |
+ return (String) select("userManageDAO.selectLastPayMethod", mberId);
|
|
| 327 |
+ } |
|
| 324 | 328 |
}(No newline at end of file) |
--- src/main/java/itn/web/MainController.java
+++ src/main/java/itn/web/MainController.java
... | ... | @@ -12,6 +12,9 @@ |
| 12 | 12 |
import java.security.PublicKey; |
| 13 | 13 |
import java.security.spec.RSAPublicKeySpec; |
| 14 | 14 |
import java.text.SimpleDateFormat; |
| 15 |
+import java.time.LocalDate; |
|
| 16 |
+import java.time.format.DateTimeFormatter; |
|
| 17 |
+import java.time.temporal.ChronoUnit; |
|
| 15 | 18 |
import java.util.ArrayList; |
| 16 | 19 |
import java.util.Arrays; |
| 17 | 20 |
import java.util.Collections; |
... | ... | @@ -106,6 +109,7 @@ |
| 106 | 109 |
import itn.let.mjo.addr.service.AddrTransHistService; |
| 107 | 110 |
import itn.let.mjo.addr.service.AddrTransHistVO; |
| 108 | 111 |
import itn.let.mjo.event.service.MjonEventService; |
| 112 |
+import itn.let.mjo.event.service.MjonEventVO; |
|
| 109 | 113 |
import itn.let.mjo.kisa.service.KisaService; |
| 110 | 114 |
import itn.let.mjo.kisa.service.KisaVO; |
| 111 | 115 |
import itn.let.mjo.mjocommon.MjonForienIpChk; |
... | ... | @@ -130,6 +134,7 @@ |
| 130 | 134 |
import itn.let.sym.prm.service.EgovProgrmManageService; |
| 131 | 135 |
import itn.let.sym.prm.service.ProgrmManageVO; |
| 132 | 136 |
import itn.let.sym.site.service.EgovSiteManagerService; |
| 137 |
+import itn.let.sym.site.service.JoinSettingVO; |
|
| 133 | 138 |
import itn.let.sym.site.service.MetaTagVO; |
| 134 | 139 |
import itn.let.sym.site.service.SiteManagerVO; |
| 135 | 140 |
import itn.let.uss.umt.service.EgovMberManageService; |
... | ... | @@ -1256,6 +1261,16 @@ |
| 1256 | 1261 |
model.addAttribute("mberManageVO", userManageService.selectUserInfo(mberManageVO));
|
| 1257 | 1262 |
} |
| 1258 | 1263 |
|
| 1264 |
+ /* |
|
| 1265 |
+ * 회원별 단가, 기본 단가, 이벤트 정보 조회 |
|
| 1266 |
+ * 2025.07.25 이지우 추가 |
|
| 1267 |
+ * */ |
|
| 1268 |
+ MberManageVO mberHeaderInfoVO = new MberManageVO(); |
|
| 1269 |
+ if(loginVO != null) {
|
|
| 1270 |
+ mberHeaderInfoVO = mberManageService.selectMberHeaderInfo(loginVO.getId()); |
|
| 1271 |
+ } |
|
| 1272 |
+ model.addAttribute("mberHeaderInfoVO", mberHeaderInfoVO);
|
|
| 1273 |
+ |
|
| 1259 | 1274 |
return "web/com/webCommonHeader"; |
| 1260 | 1275 |
} |
| 1261 | 1276 |
|
--- src/main/resources/egovframework/sqlmap/let/uss/umt/EgovMberManage_SQL_Mysql.xml
+++ src/main/resources/egovframework/sqlmap/let/uss/umt/EgovMberManage_SQL_Mysql.xml
... | ... | @@ -2142,4 +2142,38 @@ |
| 2142 | 2142 |
|
| 2143 | 2143 |
</update> |
| 2144 | 2144 |
|
| 2145 |
+ <select id="mberManageDAO.selectMberHeaderInfo" resultClass="itn.let.uss.umt.service.MberManageVO" parameterClass="String"> |
|
| 2146 |
+ SELECT |
|
| 2147 |
+ L.SHORT_PRICE AS shortPrice |
|
| 2148 |
+ , L.LONG_PRICE AS longPrice |
|
| 2149 |
+ , L.PICTURE_PRICE AS picturePrice |
|
| 2150 |
+ , L.PICTURE2_PRICE AS picture2Price |
|
| 2151 |
+ , L.PICTURE3_PRICE AS picture3Price |
|
| 2152 |
+ , L.PRE_PAYMENT_YN AS prePaymentYn |
|
| 2153 |
+ , L.USER_MONEY AS userMoney |
|
| 2154 |
+ , IFNULL(MEMI.EVENT_SHORT_PRICE, 0) AS eventShortPrice |
|
| 2155 |
+ , IFNULL(MEMI.EVENT_LONG_PRICE, 0) AS eventLongPrice |
|
| 2156 |
+ , IFNULL(MEMI.EVENT_PICTURE_PRICE, 0) AS eventPicturePrice |
|
| 2157 |
+ , IFNULL(MEMI.EVENT_PICTURE2_PRICE, 0) AS eventPicture2Price |
|
| 2158 |
+ , IFNULL(MEMI.EVENT_PICTURE3_PRICE, 0) AS eventPicture3Price |
|
| 2159 |
+ , IFNULL(MEMI.EVENT_REMAIN_CASH, 0) AS eventRemainCash |
|
| 2160 |
+ , DATE_FORMAT(MEMI.EVENT_END_DATE, '%Y-%m-%d') AS eventEndDate |
|
| 2161 |
+ FROM |
|
| 2162 |
+ LETTNGNRLMBER L |
|
| 2163 |
+ LEFT JOIN |
|
| 2164 |
+ MJ_EVENT_MBER_INFO MEMI |
|
| 2165 |
+ ON L.MBER_ID = MEMI.MBER_ID |
|
| 2166 |
+ AND MEMI.EVENT_INFO_ID = ( |
|
| 2167 |
+ SELECT |
|
| 2168 |
+ MAX(EVENT_INFO_ID) |
|
| 2169 |
+ FROM |
|
| 2170 |
+ MJ_EVENT_MBER_INFO |
|
| 2171 |
+ WHERE |
|
| 2172 |
+ MBER_ID = #mberID# |
|
| 2173 |
+ AND EVENT_STATUS = 'Y' |
|
| 2174 |
+ |
|
| 2175 |
+ ) |
|
| 2176 |
+ WHERE L.MBER_ID = #mberId# |
|
| 2177 |
+ |
|
| 2178 |
+ </select> |
|
| 2145 | 2179 |
</sqlMap> |
--- src/main/resources/egovframework/sqlmap/let/uss/umt/EgovUserManage_SQL_Mysql.xml
+++ src/main/resources/egovframework/sqlmap/let/uss/umt/EgovUserManage_SQL_Mysql.xml
... | ... | @@ -1458,5 +1458,15 @@ |
| 1458 | 1458 |
AND MONTH(REG_DATE) = MONTH(CURRENT_DATE) |
| 1459 | 1459 |
|
| 1460 | 1460 |
</select> |
| 1461 |
- |
|
| 1461 |
+ |
|
| 1462 |
+ <!-- 마지막 결제수단 SELECT --> |
|
| 1463 |
+ <select id="userManageDAO.selectLastPayMethod" parameterClass="String" resultClass="String"> |
|
| 1464 |
+ SELECT |
|
| 1465 |
+ IFNULL(PAY_METHOD, '') AS nextPayMethod |
|
| 1466 |
+ FROM MJ_PG |
|
| 1467 |
+ WHERE |
|
| 1468 |
+ USER_ID = #userId# |
|
| 1469 |
+ ORDER BY REG_DATE DESC LIMIT 1 |
|
| 1470 |
+ </select> |
|
| 1471 |
+ |
|
| 1462 | 1472 |
</sqlMap> |
--- src/main/webapp/WEB-INF/jsp/web/com/webCommonHeader.jsp
+++ src/main/webapp/WEB-INF/jsp/web/com/webCommonHeader.jsp
... | ... | @@ -1398,14 +1398,14 @@ |
| 1398 | 1398 |
<div class="inner"> |
| 1399 | 1399 |
<ul class="menu_left"> |
| 1400 | 1400 |
<li><a href="#" id="favorite" ><i class="hdTop_fav"></i>즐겨찾기추가</a></li> |
| 1401 |
- <li><a href="<c:out value='/web/user/mberInfoIndex.do'/>" ><i class="hdTop_mypage"></i>마이페이지</a></li> |
|
| 1402 |
- <li><a href="<c:out value='/web/cop/bbs/NoticeList.do'/>" ><i class="hdTop_center"></i>고객센터</a></li> |
|
| 1401 |
+ <li><a href="<c:out value='/web/user/mberInfoChange.do'/>" ><i class="hdTop_mypage"></i>마이페이지</a></li> |
|
| 1402 |
+ <li><a href="<c:out value='/web/cop/bbs/QnaList.do'/>" ><i class="hdTop_center"></i>1:1 문의</a></li> |
|
| 1403 | 1403 |
</ul> |
| 1404 | 1404 |
<ul class="menu_right"> |
| 1405 | 1405 |
<li><a href="#" onclick="location.href='/web/member/pay/PayView.do'" >충전하기</a></li> |
| 1406 | 1406 |
<li class="SortLine"><a href="/web/pay/PayGuide.do" >요금안내</a></li> |
| 1407 | 1407 |
<li class="SortLine"><a href="/web/cop/bbs/FaqList.do" >이용안내</a></li> |
| 1408 |
- <li class="SortLine"><a href="/web/cop/bbs/QnaList.do" >1:1 문의</a></li> |
|
| 1408 |
+ <li class="SortLine"><a href="/web/cop/bbs/NoticeList.do" >고객센터</a></li> |
|
| 1409 | 1409 |
<li class="SortLine"><a href="/web/cop/bbs/SuggestList.do" >불편신고</a></li> |
| 1410 | 1410 |
</ul> |
| 1411 | 1411 |
</div> |
... | ... | @@ -1627,7 +1627,9 @@ |
| 1627 | 1627 |
</li> |
| 1628 | 1628 |
<li> |
| 1629 | 1629 |
<dl> |
| 1630 |
- <dt><a href="<c:out value='/web/user/mberInfoIndex.do'/>" >마이페이지</a></dt> |
|
| 1630 |
+ <%-- 250724 마이페이지 대시보드 삭제 --%> |
|
| 1631 |
+ <%-- <dt><a href="<c:out value='/web/user/mberInfoIndex.do'/>" >마이페이지</a></dt> --%> |
|
| 1632 |
+ <dt><a href="<c:out value='/web/user/mberInfoChange.do'/>" >마이페이지</a></dt> |
|
| 1631 | 1633 |
<dd> |
| 1632 | 1634 |
<ul> |
| 1633 | 1635 |
<li><a href="<c:out value='/web/user/mberInfoChange.do'/>" >회원정보 변경</a></li> |
... | ... | @@ -1637,7 +1639,7 @@ |
| 1637 | 1639 |
</c:if> |
| 1638 | 1640 |
<li><a href="<c:out value='/web/user/passwordChange.do'/>" >비밀번호 변경</a></li> |
| 1639 | 1641 |
<li><a href="<c:out value='/web/user/sendNumberManage.do'/>" >발신번호 관리</a></li> |
| 1640 |
- <li><a href="<c:out value='/web/user/notifyManage.do'/>" >알림설정</a></li> |
|
| 1642 |
+ <%-- <li><a href="<c:out value='/web/user/notifyManage.do'/>" >알림설정</a></li> --%> |
|
| 1641 | 1643 |
<%-- <li><a href="<c:out value='/web/user/mberSecession.do'/>" >회원탈퇴</a></li> --%> |
| 1642 | 1644 |
<%-- <li><a href="<c:out value='/web/user/kisaReport.do'/>" >KISA 신고</a></li> --%> |
| 1643 | 1645 |
</ul> |
... | ... | @@ -1744,8 +1746,9 @@ |
| 1744 | 1746 |
<div class="login_left"> |
| 1745 | 1747 |
<div class="login_info"> |
| 1746 | 1748 |
<input type="hidden" id="loginId" name="loginId" value="${LoginVO.id}">
|
| 1747 |
- <i><img src="/publish/images/mypageIcon2.png" id="commonHeaderGradeIcon" /></i> |
|
| 1749 |
+ <!-- <i><img src="/publish/images/mypageIcon2.png" id="commonHeaderGradeIcon" /></i> --> |
|
| 1748 | 1750 |
<div class="login2_name" onclick="location.href='/web/user/mberInfoChange.do'" style="cursor:pointer;"> |
| 1751 |
+ <i class="icon_user"></i> |
|
| 1749 | 1752 |
<p><c:out value="${LoginVO.name}"/></p>
|
| 1750 | 1753 |
<c:choose> |
| 1751 | 1754 |
<c:when test="${LoginVO.dept == 'p'}">
|
... | ... | @@ -1765,8 +1768,8 @@ |
| 1765 | 1768 |
<img src="/pb/img/common/topTimeOut.png" alt="타임아웃 아이콘"> |
| 1766 | 1769 |
</a> --> |
| 1767 | 1770 |
</div> |
| 1768 |
- <button type="button" class="btnType btnType3" onclick="location.href='/web/user/mberInfoIndex.do'">마이페이지</button> |
|
| 1769 |
- <button type="button" class="btnType btnType2" onclick="location.href='/web/uat/uia/actionLogout.do'">로그아웃</button> |
|
| 1771 |
+ <!-- <button type="button" class="btnType btnType3" onclick="location.href='/web/user/mberInfoIndex.do'">마이페이지</button> --> |
|
| 1772 |
+ <button type="button" class="btnType btn_36 fill_gray" onclick="location.href='/web/uat/uia/actionLogout.do'">로그아웃</button> |
|
| 1770 | 1773 |
|
| 1771 | 1774 |
|
| 1772 | 1775 |
<div class="security_box"> |
... | ... | @@ -1778,33 +1781,88 @@ |
| 1778 | 1781 |
</div> |
| 1779 | 1782 |
<div class="login_pay"> |
| 1780 | 1783 |
<div class="check_money"> |
| 1781 |
- <div class="holdingsum_box"> |
|
| 1784 |
+ <div class="holdingsum_box"> |
|
| 1782 | 1785 |
<i></i> |
| 1786 |
+ <div class="user_money_wrap"> |
|
| 1787 |
+ 보유잔액 |
|
| 1788 |
+ <div class="hover_content_wrap"> |
|
| 1789 |
+ <i class="qmMark">?</i> |
|
| 1790 |
+ <div class="hover_content"> |
|
| 1791 |
+ <p class="hover_content_title"> |
|
| 1792 |
+ <img src="/publish/images/content/icon_mypage_message.png" alt=""> 나의단가 <span>(발송가능 건수)</span> |
|
| 1793 |
+ </p> |
|
| 1794 |
+ <ul class="send_available_number"> |
|
| 1795 |
+ <li> |
|
| 1796 |
+ <p class="title">· 단문</p> |
|
| 1797 |
+ <fmt:formatNumber type="number" maxFractionDigits="3" value="${mberHeaderInfoVO.headerShortPrice}" var="shortPrice" />
|
|
| 1798 |
+ <p class="number"><span class="c_002c9a fwBold"><c:out value="${shortPrice}"/></span>원
|
|
| 1799 |
+ <fmt:formatNumber type="number" maxFractionDigits="3" value="${mberHeaderInfoVO.headerShortCnt}" var="shortCnt" />
|
|
| 1800 |
+ (<c:out value="${shortCnt}"/>건)</p>
|
|
| 1801 |
+ </li> |
|
| 1802 |
+ <li> |
|
| 1803 |
+ <p class="title">· 장문</p> |
|
| 1804 |
+ <fmt:formatNumber type="number" maxFractionDigits="3" value="${mberHeaderInfoVO.headerLongPrice}" var="LongPrice" />
|
|
| 1805 |
+ <p class="number"><span class="c_002c9a fwBold"><c:out value="${LongPrice}"/></span>원
|
|
| 1806 |
+ <fmt:formatNumber type="number" maxFractionDigits="3" value="${mberHeaderInfoVO.headerLongCnt}" var="LongCnt" />
|
|
| 1807 |
+ (<c:out value="${LongCnt}"/>건)</p>
|
|
| 1808 |
+ </li> |
|
| 1809 |
+ <li> |
|
| 1810 |
+ <p class="title">· 그림(1장)</p> |
|
| 1811 |
+ <fmt:formatNumber type="number" maxFractionDigits="3" value="${mberHeaderInfoVO.headerPicturePrice}" var="picturePrice" />
|
|
| 1812 |
+ <p class="number"><span class="c_002c9a fwBold"><c:out value="${picturePrice}"/></span>원
|
|
| 1813 |
+ <fmt:formatNumber type="number" maxFractionDigits="3" value="${mberHeaderInfoVO.headerPictureCnt}" var="pictureCnt" />
|
|
| 1814 |
+ (<c:out value="${pictureCnt}"/>건)</p>
|
|
| 1815 |
+ </li> |
|
| 1816 |
+ <li> |
|
| 1817 |
+ <p class="title">· 그림(2장)</p> |
|
| 1818 |
+ <fmt:formatNumber type="number" maxFractionDigits="3" value="${mberHeaderInfoVO.headerPicture2Price}" var="picture2Price" />
|
|
| 1819 |
+ <p class="number"><span class="c_002c9a fwBold"><c:out value="${picture2Price}"/></span>원
|
|
| 1820 |
+ <fmt:formatNumber type="number" maxFractionDigits="3" value="${mberHeaderInfoVO.headerPicture2Cnt}" var="picture2Cnt" />
|
|
| 1821 |
+ (<c:out value="${picture2Cnt}"/>건)</p>
|
|
| 1822 |
+ </li> |
|
| 1823 |
+ <li> |
|
| 1824 |
+ <p class="title">· 그림(3장)</p> |
|
| 1825 |
+ <fmt:formatNumber type="number" maxFractionDigits="3" value="${mberHeaderInfoVO.headerPicture3Price}" var="picture3Price" />
|
|
| 1826 |
+ <p class="number"><span class="c_002c9a fwBold"><c:out value="${picture3Price}"/></span>원
|
|
| 1827 |
+ <fmt:formatNumber type="number" maxFractionDigits="3" value="${mberHeaderInfoVO.headerPicture3Cnt}" var="picture3Cnt" />
|
|
| 1828 |
+ (<c:out value="${picture3Cnt}"/>건)</p>
|
|
| 1829 |
+ </li> |
|
| 1830 |
+ <li> |
|
| 1831 |
+ <p class="title">· 알림톡</p> |
|
| 1832 |
+ <fmt:formatNumber type="number" maxFractionDigits="3" value="${mberHeaderInfoVO.headerKakaoAtPrice}" var="kakaoAtPrice" />
|
|
| 1833 |
+ <p class="number"><span class="c_002c9a fwBold"><c:out value="${kakaoAtPrice}"/></span>원
|
|
| 1834 |
+ <fmt:formatNumber type="number" maxFractionDigits="3" value="${mberHeaderInfoVO.headerKakaoAtCnt}" var="kakaoAtCnt" />
|
|
| 1835 |
+ (<c:out value="${kakaoAtCnt}"/>건)</p>
|
|
| 1836 |
+ </li> |
|
| 1837 |
+ <li> |
|
| 1838 |
+ <p class="title">· 팩스</p> |
|
| 1839 |
+ <fmt:formatNumber type="number" maxFractionDigits="3" value="${mberHeaderInfoVO.headerFaxPrice}" var="faxPrice" />
|
|
| 1840 |
+ <p class="number"><span class="c_002c9a fwBold"><c:out value="${faxPrice}"/></span>원
|
|
| 1841 |
+ <fmt:formatNumber type="number" maxFractionDigits="3" value="${mberHeaderInfoVO.headerFaxCnt}" var="faxCnt" />
|
|
| 1842 |
+ (<c:out value="${faxCnt}"/>건)</p>
|
|
| 1843 |
+ </li> |
|
| 1844 |
+ </ul> |
|
| 1845 |
+ <c:if test="${prePaymentYn eq 'Y' and mberHeaderInfoVO.eventLeftDay > 0}">
|
|
| 1846 |
+ <fmt:formatNumber type="number" maxFractionDigits="3" value="${mberHeaderInfoVO.eventRemainCash}" var="eventRemainCash" />
|
|
| 1847 |
+ <div class="event_term"><p>이벤트<span class="fwBold">(D-${mberHeaderInfoVO.eventLeftDay})</span></p><p><span class="fwBold price">${eventRemainCash}</span>원</p></div>
|
|
| 1848 |
+ </c:if> |
|
| 1849 |
+ <c:if test="${prePaymentYn eq 'N'}">
|
|
| 1850 |
+ <div class="event_term" style="display:block">후불제(매월 1일 자동충전)</div> |
|
| 1851 |
+ </c:if> |
|
| 1852 |
+ </div> |
|
| 1853 |
+ </div> |
|
| 1783 | 1854 |
<fmt:formatNumber type="number" maxFractionDigits="3" value="${userMoney}" var="commaPrice" />
|
| 1784 |
- <p>보유잔액<!-- <em>(캐시)</em> --> <span class="fwMd" id="hdUserMoney"><c:out value="${commaPrice}"/></span>원</p>
|
|
| 1785 |
- <c:if test="${prePaymentYn eq 'N'}">
|
|
| 1786 |
- <dl> |
|
| 1787 |
- <dd>후불제 고객의 보유잔액(캐시)은 당월 발송 가능<br>금액을 말하며 <span>매월 1일 자동으로 충전</span>됩니다.</dd> |
|
| 1788 |
- </dl> |
|
| 1789 |
- </c:if> |
|
| 1790 |
- </div> |
|
| 1855 |
+ <span class="fwMd" id="hdUserMoney"><c:out value="${commaPrice}"/></span>원
|
|
| 1856 |
+ </ > |
|
| 1857 |
+ </div> |
|
| 1791 | 1858 |
<button type="button" class="btnType btnType3" onclick="location.href='/web/member/pay/PayView.do'">충전</button> |
| 1792 |
- <div class="account_box"> |
|
| 1793 |
- <button type="button" class="btnType btnType3" onclick="location.href='/web/member/pay/PayView.do?tabType=2'">전용계좌</button> |
|
| 1794 |
- <c:if test="${not empty myBankList}">
|
|
| 1795 |
- <dl> |
|
| 1796 |
- <dt>전용계좌</dt> |
|
| 1797 |
- <dd><c:out value="${myBankList[0].codeNm}"/> <c:out value="${myBankList[0].acctNo}"/></dd>
|
|
| 1798 |
- </dl> |
|
| 1799 |
- </c:if> |
|
| 1800 |
- </div> |
|
| 1801 | 1859 |
</div> |
| 1802 |
- <div class="point"> |
|
| 1803 |
- <i></i> |
|
| 1804 |
- <fmt:formatNumber type="number" maxFractionDigits="3" value="${userPoint}" var="commaPoint" />
|
|
| 1805 |
- <p><!-- <em>적립</em> -->포인트 <span class="fwMd"><c:out value="${commaPoint}"/></span>원</p>
|
|
| 1806 |
- <button type="button" data-tooltip="popup04" class="btnType btnType3">교환</button> |
|
| 1807 |
- </div> |
|
| 1860 |
+ </div> |
|
| 1861 |
+ <div class="point"> |
|
| 1862 |
+ <i></i> |
|
| 1863 |
+ <fmt:formatNumber type="number" maxFractionDigits="3" value="${userPoint}" var="commaPoint" />
|
|
| 1864 |
+ <p><!-- <em>적립</em> -->포인트 <span class="fwMd"><c:out value="${commaPoint}"/></span>원</p>
|
|
| 1865 |
+ <button type="button" data-tooltip="popup04" class="btnType btnType3">교환</button> |
|
| 1808 | 1866 |
</div> |
| 1809 | 1867 |
<!-- <div class="event"> |
| 1810 | 1868 |
<span><i></i>이달의 이벤트</span> |
--- src/main/webapp/WEB-INF/jsp/web/pay/PayView.jsp
+++ src/main/webapp/WEB-INF/jsp/web/pay/PayView.jsp
... | ... | @@ -41,7 +41,7 @@ |
| 41 | 41 |
var nextPayMethod = ""; |
| 42 | 42 |
$.ajax({
|
| 43 | 43 |
type: "POST", |
| 44 |
- url: "/web/member/pay/selectNextPayMethodAjax.do", |
|
| 44 |
+ url: "/web/member/pay/selectLastPayMethodAjax.do", |
|
| 45 | 45 |
data: {},
|
| 46 | 46 |
dataType:'json', |
| 47 | 47 |
async: false, |
--- src/main/webapp/WEB-INF/jsp/web/user/mberCompanyInfoChange.jsp
+++ src/main/webapp/WEB-INF/jsp/web/user/mberCompanyInfoChange.jsp
... | ... | @@ -242,25 +242,17 @@ |
| 242 | 242 |
$("#receivemail").val("N");
|
| 243 | 243 |
} |
| 244 | 244 |
|
| 245 |
- if($("#emailId").val() == ""){
|
|
| 246 |
- alert("이메일을 입력해주세요.");
|
|
| 245 |
+ if($("#emailId").val().trim() == "" || $("#emailAdd").val().trim() == ""){
|
|
| 246 |
+ alert("이메일은 필수 입력 항목입니다.")
|
|
| 247 | 247 |
return false; |
| 248 |
- } |
|
| 249 |
- |
|
| 250 |
- if($("#emailId").val() != ""|| $("#emailAdd").val() != ""){
|
|
| 251 |
- if($("#emailAdd").val() != ""){
|
|
| 252 |
- var email = $("#emailId").val() + "@" + $("#emailAdd").val();
|
|
| 253 |
- var taxExptext = /^[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*.[a-zA-Z]{2,3}$/i;
|
|
| 254 |
- if(taxExptext.test(email)==false){
|
|
| 255 |
- alert("이메일주소 형식이 올바르지 않습니다.");
|
|
| 256 |
- return false; |
|
| 257 |
- } |
|
| 258 |
- |
|
| 259 |
- $("#mberEmailAdres").val(email);
|
|
| 260 |
- }else{
|
|
| 261 |
- alert("이메일 주소를 확인해 주세요");
|
|
| 248 |
+ }else {
|
|
| 249 |
+ var email = $("#emailId").val() + "@" + $("#emailAdd").val();
|
|
| 250 |
+ var taxExptext = /^[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*.[a-zA-Z]{2,3}$/i;
|
|
| 251 |
+ if(taxExptext.test(email)==false){
|
|
| 252 |
+ alert("이메일주소 형식이 올바르지 않습니다.");
|
|
| 262 | 253 |
return false; |
| 263 | 254 |
} |
| 255 |
+ $("#mberEmailAdres").val(email);
|
|
| 264 | 256 |
} |
| 265 | 257 |
|
| 266 | 258 |
if("${cmpPhoneChangeManageVO.hstSttus}" == '03'){
|
... | ... | @@ -678,7 +670,7 @@ |
| 678 | 670 |
</c:if> |
| 679 | 671 |
<div class="input_list_item emailWrap"> |
| 680 | 672 |
<div> |
| 681 |
- <div class="input_left"><span class="essential">*</span>이메일</div> |
|
| 673 |
+ <div class="input_left">이메일</div> |
|
| 682 | 674 |
<div class="input_right"> |
| 683 | 675 |
<div class="email"> |
| 684 | 676 |
<label for="" class="label">이메일 주소 앞자리</label> |
--- src/main/webapp/WEB-INF/jsp/web/user/mberInfoChange.jsp
+++ src/main/webapp/WEB-INF/jsp/web/user/mberInfoChange.jsp
... | ... | @@ -149,21 +149,17 @@ |
| 149 | 149 |
$("#receivemail").val("N");
|
| 150 | 150 |
} |
| 151 | 151 |
|
| 152 |
- |
|
| 153 |
- if($("#emailId").val() != ""|| $("#emailAdd").val() != ""){
|
|
| 154 |
- if($("#emailAdd").val() != ""){
|
|
| 155 |
- var email = $("#emailId").val() + "@" + $("#emailAdd").val();
|
|
| 156 |
- var taxExptext = /^[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*.[a-zA-Z]{2,3}$/i;
|
|
| 157 |
- if(taxExptext.test(email)==false){
|
|
| 158 |
- alert("이메일주소 형식이 올바르지 않습니다.");
|
|
| 159 |
- return false; |
|
| 160 |
- } |
|
| 161 |
- |
|
| 162 |
- $("#mberEmailAdres").val(email);
|
|
| 163 |
- }else{
|
|
| 164 |
- alert("이메일 주소를 확인해 주세요");
|
|
| 152 |
+ if($("#emailId").val().trim() == "" || $("#emailAdd").val().trim() == ""){
|
|
| 153 |
+ alert("이메일은 필수 입력 항목입니다.")
|
|
| 154 |
+ return false; |
|
| 155 |
+ }else {
|
|
| 156 |
+ var email = $("#emailId").val() + "@" + $("#emailAdd").val();
|
|
| 157 |
+ var taxExptext = /^[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*.[a-zA-Z]{2,3}$/i;
|
|
| 158 |
+ if(taxExptext.test(email)==false){
|
|
| 159 |
+ alert("이메일주소 형식이 올바르지 않습니다.");
|
|
| 165 | 160 |
return false; |
| 166 | 161 |
} |
| 162 |
+ $("#mberEmailAdres").val(email);
|
|
| 167 | 163 |
} |
| 168 | 164 |
|
| 169 | 165 |
if("${userInfo.moblphonNo}" != $("#moblphonNo").val()){
|
--- src/main/webapp/WEB-INF/jsp/web/user/mypageHeader.jsp
+++ src/main/webapp/WEB-INF/jsp/web/user/mypageHeader.jsp
... | ... | @@ -30,9 +30,6 @@ |
| 30 | 30 |
<li class="tab" id="sendNumberManage"> |
| 31 | 31 |
<button type="button" onclick="TabType5(this,'4'); location.href='/web/user/sendNumberManage.do'">발신번호 관리</button> |
| 32 | 32 |
</li> |
| 33 |
- <li class="tab" id="notifyManage"> |
|
| 34 |
- <button type="button" onclick="TabType5(this,'5'); location.href='/web/user/notifyManage.do'">알림설정</button> |
|
| 35 |
- </li> |
|
| 36 | 33 |
<li class="tab" id="mberSecession"> |
| 37 | 34 |
<button type="button" onclick="TabType5(this,'6'); location.href='/web/user/mberSecession.do'">회원탈퇴</button> |
| 38 | 35 |
</li> |
Add a comment
Delete comment
Once you delete this comment, you won't be able to recover it. Are you sure you want to delete this comment?