Преглед на файлове

Merge branch 'jsshin' into develop

jsshin преди 5 години
родител
ревизия
2a1a5c1306

+ 28 - 1
src/main/java/com/style24/front/biz/service/TsfCustomerService.java

@@ -967,7 +967,6 @@ public class TsfCustomerService {
 		params.setCustNo(customer.getCustNo());
 		params.setSiteCd(customer.getSiteCd());
 		Collection<CustGrade> custGradePolicy = customerDao.getCustGradePolicy(params);
-		result.set("custGradePolicy", custGradePolicy);
 
 		CustGrade expctCustGrade;
 		for (CustGrade grade : custGradePolicy) {
@@ -1043,4 +1042,32 @@ public class TsfCustomerService {
 		}
 	}
 
+
+
+	/*
+	 * 고객 예상등급 이후 정보
+	 *
+	 * @param  custGrade - 고객번호
+	 * @return CustGrade
+	 * @author jsshin
+	 * @since 2021. 05. 11
+	 */
+	public GagaMap getNextCustGradeInfo(CustGrade custGrade) {
+		GagaMap result = new GagaMap();
+		// 1.고객 예상등급 이후 정보
+		List<CustGrade> custGradePolicy = (List<CustGrade>) customerDao.getCustGradePolicy(custGrade);
+		CustGrade nextCustGradePolicy = custGradePolicy.get(0);
+		nextCustGradePolicy.setCustNo(custGrade.getCustNo());
+		// 2.고객 예상등급 이후 정보로 주문금액 확인
+		CustGrade nextCustGrade = customerDao.getExpectedCustGrde(nextCustGradePolicy);
+		if (nextCustGrade != null) {
+			nextCustGradePolicy.setOrdCnt(nextCustGrade.getOrdCnt());
+			nextCustGradePolicy.setSumRealOrdAmt(nextCustGrade.getSumRealOrdAmt());
+		} else {
+			nextCustGradePolicy.setOrdCnt(0);
+			nextCustGradePolicy.setSumRealOrdAmt(0);
+		}
+		result.set("nextCustGradePolicy", nextCustGradePolicy);
+		return result;
+	}
 }

+ 18 - 0
src/main/java/com/style24/front/biz/web/TsfPlanningController.java

@@ -7,11 +7,13 @@ import java.util.Calendar;
 import java.util.Collection;
 import java.util.Date;
 
+import com.style24.persistence.domain.CustGrade;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.mobile.device.Device;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -579,6 +581,22 @@ public class TsfPlanningController extends TsfBaseController {
 		return mav;
 	}
 
+
+
+	@GetMapping("/next/custgrade/info/{nextGradeCd}")
+	@ResponseBody
+	public GagaMap getNextCustGradeInfo(@PathVariable String nextGradeCd) {
+		boolean isLogin = TsfSession.isLogin();
+		if (!isLogin) {
+			throw new IllegalStateException("로그인 하시기 바랍니다.");
+		}
+		CustGrade custGrade = new CustGrade();
+		custGrade.setSiteCd(TscConstants.Site.STYLE24.value());
+		custGrade.setCustNo(TsfSession.getInfo().getCustNo());
+		custGrade.setGradeCd(nextGradeCd);
+		return customerService.getNextCustGradeInfo(custGrade);
+	}
+
 	/**
 	 * 회원등급 쿠폰 다운로드
 	 *

+ 1 - 1
src/main/java/com/style24/persistence/mybatis/shop/TsfCustomer.xml

@@ -603,7 +603,7 @@
 		/* TsfCustomer.getExpectedCustGrde */
 		SELECT B.ORD_NO_CNT
 		     , B.SUM_REAL_ORD_AMT
-		     , #{gradeCd}        AS GRADE_CD
+		     , #{gradeCd}                         AS GRADE_CD
 		     , FN_GET_CODE_NM('G110', #{gradeCd}) AS GRADE_CD_NM
 		     , SUBSTRING(#{gradeCd}, 6, 2)        AS GRADE_CD_NO
 		FROM  (

+ 13 - 17
src/main/webapp/WEB-INF/views/web/planning/PlanningCustGradeBenefitFormWeb.html

@@ -277,9 +277,8 @@
 
 		// 예정등급이 VIP가 아닌경우
 		if (Number(expctCustGrade.gradeCdNo) > 10) {
-			let nextGradeNo = Number(expctCustGrade.gradeCdNo)-10;				// 다음등급번호
-			let nextCustGradePolicy = fnGetNextGradePolicyInfo(nextGradeNo);	// 다음등급정책정보
-			fnNextGradeCondition(nextCustGradePolicy, expctCustGrade);			// 다음조건 알림
+			let nextGradeNo = 'G110_'+(Number(expctCustGrade.gradeCdNo)-10);				// 다음등급번호
+			fnGetNextGradePolicyInfo(nextGradeNo);	// 다음등급정책정보
 		} else {
 			fnDisplayVipText(expctCustGrade);
 		}
@@ -288,18 +287,15 @@
 
  	// 다음 등급정책
  	var fnGetNextGradePolicyInfo = function (nextGradeNo) {
-		let custGradePolicy = exptCustGradeMap.custGradePolicy;	// 등급별정책
-		let nextCustGradePolicy;
-		$(custGradePolicy).each(function(idx, item) {
-			if (Number(item.gradeCdNo) === nextGradeNo ) {
-				nextCustGradePolicy = item;
-			}
-		});
-		return nextCustGradePolicy;
+		$.get('/planning/next/custgrade/info/' + nextGradeNo
+			, function (data) {
+				fnNextGradeCondition(data.nextCustGradePolicy);			// 다음조건 알림
+			});
 	}
 
 	// 다음등급 조건 알림
-	var fnNextGradeCondition = function (nextCustGradePolicy, expctCustGrade) {
+	var fnNextGradeCondition = function (nextCustGradePolicy) {
+ 		console.log('nextCustGradePolicy ', nextCustGradePolicy);
 		let $etcGrade = $('#etcGrade');
 		let $sameVipGrade = $('#sameVipGrade');
 		let $vipGrade = $('#vipGrade');
@@ -310,13 +306,13 @@
 		let $nextGrde = $('#nextGrde');
 
 		let remnantBuyAmt = 0;
-		if (nextCustGradePolicy.minBuyAmt > expctCustGrade.sumRealOrdAmt) {
-			remnantBuyAmt = nextCustGradePolicy.minBuyAmt - expctCustGrade.sumRealOrdAmt;
+		if (nextCustGradePolicy.minBuyAmt > nextCustGradePolicy.sumRealOrdAmt) {
+			remnantBuyAmt = nextCustGradePolicy.minBuyAmt - nextCustGradePolicy.sumRealOrdAmt;
 		}
 
 		let remnantBuyCnt = 0;
-		if (nextCustGradePolicy.minBuyCnt > expctCustGrade.ordCnt) {
-			remnantBuyCnt = nextCustGradePolicy.minBuyCnt -  expctCustGrade.ordCnt;
+		if (nextCustGradePolicy.minBuyCnt > nextCustGradePolicy.ordCnt) {
+			remnantBuyCnt = nextCustGradePolicy.minBuyCnt -  nextCustGradePolicy.ordCnt;
 		}
 
 		$etcGrade.show();
@@ -361,7 +357,7 @@
 
 	$('#btnGradeCoupon').on('click', function () {
 		let params = JSON.stringify({});
-		gagajf.ajaxJsonSubmit('/planning/event/custgrade/coupon/down', params, fnDownloadCallback)
+		gagajf.ajaxJsonSubmit('/planning/event/custgrade/coupon/down', params, fnDownloadCallback);
 	});
 
  	var fnDownloadCallback = function (result) {