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

이태영 - 20210602 선물하기 2개 이상 구매 불가, 비로그인 상태일 경우 로그인 화면으로 이동 추가

xodud lee 5 лет назад
Родитель
Сommit
be13a3917f

+ 13 - 5
src/main/java/com/style24/front/biz/service/TsfCartService.java

@@ -82,6 +82,8 @@ public class TsfCartService {
 			login.setCustGrade("G110");
 		}
 
+		result.put("custNo", login.getCustNo());
+
 		String goodsType = params.iterator().next().getGoodsType();
 		String cartGb = params.iterator().next().getCartGb();
 		if(StringUtils.isEmpty(goodsType)) {
@@ -281,7 +283,6 @@ public class TsfCartService {
 		result.put("goodsType", goodsType);
 		result.put("cartGb", cartGb);
 		result.put("message", "SUCCESS");
-		result.put("custNo", login.getCustNo());
 
 		return result;
 	}
@@ -319,6 +320,7 @@ public class TsfCartService {
 		}
 
 		cart.setJsessionId(TscSession.getSessionId());
+		boolean chkGoOrderForm = false;
 
 		List<String> sendCartSqList = new ArrayList<String>();
 		for (Cart carts : params) {
@@ -363,7 +365,11 @@ public class TsfCartService {
 				} else {
 					cart.setCartGb(TscConstants.CartGb.MOB_ORDER.value());
 				}
+				if("O".equals(cartInfos.iterator().next().getCartGb())) {
+					chkGoOrderForm = true;
+				}
 			} else if (!StringUtils.isEmpty(cartInfos.iterator().next().getCartGb()) && "G".equals(cartInfos.iterator().next().getCartGb())) {
+				chkGoOrderForm = true;
 				cart.setCartGb(TscConstants.CartGb.GIFT.value());
 			} else {
 				cart.setCartGb(TscConstants.CartGb.CREATE_ORDER.value());
@@ -408,8 +414,9 @@ public class TsfCartService {
 			cartSqComma.append(cartSq);
 			i++;
 		}
-
-		TsfSession.setAttribute("cartSqArr", cartSqComma.toString());
+		if(chkGoOrderForm) {
+			TsfSession.setAttribute("cartSqArr", cartSqComma.toString());
+		}
 	}
 
 	@Transactional("shopTxnManager")
@@ -483,8 +490,9 @@ public class TsfCartService {
 			cartSqComma.append(cartSq);
 			i++;
 		}
-
-		TsfSession.setAttribute("cartSqArr", cartSqComma.toString());
+		if (!StringUtils.isEmpty(params.iterator().next().getCartGb()) && ("O".equals(params.iterator().next().getCartGb()) || "G".equals(params.iterator().next().getCartGb()))) {
+			TsfSession.setAttribute("cartSqArr", cartSqComma.toString());
+		}
 	}
 
 	// 장바구니 상품 리스트 조회 서비스

+ 2 - 1
src/main/java/com/style24/front/biz/web/TsfOrderController.java

@@ -90,7 +90,8 @@ public class TsfOrderController extends TsfBaseController {
 	public ModelAndView orderNoMember(Order order, @RequestParam(value = "sEncData", required = false) String sEncData
 			, @RequestParam(value = "authMethod", required = false) String authMethod) {
 		ModelAndView mav = new ModelAndView();
-		
+		TsfSession.removeAtrribute("cartSqArr");		// 2021.06.03 주문서 접근시 장바구니 등록 세션 제거
+
 		// 비회원 주문시 로직 정리
 		// @ WEB 인 경우에는 고객정보 입력 화면 후 주문서 이동 후 본인인중
 		// @ WEB 의 경우에는 입력한 고객정보와 인증받은 고객정보가 다른경우 고객정보 업데이트

+ 5 - 0
src/main/webapp/WEB-INF/views/mob/goods/GoodsDealDetailFormMob.html

@@ -947,6 +947,11 @@
 			mcxDialog.alert("옵션을 선택해 주세요.");
 			return false;
 		}
+
+		if (btnType == "G" && targetSize > 1){
+			mcxDialog.alert("선물하기는 1개의 옵션만 선택하실 수 있습니다.");
+			return false;
+		}
 		
 		$target.each(function() {
 			

+ 11 - 1
src/main/webapp/WEB-INF/views/mob/goods/GoodsDetailFormMob.html

@@ -2106,6 +2106,12 @@
 			
 			if (goodsType == 'G056_N'){
 				let compsList = [];
+
+				if(btnType == "G" && targetSize > 1) {
+					mcxDialog.alert("선물하기는 1개의 옵션만 선택하실 수 있습니다.");
+					return false;
+				}
+
 				target.each(function() {
 
 					let ea = parseInt($(this).val());
@@ -2133,7 +2139,11 @@
 				cfnAddCart(compsList);
 
 			}else{ // 세트
-				
+				if(btnType == "G" && targetSize > 1) {
+					mcxDialog.alert("선물하기는 1개의 옵션만 선택하실 수 있습니다.");
+					return false;
+				}
+
 				target.each(function() {
 					let compsList = [];
 					let goodsList = {

+ 8 - 8
src/main/webapp/ux/style24_link.js

@@ -355,16 +355,16 @@ function cfnAddCart(cartList) {
 						$("#directOrderForm").submit();
 					}
 				} else if (result.cartGb == "G") {
-					if(result.custNo == 0) {
+					if(result.custNo != null && result.custNo != 0) {
+						let orderHtml = "";
+						for(let i = 0 ; i < result.cartSqList.length ; i++) {
+							orderHtml += '<input type="hidden" name="cartSqArr" value="' + result.cartSqList[i] + '" />';
+						}
+						$("#directOrderForm").html(orderHtml);
+						$("#directOrderForm").submit();
+					} else {
 						location.href="/signin";
 					}
-					
-					let orderHtml = "";
-					for(let i = 0 ; i < result.cartSqList.length ; i++) {
-						orderHtml += '<input type="hidden" name="cartSqArr" value="' + result.cartSqList[i] + '" />';
-					}
-					$("#directOrderForm").html(orderHtml);
-					$("#directOrderForm").submit();
 				} else if (result.cartGb == "N") {
 					buy_nc_req(result.cartSqList);
 				} else {