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

Merge remote-tracking branch 'origin/develop' into xodud1202

xodud lee 4 лет назад
Родитель
Сommit
22218e36fa

+ 10 - 0
src/main/java/com/style24/front/biz/dao/TsfGoodsDao.java

@@ -525,5 +525,15 @@ public interface TsfGoodsDao {
 	 * @date 2021. 7. 7
 	 */
 	Collection<Item> getGoodsAddInfoList(Goods goods);
+	
+	/**
+	 * 상품 다른 색상의 productno 찾기
+	 * @param goods - 상품정보
+	 * @return
+	 * @author eskim
+	 * @date 2021. 7. 28
+	 */
+	Collection<GoodsStock> getProductNoByGoodsColor(Goods goods);
+	
 
 }

+ 14 - 2
src/main/java/com/style24/front/biz/service/TsfGoodsService.java

@@ -3,7 +3,6 @@ package com.style24.front.biz.service;
 import java.util.ArrayList;
 import java.util.Collection;
 
-import com.style24.front.biz.thirdparty.EigeneaiApi;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -13,6 +12,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
 import com.style24.core.support.env.TscConstants;
 import com.style24.front.biz.dao.TsfDisplayDao;
 import com.style24.front.biz.dao.TsfGoodsDao;
+import com.style24.front.biz.thirdparty.EigeneaiApi;
 import com.style24.front.support.security.session.TsfSession;
 import com.style24.persistence.domain.CardPromotion;
 import com.style24.persistence.domain.Cate4Srch;
@@ -35,8 +35,8 @@ import com.style24.persistence.domain.Notice;
 import com.style24.persistence.domain.ReinboundInform;
 import com.style24.persistence.domain.SizeInfo;
 import com.style24.persistence.domain.Tmtb;
-import com.style24.persistence.domain.searchengine.SearchEngine;
 import com.style24.persistence.domain.eigene.Eigeneai;
+import com.style24.persistence.domain.searchengine.SearchEngine;
 
 import lombok.extern.slf4j.Slf4j;
 
@@ -1189,5 +1189,17 @@ public class TsfGoodsService {
 	public Collection<SearchEngine> getSearchGoodsList(SearchEngine params) {
 		return goodsDao.getSearchGoodsList(params);
 	}
+	
+	
+	/**
+	 * 상품 다른 색상의 productno 찾기
+	 * @param goods - 상품정보
+	 * @return
+	 * @author eskim
+	 * @date 2021. 7. 28
+	 */
+	public Collection<GoodsStock> getProductNoByGoodsColor(Goods goods) {
+		return goodsDao.getProductNoByGoodsColor(goods);
+	}
 
 }

+ 13 - 0
src/main/java/com/style24/front/biz/web/TsfGoodsController.java

@@ -264,6 +264,19 @@ public class TsfGoodsController extends TsfBaseController {
 			}
 
 		} else {
+			
+			//해당색상아닌 다른색상의 productno찾기 - 상품상세에서 사용
+			StringBuffer sbProductNo = new StringBuffer();
+			Collection<GoodsStock> goodsProductNoList = goodsService.getProductNoByGoodsColor(paramsGoods);
+			if (goodsProductNoList != null && !goodsProductNoList.isEmpty()) {
+				
+				for (GoodsStock goodsProductNo: goodsProductNoList) {
+					sbProductNo.append(Integer.toString(goodsProductNo.getProductNo())).append(",");
+				}
+				
+			}
+			mav.addObject("arrNoneProductNo", sbProductNo.toString());
+			
 			if (TscConstants.GoodsType.NORMAL.value().equals(goods.getGoodsType())) {	// 일반상품
 				//if ("Y".equals(goods.getSelfGoodsYn())) {  // 자사상품
 				// 상품 옵션1(색상) 정보

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

@@ -3764,4 +3764,14 @@
 		LIMIT 1
 	</select>
 	
+	<!-- 상품 다른 색상의 productno 찾기  -->
+	<select id="getProductNoByGoodsColor"  parameterType="Goods" resultType="GoodsStock">
+		/* TsfGoods.getProductNoByGoodsColor */
+		SELECT DISTINCT PRODUCT_NO
+		FROM   TB_OPTION 
+		WHERE GOODS_CD = #{goodsCd}
+		AND   OPT_CD1 <![CDATA[<>]]>  #{colorCd}
+		AND   PRODUCT_NO IS NOT NULL
+	</select>
+	
 </mapper>

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

@@ -2896,9 +2896,25 @@
 				$(this).attr('src' , tmpImgSrc.replace('/Upload', _imgUrl+"/Local").replace('/Upload/Local', "/Local"));
 			}
 		});
-		 
+		
+		// 현재 색상만 상세노출 처리 
+		let dpProductNo = [[${arrNoneProductNo}]];
+		if (!gagajf.isNull(dpProductNo)){
+			let arrNoneProductNo = dpProductNo.split(',');
+		    // for(let i=0; i<arrNoneProductNo.length; i++){
+		    //	 $('#'+arrNoneProductNo[i]).css('display', 'none');
+		    // }
+		     arrNoneProductNo.forEach(function(item,index, array){
+		    	 if(!gagajf.isNull(item)) {
+		    		 $('#'+item).css('display', 'none');	 
+		    	 }
+		    });
+		}
+		
+		
 	});
 	
+	
 
 	//pd전용 - 썸네일/헤더 블라인드 생성 : 210520_ 추가
 	$('.pd .thumb_box .thumb_list .swiper-slide').prepend('<span></span>');

+ 11 - 1
src/main/webapp/WEB-INF/views/web/goods/GoodsDetailFormWeb.html

@@ -2739,7 +2739,17 @@
  			
  		});
     	
-    	 
+    	// 현재 색상만 상세노출 처리 
+    	let dpProductNo = [[${arrNoneProductNo}]];
+    	if (!gagajf.isNull(dpProductNo)){
+    	     let arrNoneProductNo = dpProductNo.split(',');
+    	     arrNoneProductNo.forEach(function(item){
+    	    	 if(!gagajf.isNull(item)) {
+    	    	 	$('#'+item).css('display', 'none');
+    	    	 }
+    	     });
+    	}
+    	
      	// 위시처리- 로그인 되어 있을시
   		if (cfCheckLogin()) {
   			//이상품과 함께본 상품