Jelajahi Sumber

mo 딜 상품상세 선물하기 관련 수정

eskim 5 tahun lalu
induk
melakukan
6ad4bf5c3b

+ 4 - 3
src/main/java/com/style24/persistence/domain/GoodsStock.java

@@ -33,6 +33,7 @@ public class GoodsStock extends TscBaseDomain {
 	private int goodsQty;			// 안전재고
 	private int stockQty;			// 상품 재고
 	private String selfGoodsYn;		// 자사상품구분
+	private String giftPackYn;		// 선문주문가능여부
 	private String optNm;			// 옵션명
 	private String goodsStat;		// 상품상태
 	private int minOrdQty;
@@ -41,8 +42,8 @@ public class GoodsStock extends TscBaseDomain {
 	private String optCd1Nm;		// 옵션1칼라명(입점은 옵션명)
 	private String dispYn;			// 노출 여부
 	private int qty;				// 구성상품의 기본 수량
-	
+
 	@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
-	private String[] arrGoodsOption;				
-	
+	private String[] arrGoodsOption;
+
 }

+ 7 - 0
src/main/java/com/style24/persistence/mybatis/shop/TsfGoods.xml

@@ -317,6 +317,7 @@
 		         , Y.MIN_ORD_QTY
 		         , Y.SELF_GOODS_YN
 		         , Y.GOODS_TYPE
+		         , Y.GIFT_PACK_YN
 		         , Y.SELL_STDT
 		         , Y.SELL_EDDT
 		    FROM (
@@ -326,6 +327,7 @@
 		              , IFNULL(B.DISP_ORD, 1)                AS DISP_ORD
 		              , IFNULL(B.COMPS_CURR_PRICE, A.CURR_PRICE) AS CURR_PRICE
 		              , A.SELF_GOODS_YN
+		              , A.GIFT_PACK_YN
 		         FROM TB_GOODS A
 		         LEFT OUTER JOIN TB_GOODS_COMPOSE B ON A.GOODS_CD = B.GOODS_CD
 		         WHERE A.GOODS_CD = #{mastrGoodsCd}
@@ -345,6 +347,7 @@
 		     , SOLDOUT_YN
 		     , DISP_ORD
 		     , SELF_GOODS_YN
+		     , GIFT_PACK_YN
 		     , CURR_PRICE
 		FROM (
 		      SELECT O.GOODS_CD
@@ -357,6 +360,7 @@
 		           , O.DISP_ORD
 		           , G.MIN_ORD_QTY
 		           , G.SELF_GOODS_YN
+		           , G.GIFT_PACK_YN
 		           , G.CURR_PRICE
 		      FROM TMP_GOODS G
 		      INNER JOIN TB_OPTION O ON G.GOODS_CD = O.GOODS_CD
@@ -486,6 +490,7 @@
 		     , G.LIST_PRICE
 		     , G.GOODS_STAT
 		     , G.SELF_GOODS_YN
+		     , G.GIFT_PACK_YN
 		     , DATE_FORMAT(G.SELL_STDT ,'%Y%m%d%H%i%S') AS SELL_STDT
 		     , DATE_FORMAT(G.SELL_EDDT ,'%Y%m%d%H%i%S') AS SELL_EDDT
 		     , FN_GET_APPLY_CPN1_PRICE(G.GOODS_CD, #{frontGb})  AS CURR_PRICE
@@ -502,6 +507,8 @@
 		     , GS.GOODS_QNA_CNT
 		FROM TB_GOODS_COMPOSE C
 		INNER JOIN TB_GOODS G ON C.COMPS_GOODS_CD = G.GOODS_CD
+		                      AND NOW() BETWEEN G.SELL_STDT AND G.SELL_EDDT	/*판매기간 확인*/
+		                      AND G.SELF_MALL_YN = 'Y' -- 자사몰 노출
 		INNER JOIN TB_GOODS_SUMMARY GS ON G.GOODS_CD = GS.GOODS_CD
 		INNER JOIN TB_BRAND B ON G.BRAND_CD = B.BRAND_CD
 		                      AND B.USE_YN = 'Y'

+ 24 - 7
src/main/webapp/WEB-INF/views/mob/goods/GoodsDealDetailFormMob.html

@@ -308,13 +308,11 @@
 								총&nbsp;<span id="goodsTotalQty">0</span>개
 							</p>
 							<p class="price">
-								<span>
-									<b id="goodsTotalPrice">0</b><em>원</em>
-								</span>
+								<span><b id="goodsTotalPrice">0</b><em>원</em></span>
 							</p>
 						</div>
 						<div class="btn_box">
-							<button type="button" class="gift" id="btn_gift" onclick="fnAddCart('G','Up');" th:if="${goodsInfo.giftPackYn == 'Y'}">
+							<button type="button" class="gift" id="btnGift" onclick="fnAddCart('G','Up');" style="display:none;">
 								<span><span>선물해보세요!</span></span>
 							</button>
 							<th:block  th:if="${goodsInfo.stockQty > 0 and goodsInfo.goodsStat == 'G008_90'}">
@@ -690,7 +688,7 @@
 					if (item.addPrice > 0){
 						tag2 += '<div class="opt_price">+'+ item.addPrice.addComma() +'원</div>\n';	
 					}
-					tag2 += '<input type="hidden" name="opt2" value="'+ goodsCd +'" currPrice="'+ currPrice+'" addPrice="'+item.addPrice+'"  optCd="'+item.optCd+'"  optCd1="'+item.optCd1+'" optCd1Nm="'+item.optCd1Nm+'"  optCd2="'+item.optCd2+'"  minOrdQty="'+minOrdQty+'"  maxOrdQty="'+maxOrdQty+'" selfGoodsYn="'+selfGoodsYn+'"/>\n';
+					tag2 += '<input type="hidden" name="opt2" value="'+ goodsCd +'" currPrice="'+ currPrice+'" addPrice="'+item.addPrice+'"  optCd="'+item.optCd+'"  optCd1="'+item.optCd1+'" optCd1Nm="'+item.optCd1Nm+'"  optCd2="'+item.optCd2+'"  minOrdQty="'+minOrdQty+'"  maxOrdQty="'+maxOrdQty+'" selfGoodsYn="'+selfGoodsYn+'" giftPackYn="'+item.giftPackYn+'"/>\n';
 					tag2 += '</li>\n';
 					
 					tagUpS += tag1+tagUp+tag2;
@@ -728,6 +726,7 @@
 		let maxOrdQty = $target.attr("maxOrdQty");
 		let addPrice  = $target.attr("addPrice");
 		let selfGoodsYn  = $target.attr("selfGoodsYn");
+		let giftPackYn  = $target.attr("giftPackYn");
 		let optQty = minOrdQty;
 		
 		let params = new Object();
@@ -779,7 +778,7 @@
 			tag += '	</div>\n';
 			tag += '	<div class="number_count">\n';
 			tag += '		<span class="minus min_val" onclick="fnAdjustOrderEa(this);" adjust="-"><em class="sr-only">감소</em></span>\n';
-			tag += '		<input type="text" name="cea" optCd="'+optCd+'" maxlength="3" style="ime-mode:disabled" value="' +optQty+'" readonly minOrdQty="'+minOrdQty+'" maxOrdQty="'+maxOrdQty+'">\n';
+			tag += '		<input type="text" name="cea" optCd="'+optCd+'" maxlength="3" style="ime-mode:disabled" value="' +optQty+'" readonly minOrdQty="'+minOrdQty+'" maxOrdQty="'+maxOrdQty+'" giftPackYn="'+giftPackYn+'">\n';
 			tag += '		<input type="hidden" name="coption" value="'+optCd+'"  goodsCd="'+goodsCd+'"  price="'+currPrice+'"  addPrice="'+addPrice+'">\n';
 			tag += '		<span class="plus" onclick="fnAdjustOrderEa(this);" adjust="+"><em class="sr-only">추가</em></span>\n';
 			tag += '	</div>\n';
@@ -789,11 +788,13 @@
 			tag += '	<button type="button" class="btn_delete_item" onclick="fnSelectGoodsDel(\''+optCd+'\')"><span>삭제</span></button>\n';
 			tag += '</div>\n';
 			
-			
 			let $objUp = null;
 			$objUp = $('.pd_detail .opt_result'); 
 			$objUp.prepend(tag);
 			
+			//선물 주문관련 처리
+			if ("Y" == giftPackYn) $('#btnGift').show();
+			
 			$('.price_box').show();
 			fnSetTotalPrice();	
 			
@@ -961,6 +962,22 @@
 	var fnSelectGoodsDel = function(optCd){
 		$('.result_'+optCd).remove();
 		fnSetTotalPrice();
+		
+		//선물주문관련 처리
+		let $target = $('#cartForm input[name=cea]');
+		let giftPackFlag = false;
+		$target.each(function() {
+			
+			let giftPackYn = $(this).parent().find('input[name="coption"]').attr('giftPackYn');
+			if ("Y" == giftPackYn ) giftPackFlag = true;
+		});
+		
+		if (giftPackFlag){
+			$('#btnGift').show();
+		}else{
+			$('#btnGift').hide();
+		}
+		
 	}
 	
 	//장바구니담기