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

Merge remote-tracking branch 'origin/bin2107' into card007

card007 4 лет назад
Родитель
Сommit
18eca37ded

+ 3 - 2
src/main/java/com/style24/front/biz/service/TsfDisplayService.java

@@ -727,11 +727,12 @@ public class TsfDisplayService {
 				temp = new Filter();
 				temp.setFilterGb("PRICE");
 				if(i==0){
-					tempPrice = (int)Math.floor((Integer.parseInt(minPrice)) / 1000) * 1000 ;
+//					tempPrice = (int)Math.floor((Integer.parseInt(minPrice)) / 1000) * 1000 ;
+					tempPrice = (int)Math.floor((Integer.parseInt(minPrice)));
 					temp.setFilterCd(String.valueOf(tempPrice));
 					temp.setFilterNm(String.valueOf(tempPrice));
 				}else if(i==5){
-					tempPrice = (int)Math.floor((Integer.parseInt(maxPrice)) / 1000) * 1000 ;
+					tempPrice = (int)Math.floor((Integer.parseInt(maxPrice)));
 					temp.setFilterCd(String.valueOf(tempPrice));
 					temp.setFilterNm(String.valueOf(tempPrice));
 				}else{

+ 3 - 0
src/main/java/com/style24/front/biz/web/TsfDisplayController.java

@@ -677,6 +677,9 @@ public class TsfDisplayController extends TsfBaseController {
 		mav.addObject("filterSeasonList", displayService.getCategoryFilterList(filterList, "SEASON"));
 		mav.addObject("filterColorList", displayService.getCategoryFilterList(filterList, "COLOR"));
 		mav.addObject("filterBenefitList", displayService.getCategoryFilterList(filterList, "BENEFIT"));
+		if(params.getFormalGb()!=null){
+			params.setFormalGb(params.getFormalGb().toUpperCase());
+		}
 		mav.addObject("params", params);
 
 		log.info("categoryGoodsListForm params:::::{}",params);

+ 28 - 23
src/main/java/com/style24/front/support/config/TsfWebMvcConfig.java

@@ -22,8 +22,9 @@ import org.springframework.web.multipart.support.MultipartFilter;
 import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
 import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
 
+import com.fasterxml.jackson.databind.DeserializationFeature;
 import com.fasterxml.jackson.databind.ObjectMapper;
-import com.style24.core.support.filter.TscXssServletFilter;
+import com.style24.core.support.text.TscHtmlCharacterEscapes;
 import com.style24.front.support.interceptor.TsfAflinkInterceptor;
 import com.style24.front.support.interceptor.TsfDefaultInterceptor;
 import com.style24.front.support.interceptor.TsfGoodsViewInterceptor;
@@ -31,6 +32,7 @@ import com.style24.front.support.interceptor.TsfLoginCheckInterceptor;
 import com.style24.front.support.interceptor.TsfRememberMeInterceptor;
 import com.style24.front.support.interceptor.TsfReturnUrlInterceptor;
 
+import com.gagaframework.web.core.filter.GagaXssServletFilter;
 import com.gagaframework.web.rest.client.GagaRequestStringTrim;
 
 /**
@@ -169,8 +171,7 @@ public class TsfWebMvcConfig implements WebMvcConfigurer {
 	@Bean
 	public FilterRegistrationBean xssFilterRegistrationBean() {
 		FilterRegistrationBean bean = new FilterRegistrationBean();
-//		bean.setFilter(new GagaXssServletFilter());
-		bean.setFilter(new TscXssServletFilter());
+		bean.setFilter(new GagaXssServletFilter());
 		bean.setOrder(2);
 		bean.addUrlPatterns("/*");
 		return bean;
@@ -202,32 +203,36 @@ public class TsfWebMvcConfig implements WebMvcConfigurer {
 	 * MappingJackson2HttpMessageConverter가 여러 개일 경우 내가 추가한 것이 선택되지 않을 수 있음
 	 * 그러므로 application/json으로 선택되는 converter를 덮어 써야 함
 	 */
-//	@SuppressWarnings("rawtypes")
-//	@Override
-//	public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
-//		// Replace MessageConverter from default WebMvcConfigurer
-//		Iterator<HttpMessageConverter<?>> converterIterator = converters.iterator();
-//		while (converterIterator.hasNext()) {
-//			// Do not add new one, must replace
-//			HttpMessageConverter converter = converterIterator.next();
-//			if (converter.getSupportedMediaTypes().contains(MediaType.APPLICATION_JSON)) {
-//				converterIterator.remove();
-//			}
-//		}
-//		converters.add(jsonEscapeConverter());
-//	}
+	@SuppressWarnings("rawtypes")
+	@Override
+	public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
+		// Replace MessageConverter from default WebMvcConfigurer
+		Iterator<HttpMessageConverter<?>> converterIterator = converters.iterator();
+		while (converterIterator.hasNext()) {
+			// Do not add new one, must replace
+			HttpMessageConverter converter = converterIterator.next();
+			if (converter.getSupportedMediaTypes().contains(MediaType.APPLICATION_JSON)) {
+				converterIterator.remove();
+			}
+		}
+		converters.add(jsonEscapeConverter());
+	}
 
 	/**
 	 * XSS(Cross Site Script) Prevention
 	 * 		@ResponseBody로 전달되는 JSON에 대한 처리
 	 * @return
 	 */
-//	@Bean
-//	public MappingJackson2HttpMessageConverter jsonEscapeConverter() {
-//		ObjectMapper objectMapper = new ObjectMapper();
-//		objectMapper.getFactory().setCharacterEscapes(new TscHtmlCharacterEscapes());
-//		return new MappingJackson2HttpMessageConverter(objectMapper);
-//	}
+	@Bean
+	public MappingJackson2HttpMessageConverter jsonEscapeConverter() {
+		ObjectMapper objectMapper = new ObjectMapper();
+		objectMapper.getFactory().setCharacterEscapes(new TscHtmlCharacterEscapes());
+
+		// 도메인이 정의되지 않은 경우 JsonMappingException 발생 처리 안 하도록
+		objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
+
+		return new MappingJackson2HttpMessageConverter(objectMapper);
+	}
 
 	/**
 	 * API 호출을 위한 RestTemplate 설정

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

@@ -3249,7 +3249,7 @@
 		                 , GS.REVIEW_REG_CNT /*리뷰등록건수*/
 		            FROM TB_CATE_4SRCH C4
 		            INNER JOIN TB_CATE_GOODS CG ON C4.LEAF_CATE_NO = CG.CATE_NO
-		            INNER JOIN TB_GOODS G USE INDEX (IX_GOODS_11) ON CG.GOODS_CD = G.GOODS_CD
+		            INNER JOIN TB_GOODS G ON CG.GOODS_CD = G.GOODS_CD
 		            INNER JOIN TB_GOODS_STOCK S ON CG.GOODS_CD = S.GOODS_CD
 		            INNER JOIN TB_BRAND B ON G.BRAND_CD = B.BRAND_CD
 		            INNER JOIN TB_BRAND_GROUP BG ON B.BRAND_GROUP_NO = BG.BRAND_GROUP_NO
@@ -3518,7 +3518,7 @@
 		             , G.REG_DT                                                 /*등록일시*/
 		        FROM   TB_CATE_4SRCH C4
 		        , TB_CATE_GOODS CG
-		        , TB_GOODS G
+		        , TB_GOODS G USE INDEX (IX_GOODS_01)
 		        , TB_GOODS_STOCK GS
 		        , TB_BRAND B
 		        , TB_BRAND_GROUP BG

BIN
src/main/webapp/WEB-INF/lib/Istyle.jar


+ 76 - 9
src/main/webapp/WEB-INF/views/web/display/CategoryGoodsListFormWeb.html

@@ -296,7 +296,7 @@
 		<input type="hidden" name="sortingType" value="NEW"/>
 <!--		<input type="hidden" name="newGoods" th:value="${cateInfo.formalGb=='G009_20'?'':'40'}" />-->
 		<input type="hidden" name="keyword" value=""/>
-		<input type="hidden" name="benefitArr" th:value="${cateInfo.formalGb=='G009_20'?'':'40:신상'}"/>
+		<input type="hidden" name="benefitArr" th:unless="${cateInfo.formalGb=='G009_20'}" th:value="${cateInfo.formalGb=='G009_20'?'':'40:신상'}"/>
 	</form>
 
 	<script src="/ux/plugins/gaga/gaga.infinite.scrollSession.js"></script>
@@ -304,6 +304,7 @@
 	<script th:src="@{'/biz/goods.js?v=' + ${#calendars.format(#calendars.createNow(), 'yyyyMMddHHmmss')}}" src="/biz/goods.js"></script>
 	<script th:inline="javascript">
 		/*<![CDATA[*/
+		console.log([[${cateInfo.formalGb}]]);
 		var filterPriceList = [[${filterPriceList}]];
 		var custom_values = [];
 		var custom_values02  = [];
@@ -458,6 +459,12 @@
 			let cateList = [[${cateList}]];
 			var brandGroupNo = [[${cateInfo.brandGroupNo}]];
 			var cateGb =  [[${cateInfo.cateGb}]];
+			var formalGb =  [[${cateInfo.formalGb}]];
+			var cate1No =  [[${cateInfo.cate1No}]];
+			var cate2No =  [[${cateInfo.cate2No}]];
+			var cate3No =  [[${cateInfo.cate3No}]];
+			var cate4No =  [[${cateInfo.cate4No}]];
+			var cate5No =  [[${cateInfo.cate5No}]];
 console.log(allCateList);
 			console.log(cateList);
 
@@ -467,6 +474,17 @@ console.log(allCateList);
 			}
 
 			if(cateList.length > 0){
+				if(gagajf.isNull(cate1No) && gagajf.isNull(cate2No) && gagajf.isNull(cate3No) && gagajf.isNull(cate4No) && gagajf.isNull(cate5No) && formalGb == 'G009_20'){
+					let html = '<li><a class="on" href="javascript:void(0);" onclick="cfnGoToGoodsList(' + brandGroupNo + ',\'' + cateGb + '\',\'\',\'\',\'\',\'\',\'\',\'' + formalGb + '\');">전체</a></li>';
+					$('#ulAllCate').append(html);
+					$('#navNm').show();
+					$('#navNm').text('아울렛');
+					$('#formTitle').text('아울렛');
+				}else if(formalGb == 'G009_20'){
+					let html = '<li><a href="javascript:void(0);" onclick="cfnGoToGoodsList(' + brandGroupNo + ',\'' + cateGb + '\',\'\',\'\',\'\',\'\',\'\',\'' + formalGb + '\');">전체</a></li>';
+					$('#ulAllCate').append(html);
+				}
+
 				$.each(cateList,function (idx,item){
 					$.each(allCateList, function (allIdx, allItem){
 						if(brandGroupNo > 0){
@@ -483,13 +501,18 @@ console.log(allCateList);
 							}else{
 								if(idx<1){
 									let html = '';
-									html += '<li><a href="javascript:void(0);" onclick="cfnGoToGoodsList(' + brandGroupNo + ',\'' + cateGb + '\',' + allItem.cate1No + ');">'+allItem.cate1Nm+'</a></li>\n';
+									html += '<li><a href="javascript:void(0);" onclick="cfnGoToGoodsList(' + brandGroupNo + ',\'' + cateGb + '\',' + allItem.cate1No + ' ';
+									if(formalGb == 'G009_20'){
+										html += ' ,\'\',\'\',\'\',\'\',\'' + formalGb + '\' ';
+									}
+									html += ');">'+allItem.cate1Nm+'</a></li>\n';
 									$('#ulAllCate').append(html);
 								}
 							}
 						}
 					});
 				});
+
 			}
 		}
 
@@ -525,7 +548,11 @@ console.log(allCateList);
 					if(formalGb=='G009_20'){
 						navNm += '<li class="bread_2depth" id="navNm1"><a href="javascript:void(0);" onclick="cfnGoToGoodsList(' + brandGroupNo + ',\'' + cateGb + '\',\'\',\'\',\'\',\'\',\'\',\'' + formalGb + '\');">아울렛</a></li>\n';
 					}
-					navNm += '<li class="bread_2depth" id="navNm1"><a href="javascript:void(0);"  onclick="cfnGoToGoodsList(' + brandGroupNo + ',\'' + cateGb + '\',' + cate1.cate1No + ');">' + cate1.cate1Nm + '</a></li>\n';
+					navNm += '<li class="bread_2depth" id="navNm1"><a href="javascript:void(0);"  onclick="cfnGoToGoodsList(' + brandGroupNo + ',\'' + cateGb + '\',' + cate1.cate1No + ' ';
+					if(formalGb=='G009_20'){
+						navNm += ' ,\'\',\'\',\'\',\'\',\'' + formalGb + '\'  ';
+					}
+					navNm += ');">' + cate1.cate1Nm + '</a></li>\n';
 					if (brandGroupNo == 0) {
 						$("#navHome").attr('href', '/');
 						$("#navArea").append(navNm);
@@ -538,7 +565,11 @@ console.log(allCateList);
 					if(formalGb=='G009_20'){
 						navNm += '<li class="bread_2depth" id="navNm1"><a href="javascript:void(0);" onclick="cfnGoToGoodsList(' + brandGroupNo + ',\'' + cateGb + '\',\'\',\'\',\'\',\'\',\'\',\'' + formalGb + '\');">아울렛</a></li>\n';
 					}
-					navNm += '<li class="bread_2depth" id="navNm1"><a href="javascript:void(0);"  onclick="cfnGoToGoodsList(' + brandGroupNo + ',\'' + cateGb + '\',' + cate1.cate1No + ');">' + cate1.cate1Nm + '</a></li>\n';
+					navNm += '<li class="bread_2depth" id="navNm1"><a href="javascript:void(0);"  onclick="cfnGoToGoodsList(' + brandGroupNo + ',\'' + cateGb + '\',' + cate1.cate1No + ' ';
+					if(formalGb=='G009_20'){
+						navNm += ' ,\'\',\'\',\'\',\'\',\'' + formalGb + '\'  ';
+					}
+					navNm += ');">' + cate1.cate1Nm + '</a></li>\n';
 					$("#navArea").append(navNm);
 					//$("#navNm").text(cate1.cate1Nm);
 				}else if(cate3No != null){
@@ -571,9 +602,13 @@ console.log(allCateList);
 							$("#formTitle").text(cate2.cate2Nm);
 						}else if(cate2.cate2No == cate2No){
 							if(formalGb=='G009_20'){
-								navNm += '<li class="bread_2depth" id="navNm1">아울렛</li>';
+								navNm += '<li class="bread_2depth" id="navNm1"><a href="javascript:void(0);" onclick="cfnGoToGoodsList(' + brandGroupNo + ',\'' + cateGb + '\',\'\',\'\',\'\',\'\',\'\',\'' + formalGb + '\')";>아울렛</a></li>';
 							}
-							navNm += '<li class="bread_2depth" id="navNm1">' + cate1.cate1Nm + '</li>';
+							navNm += '<li class="bread_2depth" id="navNm1"><a href="javascript:void(0);" onclick="cfnGoToGoodsList(' + brandGroupNo + ',\'' + cateGb + '\',' + cate1.cate1No + ' ';
+							if(formalGb=='G009_20'){
+								navNm += ' ,\'\',\'\',\'\',\'\',\'' + formalGb + '\' ';
+							}
+							navNm += ')";>' + cate1.cate1Nm + '</a></li>';
 							$("#navArea").append(navNm);
 						}
 						if(formalGb=='G009_20'){
@@ -598,11 +633,29 @@ console.log(allCateList);
 								tag += '		<a href="javascript:void(0);" ';
 								if (cate3.cate3No == cate3No && cate4No == null) {
 									tag += ' class="on"';
-									navNm = '<li class="bread_2depth" id="navNm2">' + cate2.cate2Nm + '</li><li class="bread_2depth" id="navNm3">' + cate3.cate3Nm + '</li>';
+									navNm = '<li class="bread_2depth" id="navNm2"><a href="javascript:void(0);" onclick="cfnGoToGoodsList(' + brandGroupNo + ',\'' + cateGb + '\',' + cate1.cate1No + ',' + cate2.cate2No + ' ';
+									if(formalGb=='G009_20'){
+										navNm += ' ,\'\',\'\',\'\',\'' + formalGb + '\' ';
+									}
+									navNm += ')";>' + cate2.cate2Nm + '</a></li>';
+									navNm += '<li class="bread_2depth" id="navNm3"><a href="javascript:void(0);" onclick="cfnGoToGoodsList(' + brandGroupNo + ',\'' + cateGb + '\',' + cate1.cate1No + ',' + cate2.cate2No + ',' + cate3.cate3No + ' ';
+									if(formalGb=='G009_20'){
+										navNm += ' ,\'\',\'\',\'' + formalGb + '\' ';
+									}
+									navNm += ')";>' + cate3.cate3Nm + '</a></li>';
 									$("#navArea").append(navNm);
 									$("#formTitle").text(cate3.cate3Nm);
 								}else if(cate3.cate3No == cate3No){
-									navNm = '<li class="bread_2depth" id="navNm2">' + cate2.cate2Nm + '</li><li class="bread_2depth" id="navNm3">' + cate3.cate3Nm + '</li>';
+									navNm = '<li class="bread_2depth" id="navNm2"><a href="javascript:void(0);" onclick="cfnGoToGoodsList(' + brandGroupNo + ',\'' + cateGb + '\',' + cate1.cate1No + ',' + cate2.cate2No + ' ';
+									if(formalGb=='G009_20'){
+										navNm += ' ,\'\',\'\',\'\',\'' + formalGb + '\' ';
+									}
+									navNm += ')";>' + cate2.cate2Nm + '</a></li>';
+									navNm += '<li class="bread_2depth" id="navNm3"><a href="javascript:void(0);" onclick="cfnGoToGoodsList(' + brandGroupNo + ',\'' + cateGb + '\',' + cate1.cate1No + ',' + cate2.cate2No + ',' + cate3.cate3No + ' ';
+									if(formalGb=='G009_20'){
+										navNm += ' ,\'\',\'\',\'' + formalGb + '\' ';
+									}
+									navNm += ')";>' + cate3.cate3Nm + '</a></li>';
 								}
 								if(formalGb=='G009_20'){
 									tag += ' onclick="cfnGoToGoodsList(' + brandGroupNo + ',\'' + cateGb + '\',' + cate1.cate1No + ',' + cate2.cate2No + ',' + cate3.cate3No + ',\'\',\'\',\'' + formalGb + '\');">' + cate3.cate3Nm + '</a>';
@@ -626,7 +679,21 @@ console.log(allCateList);
 										tag += '		<a href="javascript:void(0);" ';
 										if (cate4.cate4No == cate4No) {
 											tag += ' class="on"';
-											navNm = '<li class="bread_2depth" id="navNm3">' + cate2.cate2Nm + '</li><li class="bread_2depth" id="navNm3">' + cate3.cate3Nm + '</li><li class="bread_2depth" id="navNm3">' + cate4.cate4Nm + '</li>';
+											navNm = '<li class="bread_2depth" id="navNm3"><a href="javascript:void(0);" onclick="cfnGoToGoodsList(' + brandGroupNo + ',\'' + cateGb + '\',' + cate1.cate1No + ',' + cate2.cate2No + ' ';
+											if(formalGb=='G009_20'){
+												navNm += ' ,\'\',\'\',\'\',\'' + formalGb + '\' ';
+											}
+											navNm += ')";>' + cate2.cate2Nm + '</a></li>';
+											navNm += '<li class="bread_2depth" id="navNm3"><a href="javascript:void(0);" onclick="cfnGoToGoodsList(' + brandGroupNo + ',\'' + cateGb + '\',' + cate1.cate1No + ',' + cate2.cate2No + ',' + cate3.cate3No + ' ';
+											if(formalGb=='G009_20'){
+												navNm += ' ,\'\',\'\',\'' + formalGb + '\' ';
+											}
+											navNm += ')";>' + cate3.cate3Nm + '</a></li>';
+											navNm += '<li class="bread_2depth" id="navNm3"><a href="javascript:void(0);" onclick="cfnGoToGoodsList( ' + brandGroupNo + ',\'' + cateGb + '\',' + cate1.cate1No + ',' + cate2.cate2No + ',' + cate3.cate3No + ',' + cate4.cate4No + ' ';
+											if(formalGb=='G009_20'){
+												navNm += ' ,\'\',\'' + formalGb + '\' ';
+											}
+											navNm += ')";>' + cate4.cate4Nm + '</a></li>';
 											$("#navArea").append(navNm);
 											$("#formTitle").text(cate4.cate4Nm);
 										}