이지우 - 사용자 헤더 영역에 단가 및 발송가능 건수 내용 추가
@4480ad4c27122fcf15ee5541739c0b645c44719a
--- 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/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/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/web/MainController.java
+++ src/main/java/itn/web/MainController.java
... | ... | @@ -1262,37 +1262,15 @@ |
| 1262 | 1262 |
} |
| 1263 | 1263 |
|
| 1264 | 1264 |
/* |
| 1265 |
- * 회원별 정보(단가), 기본 단가, 남은 이벤트 기간 조회 |
|
| 1265 |
+ * 회원별 단가, 기본 단가, 이벤트 정보 조회 |
|
| 1266 | 1266 |
* 2025.07.25 이지우 추가 |
| 1267 | 1267 |
* */ |
| 1268 |
- MberManageVO mberPriceVO = new MberManageVO(); |
|
| 1269 |
- JoinSettingVO sysJoinSetVO = mjonMsgDataService.selectJoinSettingInfo(); |
|
| 1270 |
- MjonEventVO mjonEventVO = new MjonEventVO(); |
|
| 1268 |
+ MberManageVO mberHeaderInfoVO = new MberManageVO(); |
|
| 1271 | 1269 |
if(loginVO != null) {
|
| 1272 |
- mberPriceVO = mberManageService.selectMber(loginVO.getId()); |
|
| 1273 |
- if(!(mberPriceVO.getShortPrice() > 0)) mberPriceVO.setShortPrice(sysJoinSetVO.getShortPrice()); |
|
| 1274 |
- if(!(mberPriceVO.getLongPrice() > 0)) mberPriceVO.setLongPrice(sysJoinSetVO.getLongPrice()); |
|
| 1275 |
- if(!(mberPriceVO.getPicturePrice() > 0)) mberPriceVO.setPicturePrice(sysJoinSetVO.getPicturePrice()); |
|
| 1276 |
- if(!(mberPriceVO.getPicture2Price() > 0)) mberPriceVO.setPicture2Price(sysJoinSetVO.getPicture2Price()); |
|
| 1277 |
- if(!(mberPriceVO.getPicture3Price() > 0)) mberPriceVO.setPicture3Price(sysJoinSetVO.getPicture3Price()); |
|
| 1278 |
- //카카오, 팩스는 기본단가 고정 |
|
| 1279 |
- mberPriceVO.setKakaoAtPrice(sysJoinSetVO.getKakaoAtPrice()); |
|
| 1280 |
- mberPriceVO.setFaxPrice(sysJoinSetVO.getFaxPrice()); |
|
| 1281 |
- |
|
| 1282 |
- mjonEventVO.setMberId(loginVO.getId()); |
|
| 1283 |
- mjonEventVO = mjonEventService.selectEventMsgMberDefaultInfo(mjonEventVO); |
|
| 1284 |
- String eventEndDateStr = ""; |
|
| 1285 |
- if(StringUtil.isNotEmpty(mjonEventVO.getEventEndDate())) {
|
|
| 1286 |
- eventEndDateStr = mjonEventVO.getEventEndDate(); |
|
| 1287 |
- LocalDate today = LocalDate.now(); |
|
| 1288 |
- DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
|
| 1289 |
- LocalDate eventEndDate = LocalDate.parse(eventEndDateStr, formatter); |
|
| 1290 |
- long eventLeftDay = ChronoUnit.DAYS.between(today, eventEndDate); |
|
| 1291 |
- model.addAttribute("eventLeftDay", eventLeftDay);
|
|
| 1292 |
- } |
|
| 1293 |
- |
|
| 1270 |
+ mberHeaderInfoVO = mberManageService.selectMberHeaderInfo(loginVO.getId()); |
|
| 1294 | 1271 |
} |
| 1295 |
- model.addAttribute("mberPriceVO", mberPriceVO);
|
|
| 1272 |
+ model.addAttribute("mberHeaderInfoVO", mberHeaderInfoVO);
|
|
| 1273 |
+ |
|
| 1296 | 1274 |
return "web/com/webCommonHeader"; |
| 1297 | 1275 |
} |
| 1298 | 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/webapp/WEB-INF/jsp/web/com/webCommonHeader.jsp
+++ src/main/webapp/WEB-INF/jsp/web/com/webCommonHeader.jsp
... | ... | @@ -1794,59 +1794,60 @@ |
| 1794 | 1794 |
<ul class="send_available_number"> |
| 1795 | 1795 |
<li> |
| 1796 | 1796 |
<p class="title">· 단문</p> |
| 1797 |
- <fmt:formatNumber type="number" maxFractionDigits="3" value="${mberPriceVO.shortPrice}" var="shortPrice" />
|
|
| 1797 |
+ <fmt:formatNumber type="number" maxFractionDigits="3" value="${mberHeaderInfoVO.headerShortPrice}" var="shortPrice" />
|
|
| 1798 | 1798 |
<p class="number"><span class="c_002c9a fwBold"><c:out value="${shortPrice}"/></span>원
|
| 1799 |
- <fmt:formatNumber type="number" maxFractionDigits="3" value="${Math.floor(userMoney / mberPriceVO.shortPrice)}" var="shotCnt" />
|
|
| 1800 |
- (<c:out value="${shotCnt}"/>건)</p>
|
|
| 1799 |
+ <fmt:formatNumber type="number" maxFractionDigits="3" value="${mberHeaderInfoVO.headerShortCnt}" var="shortCnt" />
|
|
| 1800 |
+ (<c:out value="${shortCnt}"/>건)</p>
|
|
| 1801 | 1801 |
</li> |
| 1802 | 1802 |
<li> |
| 1803 | 1803 |
<p class="title">· 장문</p> |
| 1804 |
- <fmt:formatNumber type="number" maxFractionDigits="3" value="${mberPriceVO.longPrice}" var="longPrice" />
|
|
| 1805 |
- <p class="number"><span class="c_002c9a fwBold"><c:out value="${longPrice}"/></span>원
|
|
| 1806 |
- <fmt:formatNumber type="number" maxFractionDigits="3" value="${Math.floor(userMoney / mberPriceVO.longPrice)}" var="longCnt" />
|
|
| 1807 |
- (<c:out value="${longCnt}"/>건)</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 | 1808 |
</li> |
| 1809 | 1809 |
<li> |
| 1810 | 1810 |
<p class="title">· 그림(1장)</p> |
| 1811 |
- <fmt:formatNumber type="number" maxFractionDigits="3" value="${mberPriceVO.picturePrice}" var="picturePrice" />
|
|
| 1811 |
+ <fmt:formatNumber type="number" maxFractionDigits="3" value="${mberHeaderInfoVO.headerPicturePrice}" var="picturePrice" />
|
|
| 1812 | 1812 |
<p class="number"><span class="c_002c9a fwBold"><c:out value="${picturePrice}"/></span>원
|
| 1813 |
- <fmt:formatNumber type="number" maxFractionDigits="3" value="${Math.floor(userMoney / mberPriceVO.picturePrice)}" var="pictureCnt" />
|
|
| 1813 |
+ <fmt:formatNumber type="number" maxFractionDigits="3" value="${mberHeaderInfoVO.headerPictureCnt}" var="pictureCnt" />
|
|
| 1814 | 1814 |
(<c:out value="${pictureCnt}"/>건)</p>
|
| 1815 | 1815 |
</li> |
| 1816 | 1816 |
<li> |
| 1817 | 1817 |
<p class="title">· 그림(2장)</p> |
| 1818 |
- <fmt:formatNumber type="number" maxFractionDigits="3" value="${mberPriceVO.picture2Price}" var="picture2Price" />
|
|
| 1818 |
+ <fmt:formatNumber type="number" maxFractionDigits="3" value="${mberHeaderInfoVO.headerPicture2Price}" var="picture2Price" />
|
|
| 1819 | 1819 |
<p class="number"><span class="c_002c9a fwBold"><c:out value="${picture2Price}"/></span>원
|
| 1820 |
- <fmt:formatNumber type="number" maxFractionDigits="3" value="${Math.floor(userMoney / mberPriceVO.picture2Price)}" var="picture2Cnt" />
|
|
| 1820 |
+ <fmt:formatNumber type="number" maxFractionDigits="3" value="${mberHeaderInfoVO.headerPicture2Cnt}" var="picture2Cnt" />
|
|
| 1821 | 1821 |
(<c:out value="${picture2Cnt}"/>건)</p>
|
| 1822 | 1822 |
</li> |
| 1823 | 1823 |
<li> |
| 1824 | 1824 |
<p class="title">· 그림(3장)</p> |
| 1825 |
- <fmt:formatNumber type="number" maxFractionDigits="3" value="${mberPriceVO.picture3Price}" var="picture3Price" />
|
|
| 1825 |
+ <fmt:formatNumber type="number" maxFractionDigits="3" value="${mberHeaderInfoVO.headerPicture3Price}" var="picture3Price" />
|
|
| 1826 | 1826 |
<p class="number"><span class="c_002c9a fwBold"><c:out value="${picture3Price}"/></span>원
|
| 1827 |
- <fmt:formatNumber type="number" maxFractionDigits="3" value="${Math.floor(userMoney / mberPriceVO.picture3Price)}" var="picture3Cnt" />
|
|
| 1827 |
+ <fmt:formatNumber type="number" maxFractionDigits="3" value="${mberHeaderInfoVO.headerPicture3Cnt}" var="picture3Cnt" />
|
|
| 1828 | 1828 |
(<c:out value="${picture3Cnt}"/>건)</p>
|
| 1829 | 1829 |
</li> |
| 1830 | 1830 |
<li> |
| 1831 | 1831 |
<p class="title">· 알림톡</p> |
| 1832 |
- <fmt:formatNumber type="number" maxFractionDigits="3" value="${mberPriceVO.kakaoAtPrice}" var="kakaoAtPrice" />
|
|
| 1832 |
+ <fmt:formatNumber type="number" maxFractionDigits="3" value="${mberHeaderInfoVO.headerKakaoAtPrice}" var="kakaoAtPrice" />
|
|
| 1833 | 1833 |
<p class="number"><span class="c_002c9a fwBold"><c:out value="${kakaoAtPrice}"/></span>원
|
| 1834 |
- <fmt:formatNumber type="number" maxFractionDigits="3" value="${Math.floor(userMoney / mberPriceVO.kakaoAtPrice)}" var="kakaoAtCnt" />
|
|
| 1834 |
+ <fmt:formatNumber type="number" maxFractionDigits="3" value="${mberHeaderInfoVO.headerKakaoAtCnt}" var="kakaoAtCnt" />
|
|
| 1835 | 1835 |
(<c:out value="${kakaoAtCnt}"/>건)</p>
|
| 1836 | 1836 |
</li> |
| 1837 | 1837 |
<li> |
| 1838 | 1838 |
<p class="title">· 팩스</p> |
| 1839 |
- <fmt:formatNumber type="number" maxFractionDigits="3" value="${mberPriceVO.faxPrice}" var="faxPrice" />
|
|
| 1839 |
+ <fmt:formatNumber type="number" maxFractionDigits="3" value="${mberHeaderInfoVO.headerFaxPrice}" var="faxPrice" />
|
|
| 1840 | 1840 |
<p class="number"><span class="c_002c9a fwBold"><c:out value="${faxPrice}"/></span>원
|
| 1841 |
- <fmt:formatNumber type="number" maxFractionDigits="3" value="${Math.floor(userMoney / mberPriceVO.faxPrice)}" var="faxCnt" />
|
|
| 1841 |
+ <fmt:formatNumber type="number" maxFractionDigits="3" value="${mberHeaderInfoVO.headerFaxCnt}" var="faxCnt" />
|
|
| 1842 | 1842 |
(<c:out value="${faxCnt}"/>건)</p>
|
| 1843 | 1843 |
</li> |
| 1844 | 1844 |
</ul> |
| 1845 |
- <c:if test="${prePaymentYn eq 'Y' and (not empty eventLeftDay and eventLeftDay > 0)}">
|
|
| 1846 |
- <p class="event_term">이벤트 적용중 <span class="fwBold">D-${eventLeftDay}</span></p>
|
|
| 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>
|
|
| 1847 | 1848 |
</c:if> |
| 1848 | 1849 |
<c:if test="${prePaymentYn eq 'N'}">
|
| 1849 |
- <p class="event_term">후불제(매월 1일 자동충전)</p> |
|
| 1850 |
+ <div class="event_term" style="display:block">후불제(매월 1일 자동충전)</div> |
|
| 1850 | 1851 |
</c:if> |
| 1851 | 1852 |
</div> |
| 1852 | 1853 |
</div> |
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?