Просмотр исходного кода

Merge branch 'develop' into bin2107

bin2107 4 лет назад
Родитель
Сommit
1e545ef6c2

+ 37 - 0
src/main/java/com/style24/front/biz/service/TsfOrderService.java

@@ -2146,4 +2146,41 @@ public class TsfOrderService {
 	public int getNoMemberOrderInfo(Order order) {
 		return orderDao.getNoMemberOrderInfo(order);
 	}
+	
+	/**
+	 * 주문서 계산금액 재계산 로직
+	 * @param Order
+	 * @return
+	 * @author jsh77b
+	 * @since 2021. 07. 23
+	 */
+	public String orderAmtValidationCheck(Order order) {
+		String result = "";
+		
+		Order po = new Order();
+		
+		// 장바구니정보 및 상품쿠폰정보, 장바구니쿠폰정보, 선포인트정보, 포인트정보, 상품권정보
+		Collection<Order> orderDetailList = order.getOrderDetailList();
+		int [] cartSqArr = new int[orderDetailList.size()];
+		int idx = 0;
+		for (Order vo : orderDetailList) {
+			cartSqArr[idx] = vo.getCartSq();
+		}
+		
+		po.setCartSqArr(cartSqArr);
+		
+		// 판매가정보, 즉시할인금액, 옵션금액, 다다익선적용금액 정보 조회
+		Collection<Order> tmtbGoodsApplyList = cartService.getMoreBetterAmtList(po);
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		return result;
+	}
 }

+ 68 - 3
src/main/java/com/style24/front/biz/web/TsfOrderController.java

@@ -771,6 +771,59 @@ public class TsfOrderController extends TsfBaseController {
 		
 		return mav;
 	}
+	
+	/**
+	 * 주문 데이터 생성 (주문접수) : 사용안함
+	 *
+	 * @param
+	 * @return
+	 * @author xodud1202
+	 * @since 2021. 03. 04
+	 */
+	@PostMapping("/validationCheck")
+	@ResponseBody
+	public ModelAndView validationCheck(@RequestBody Order order) {
+		ModelAndView mav = new ModelAndView();
+		 
+		// 2021.03.09 주문데이타 등록 
+		// 1. 로그인체크 후 custNo 설정
+		if (TsfSession.isLogin()) {
+			order.setCustNo(TsfSession.getInfo().getCustNo());
+		} else {
+			order.setJsessionId(TsfSession.getSessionId());
+			order.setCustNo(0);
+		}
+		
+		order.setFrontGb(TsfSession.getFrontGb());
+
+		// 2. 주문정보유효성체크
+		String resultStr = orderService.orderValidationCheck(order);
+		
+		// 주문정보유효성체크 실패
+		if (!"SUCCESS".equals(resultStr)) {
+			mav.addObject("message", resultStr);
+			mav.setViewName(super.getDeviceViewName("order/OrderEmpty"));
+			return mav;
+		}
+		
+		// 2.1 주문금액유효성체크
+		/*
+		resultStr = orderService.orderAmtValidationCheck(order);
+		
+		// 주문금액유효성체크 실패
+		if (!"SUCCESS".equals(resultStr)) {
+			mav.addObject("message", resultStr);
+			mav.setViewName(super.getDeviceViewName("order/OrderEmpty"));
+			return mav;
+		}
+		*/
+		
+		// 2021.05.10 추가
+		mav.addObject("message"	, resultStr);
+		mav.setViewName(super.getDeviceViewName("order/OrderEmpty"));
+
+		return mav;
+	}
 
 	/**
 	 * 주문 데이터 생성 (주문접수)
@@ -784,7 +837,7 @@ public class TsfOrderController extends TsfBaseController {
 	@ResponseBody
 	public ModelAndView createOrder(@RequestBody Order order) {
 		ModelAndView mav = new ModelAndView();
-		 
+		
 		// 2021.03.09 주문데이타 등록 
 		// 1. 로그인체크 후 custNo 설정
 		if (TsfSession.isLogin()) {
@@ -799,12 +852,24 @@ public class TsfOrderController extends TsfBaseController {
 		// 2. 주문정보유효성체크
 		String resultStr = orderService.orderValidationCheck(order);
 		
-		// 주문정보 유효성체크 실패
+		// 주문정보유효성체크 실패
+		if (!"SUCCESS".equals(resultStr)) {
+			mav.addObject("message", resultStr);
+			mav.setViewName(super.getDeviceViewName("order/OrderEmpty"));
+			return mav;
+		}
+		
+		// 2.1 주문금액유효성체크
+		/*
+		resultStr = orderService.orderAmtValidationCheck(order);
+		
+		// 주문금액유효성체크 실패
 		if (!"SUCCESS".equals(resultStr)) {
 			mav.addObject("message", resultStr);
 			mav.setViewName(super.getDeviceViewName("order/OrderEmpty"));
 			return mav;
 		}
+		*/
 		
 		// 3. 주문기본정보등록(주문접수)
 		coreOrderService.createPreOrder(order);
@@ -827,7 +892,7 @@ public class TsfOrderController extends TsfBaseController {
 				
 		mav.addObject("payment"				, payment);
 		mav.addObject("orderDetailList"		, order.getOrderDetailList());
-		mav.addObject("message"				, resultStr);
+		mav.addObject("message"				, "SUCCESS");
 		mav.setViewName(super.getDeviceViewName("pg/kcpOrder"));
 
 		return mav;

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

@@ -365,8 +365,7 @@
 				ON	 T.TMTB_SQ = SUM_DATA.TMTB_SQ
 				LEFT   JOIN TB_OPTION OP
 				ON	 CD.ITEM_CD = OP.GOODS_CD
-				AND	CD.OPT_CD1 = OP.OPT_CD1
-				AND	CD.OPT_CD2 = OP.OPT_CD2
+				AND	 CD.OPT_CD = OP.OPT_CD
 				LEFT   OUTER JOIN TB_TMTB_APPLY_GOODS NOT_APPLY
 				ON	 T.TMTB_SQ = NOT_APPLY.TMTB_SQ
 				AND	C.GOODS_CD = NOT_APPLY.GOODS_CD

+ 0 - 1
src/main/webapp/WEB-INF/views/mob/order/OrderCouponApplyPopMob.html

@@ -174,7 +174,6 @@
 			
 		</div>
 	</div>
-	<a href="#close-modal" rel="modal:close" id="couponModifyPop_close" class="close-modal">Close</a>
 </form>
 
 <script th:inline="javascript">

+ 38 - 2
src/main/webapp/WEB-INF/views/mob/order/OrderFormMob.html

@@ -1352,8 +1352,15 @@ var paymentInfoSet = function() {
 							xhr.setRequestHeader("AJAX"			, "true");
 							xhr.setRequestHeader('Accept'		, 'application/json');
 							xhr.setRequestHeader('Content-Type'	, 'application/json');
+							
+							// 2021.07.24 유효성체크 분리작업
+							gagajf.showProgressbar(true);
 						},
 						success 	: function(result) {
+							
+							// 2021.07.24 유효성체크 분리작업
+							gagajf.showProgressbar(false);
+							
 							// 결재정보로드
 							$("#order_info").html(result);
 							
@@ -1490,8 +1497,11 @@ var dcAmtInfoSet = function() {
 							
 							$("#couponModifyPop").modal("show");
 							
-							// 쿠폰적용초기화(할인율최고)(상품,장바구니)
-							custGoodsCpnInit();
+							// 쿠폰초기화 2021.07.24 쿠폰팝업 초기화 기능 막음
+							//custGoodsCpnInit();
+							
+							custCpntemp = true;
+							
 							return false;
 						});
 						
@@ -1505,6 +1515,8 @@ var dcAmtInfoSet = function() {
 							$("body").css({"overflow":"hidden"});
 						});
 						
+						var custCpntemp = true;
+						
 						// 1.8.4 쿠폰적용버튼
 						$("#btn_coupon_apply").on("click", function(){
 							// 상품쿠폰적용
@@ -1524,9 +1536,33 @@ var dcAmtInfoSet = function() {
 								$("#chk-maxdisc").trigger("click");
 							}
 							
+							custCpntemp = false;
 							$("#couponModifyPop .close-modal").trigger("click");				// 팝업닫기
 						});
 						
+						// 2021.07.24 쿠폰닫기버튼일때도 쿠폰적용
+						$("#couponModifyPop .close-modal").on(function(){
+							if (custCpntemp) {
+								
+								// 상품쿠폰적용
+								$('#couponApplyForm .couponSelectPop ul li.selected').each(function(index){
+									custCpnApply($(this), index, "goodsCpn");
+								});
+								
+								// 장바구니쿠폰적용
+								$('#couponApplyForm .cartCpn').each(function(index){								
+									if ($(this).find("input[name=rdi-cart-coupon]").is(":checked")) {
+										custCpnApply($(this), index, "cartCpn");
+									}
+								});
+								
+								// 최대할인혜택적용 체크해제
+								if ($("#chk-maxdisc").is(":checked")) {
+									$("#chk-maxdisc").trigger("click");
+								}
+							}
+						});
+						
 						// 1.8.5 쿠폰 최대할인금액 초기화 버튼 설정
 						$("#orderForm #chk-maxdisc").on("click", function(){
 							// 2021.04.23 보유쿠폰이 없을때 적용

+ 0 - 1
src/main/webapp/WEB-INF/views/web/order/OrderCouponApplyPopWeb.html

@@ -158,7 +158,6 @@
 			</div>
 		</div>
 	</div>
-	<a href="#close-modal" rel="modal:close" id="couponModifyPop_close" class="close-modal">Close</a>
 </form>
 
 <script th:inline="javascript">

+ 37 - 2
src/main/webapp/WEB-INF/views/web/order/OrderFormWeb.html

@@ -1007,6 +1007,7 @@ var paymentInfoSet = function() {
 				
 				// 결제하기
 				$("#btn_payment").on("click", function(){
+					
 					// 사은품정보
 					var prePntDcAmtYn		= $("#orderForm input[name='rdi-beforpoint']:checked").val();
 					var paynormal			= $("#orderForm input[name='rdi-paynormal']:checked").val();
@@ -1263,8 +1264,15 @@ var paymentInfoSet = function() {
 							xhr.setRequestHeader("AJAX"			, "true");
 							xhr.setRequestHeader('Accept'		, 'application/json');
 							xhr.setRequestHeader('Content-Type'	, 'application/json');
+							
+							// 2021.07.24 유효성체크 분리작업
+							gagajf.showProgressbar(true);
 						},
 						success 	: function(result) {
+							
+							// 2021.07.24 유효성체크 분리작업
+							gagajf.showProgressbar(false);
+							
 							// 결재정보로드
 							$("#order_info").html(result);
 							
@@ -1393,6 +1401,8 @@ var dcAmtInfoSet = function() {
 							}
 						}
 						
+						var custCpntemp = true;
+						
 						// 1.8.4 쿠폰적용버튼
 						$("#btn_coupon_apply").on("click", function(){
 							
@@ -1413,9 +1423,32 @@ var dcAmtInfoSet = function() {
 								$("#chk-maxdisc").attr("checked", false);
 							}
 							
+							custCpntemp = false;
 							$(".close-modal").trigger("click");				// 팝업닫기
 						});
 						
+						// 2021.07.24 쿠폰닫기버튼일때도 쿠폰적용
+						$(".close-modal").live("click", function() {
+							if (custCpntemp) {
+								// 상품쿠폰적용
+								$('#couponApplyForm .goodsCpn ul li.selected').each(function(index){
+									custCpnApply($(this));
+								});
+								
+								// 장바구니쿠폰적용
+								$('#couponApplyForm .cartCpn').each(function(index){
+									if ($(this).find("input[name=rdi-cart-coupon]").is(":checked")) {
+										custCpnApply($(this));
+									}
+								});
+								
+								// 최대할인혜택적용 체크해제
+								if ($("#chk-maxdisc").is(":checked")) {
+									$("#chk-maxdisc").attr("checked", false);
+								}
+							}
+						});
+						
 						// 1.8.5 쿠폰 최대할인금액 초기화 버튼 설정
 						$("#chk-maxdisc").on("click", function(){
 							// 2021.04.23 보유쿠폰이 없을때 적용
@@ -1447,8 +1480,10 @@ var dcAmtInfoSet = function() {
 						return false;
 					}
 					
-					// 쿠폰초기화
-					custGoodsCpnInit();
+					// 쿠폰초기화 2021.07.24 쿠폰팝업 초기화 기능 막음
+					//custGoodsCpnInit();
+					
+					custCpntemp = true;
 					
 					$("#couponModifyPop").modal("show");
 				});