김지철 5 лет назад
Родитель
Сommit
969bdd79de

+ 9 - 0
src/main/java/com/style24/front/biz/dao/TsfDisplayDao.java

@@ -190,6 +190,15 @@ public interface TsfDisplayDao {
 	 */
 	Collection<Contents> getBestItemCategoryList(Contents contents);
 
+	/**
+	 * 전체 브랜드 이미지 리스트
+	 * @param
+	 * @return
+	 * @author bin2107
+	 * @since 2021. 4. 28
+	 */
+	Collection<BrandGroup> getBrandImgList(BrandGroup brandGroup);
+	
 	/**
 	 * 전체 브랜드
 	 * @param

+ 11 - 0
src/main/java/com/style24/front/biz/service/TsfDisplayService.java

@@ -466,6 +466,17 @@ public class TsfDisplayService {
 		return goodsList;
 	}
 
+	/**
+	 * 전체 브랜드 이미지 리스트
+	 * @param
+	 * @return
+	 * @author bin2107
+	 * @since 2021. 4. 28
+	 */
+	public Collection<BrandGroup> getBrandImgList(BrandGroup brandGroup) {
+		return displayDao.getBrandImgList(brandGroup);
+	}
+	
 	/**
 	 * 전체 브랜드
 	 * @param

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

@@ -629,7 +629,7 @@ public class TsfDisplayController extends TsfBaseController {
 		ModelAndView mav = new ModelAndView(super.getDeviceViewName("display/AllBrandForm"));
 
 		brandGroup.setSelfYn("Y");
-		mav.addObject("mainBrandList", displayService.getAllBrandList(brandGroup));
+		mav.addObject("mainBrandList", displayService.getBrandImgList(brandGroup));
 
 		return mav;
 	}

+ 2 - 0
src/main/java/com/style24/persistence/domain/BrandGroup.java

@@ -29,4 +29,6 @@ public class BrandGroup extends TscBaseDomain {
 	private String brandInitial;
 	private String selfYn;
 	private String dispNmLang;
+	
+	private String cateGb;
 }

+ 63 - 9
src/main/java/com/style24/persistence/mybatis/shop/TsfDisplay.xml

@@ -59,6 +59,9 @@
 		       END              AS BRAND_GROUP_NM
 		     , LOGO_FILE_NM
 		     , RGB_CD
+		     , DEFAULT_CATE_YN
+		     , CASE WHEN DEFAULT_CATE_YN = 'Y' THEN (SELECT CD FROM TB_COMMON_CODE WHERE 1=1 AND CD_NM = 'BY ITEM')
+		            ELSE (SELECT CD FROM TB_COMMON_CODE WHERE 1=1 AND CD_NM = 'BY BRAND') END AS CATE_GB
 		FROM   TB_BRAND_GROUP
 		WHERE  BRAND_GROUP_NO = #{brandGroupNo}
 		AND    USE_YN = 'Y'
@@ -654,7 +657,9 @@
 		                  FROM	 TB_CATE_4SRCH
 		                  WHERE	 1=1
 		                    AND	 LEAF_CATE_NO = CG.CATE_NO
-		                    AND	 CATE1_NO = #{cate1No}
+		                  <if test="cate1No != null and cate1No != ''">
+		                    AND CATE1_NO = #{cate1No}
+		                  </if>
 		                  <if test="cate2No != null and cate2No != ''">
 		                    AND CATE2_NO = #{cate2No}
 		                  </if>
@@ -668,6 +673,9 @@
 		                    AND CATE5_NO = #{cate5No}
 		                  </if>
 		                )
+		<if test="brandGroupNo != null and brandGroupNo !=''">
+		  AND CG.BRAND_GROUP_NO = #{brandGroupNo}
+		</if>
 		GROUP BY GB.BENEFIT_GB
 	</select>
 
@@ -731,7 +739,9 @@
 		           WHERE  C4.SITE_CD = 'G000_10'
 		           AND    C4.CATE_GB = 'G032_101'
 		           AND    C4.CATE_TYPE = 'G031_10' /*상품카테고리*/
+		           <if test="cate1No != null and cate1No != ''">
 		           AND    C4.CATE1_NO = #{cate1No}
+		           </if>
 		           <if test="cate2No != null and cate2No != ''">
 		           AND    C4.CATE2_NO = #{cate2No}
 		           </if>
@@ -746,7 +756,7 @@
 		           </if>
 		           <choose>
 		               <when test="brandGroupNo != null and brandGroupNo != ''">
-		           AND    CG.BRAND_GROUP_NO = #{brandGroupNo}
+		           AND    B.BRAND_GROUP_NO = #{brandGroupNo}
 		               </when>
 		               <otherwise>
 		           AND    CG.BRAND_GROUP_NO = 0 /*브랜드메인에서 접근한 것이 아니면*/
@@ -904,11 +914,14 @@
 		                    WHERE  C4.SITE_CD = 'G000_10'
 		                    AND    C4.CATE_GB = 'G032_101'
 		                    AND    C4.CATE_TYPE = 'G031_10' /*상품카테고리*/
+		                <if test="cate1No != null and cate1No != ''">
 		                    AND    C4.CATE1_NO = #{cate1No}
+		                </if>
 		                <if test="cate2No != null and cate2No != ''">
 		                    AND    C4.CATE2_NO = #{cate2No}
 		                </if>
-		                <if test="cate3No != null and cate3No != ''">AND    C4.CATE3_NO = #{cate3No}
+		                <if test="cate3No != null and cate3No != ''">
+		                    AND    C4.CATE3_NO = #{cate3No}
 		                </if>
 		                <if test="cate4No != null and cate4No != ''">
 		                    AND    C4.CATE4_NO = #{cate4No}
@@ -918,7 +931,7 @@
 		                </if>
 		                <choose>
 		                    <when test="brandGroupNo != null and brandGroupNo != ''">
-		                    AND    CG.BRAND_GROUP_NO = #{brandGroupNo}
+		                    AND    B.BRAND_GROUP_NO = #{brandGroupNo}
 		                    </when>
 		                    <otherwise>
 		                    AND    CG.BRAND_GROUP_NO = 0 /*브랜드메인에서 접근한 것이 아니면*/
@@ -1133,7 +1146,9 @@
 		                 AND SITE_CD = #{siteCd}
 		                 AND CATE_GB = 'G032_101' /*BY ITEM*/
 		                 AND CATE_TYPE = 'G031_10'
+		                 <if test="cate1No != null and cate1No != ''">
 		                 AND CATE1_NO = #{cate1No}
+		                 </if>
 		                 <if test="cate2No != null and cate2No != ''">
 		                 AND CATE2_NO = #{cate2No}
 		                 </if>
@@ -1392,6 +1407,46 @@
 		AND	CONTENTS_LOC = #{contentsLoc}
 	</select>
 
+	<!-- 브랜드 전체 이미지 리스트 조회 -->
+	<select id="getBrandImgList" parameterType="BrandGroup" resultType="BrandGroup">
+		/* TsfDisplay.getBrandImgList */
+		SELECT	Z.BRAND_GROUP_NO
+		, FN_GET_BRAND_INITIAL(Z.BRAND_GROUP_NM) AS BRAND_INITIAL
+		, Z.BRAND_GROUP_NM
+		, Z.DISP_NM_LANG
+		, Z.BRAND_GROUP_ENM
+		, Z.BRAND_GROUP_KNM
+		, Z.LOGO_FILE_NM
+		FROM (
+		SELECT  BG.BRAND_GROUP_NO
+		, (CASE WHEN BG.DISP_NM_LANG = 'EN' THEN BG.BRAND_GROUP_ENM ELSE BG.BRAND_GROUP_KNM END) AS BRAND_GROUP_NM
+		, BG.DISP_NM_LANG
+		, BG.BRAND_GROUP_ENM
+		, BG.BRAND_GROUP_KNM
+		, BG.LOGO_FILE_NM
+		FROM  TB_CONTENTS C
+		LEFT JOIN TB_BRAND B ON C.STR_VAR1 = B.BRAND_GROUP_NO
+		INNER JOIN TB_BRAND_GROUP BG ON B.BRAND_GROUP_NO = BG.BRAND_GROUP_NO
+		WHERE	1=1
+		AND	B.USE_YN = 'Y'
+		AND	BG.USE_YN = 'Y'
+		<if test='selfYn != null and selfYn == "Y"'>
+			AND	B.SELF_YN = 'Y'
+			AND	(BG.LOGO_FILE_NM <![CDATA[<>]]> '' AND BG.LOGO_FILE_NM IS NOT NULL)
+		</if>
+		<if test="brandGroupNo != null and brandGroupNo != ''">
+			AND	B.BRAND_GROUP_NO = #{brandGroupNo}
+		</if>
+		<if test="brandGroupNm != null and brandGroupNm != ''">
+			AND	(BG.BRAND_GROUP_ENM LIKE CONCAT('%',#{brandGroupNm},'%') OR BG.BRAND_GROUP_KNM LIKE CONCAT('%',#{brandGroupNm},'%'))
+		</if>
+		GROUP BY C.STR_TITLE2, C.DISP_ORD , BG.BRAND_GROUP_NO
+		) Z
+		WHERE	1=1
+		ORDER BY (CASE  WHEN ASCII(SUBSTRING(Z.BRAND_GROUP_NM,1)) BETWEEN 48 AND 57 THEN 3
+		WHEN ASCII(SUBSTRING(Z.BRAND_GROUP_NM,1)) <![CDATA[<]]> 128 THEN 2 ELSE 1 END), Z.BRAND_GROUP_NM
+	</select>
+
 	<!-- 브랜드 전체 조회 -->
 	<select id="getAllBrandList" parameterType="BrandGroup" resultType="BrandGroup">
 		/* TsfDisplay.getAllBrandList */
@@ -1406,11 +1461,10 @@
 		      SELECT  BG.BRAND_GROUP_NO
 		            , (CASE WHEN BG.DISP_NM_LANG = 'EN' THEN BG.BRAND_GROUP_ENM ELSE BG.BRAND_GROUP_KNM END) AS BRAND_GROUP_NM
 		            , BG.DISP_NM_LANG
-		            , BG.BRAND_GROUP_ENM
-		            , BG.BRAND_GROUP_KNM
+		            , B.BRAND_ENM AS BRAND_GROUP_ENM
+		            , B.BRAND_KNM AS BRAND_GROUP_KNM
 		            , BG.LOGO_FILE_NM
-		      FROM  TB_CONTENTS C
-		      LEFT JOIN TB_BRAND B ON C.STR_VAR1 = B.BRAND_GROUP_NO
+		      FROM  TB_BRAND B
 		      INNER JOIN TB_BRAND_GROUP BG ON B.BRAND_GROUP_NO = BG.BRAND_GROUP_NO
 		      WHERE	1=1
 		      AND	B.USE_YN = 'Y'
@@ -1425,7 +1479,7 @@
 		      <if test="brandGroupNm != null and brandGroupNm != ''">
 		      AND	(BG.BRAND_GROUP_ENM LIKE CONCAT('%',#{brandGroupNm},'%') OR BG.BRAND_GROUP_KNM LIKE CONCAT('%',#{brandGroupNm},'%'))
 		      </if>
-		      GROUP BY C.STR_TITLE2, C.DISP_ORD , BG.BRAND_GROUP_NO
+		      GROUP BY BG.BRAND_GROUP_NO
 		) Z
 		WHERE	1=1
 		ORDER BY (CASE  WHEN ASCII(SUBSTRING(Z.BRAND_GROUP_NM,1)) BETWEEN 48 AND 57 THEN 3

+ 2 - 1
src/main/webapp/WEB-INF/views/web/common/fragments/BrandGnbWeb.html

@@ -40,7 +40,7 @@
 				<ul class="bundle" id="ulGnbTab">
 					<li class="home"><a href="javascript:void(0);" th:onclick="cfnGoToBrandMain([[${brandGroupInfo.brandGroupNo}]]);">브랜드 홈</a></li>
 					<li class="has_depth"><!-- depth_menu 있을 시 has_depth 클래스 추가 -->
-						<a href="#">상품</a>
+						<a href="javascript:void(0);" th:onclick="cfnGoToGoodsList([[${brandGroupInfo.brandGroupNo}]],[[${brandGroupInfo.cateGb}]]);">상품</a>
 						<!-- 상품 depth -->
 						<div class="depth_menu category">
 							<div class="head_category">
@@ -138,6 +138,7 @@
 	
 	// 브랜드 카테고리 생성
 	let fnCreateBrandCategory = function() {
+		console.log('fnCreateBrandCategory brandNo::'+[[${brandGroupInfo.brandGroupNo}]]);
 		$.getJSON('/display/brand/cate/list?brandGroupNo=' + [[${brandGroupInfo.brandGroupNo}]]
 			, function(result, status) {
 				if (status == 'success') {

+ 62 - 36
src/main/webapp/WEB-INF/views/web/display/CategoryGoodsListFormWeb.html

@@ -23,7 +23,7 @@
 		<div class="breadcrumb">
 			<ul id="navArea">
 				<li class="bread_home"><a href="javascript:void(0);" id="navHome">홈</a></li>
-				<li class="bread_2depth" id="navNm">여성</li>
+				<li class="bread_2depth" id="navNm"></li>
 			</ul>
 		</div>
 		<div class="wrap">
@@ -472,26 +472,52 @@
 		}
 
 		var fnCreateCategoryList = function (){
-			$.getJSON('/display/gnb/tab/list'
-					, function(result, status) {
-						if (status == 'success') {
-							if (result.length > 0) {
-								$('#ulAllCate').html('');
-								$('#ulAllCate').append('<li><a href="javascript:void(0);">전체</a></li>\n');
-
-								let allCate = [[${allCateList}]];
-								$.each(result, function(idx, item) {
-									if (item.contentsType == 'C') { // 컨텐츠유형:카테고리
-										$.each(allCate, function(allCateIdx, allCateItem) {
-											if (item.cate1No == allCateItem.cate1No) {
-												$('#ulAllCate').append(fnGetCategoryList(allCateItem));
-											}
-										});
+			let actionUrl = '';
+			let brandGroupNo = [[${cateInfo.brandGroupNo}]];
+			console.log('brand::'+[[${cateInfo.brandGroupNo}]]);
+			if(gagajf.isNull(brandGroupNo) || brandGroupNo == 0){
+				actionUrl = '/display/gnb/tab/list';
+			}else{
+				actionUrl = '/display/brand/cate/list?brandGroupNo=' + [[${cateInfo.brandGroupNo}]];
+			}
+			
+			$.getJSON(actionUrl
+				, function(result, status) {
+					console.log('result.length>>'+result.length);
+					//if (status == 'success') {
+					if (result.length > 0) {
+						let cateGb = 'G032_101';
+						$('#ulAllCate').html('');
+						$('#ulAllCate').append('<li><a href="javascript:void(0);" onclick="cfnGoToGoodsList(0,\''+cateGb+'\');">전체</a></li>\n');
+						
+						if(gagajf.isNull($("#searchGoodsForm").find("[name=cate1No]").val())){
+							$("#navArea").append('전체');
+							$("#formTitle").text('전체');
+						}
+
+						let allCate = [[${allCateList}]];
+						if(gagajf.isNull(brandGroupNo) || brandGroupNo == 0){
+							$.each(result, function(idx, item) {
+								if (item.contentsType == 'C') { // 컨텐츠유형:카테고리
+									$.each(allCate, function(allCateIdx, allCateItem) {
+										if (item.cate1No == allCateItem.cate1No) {
+											$('#ulAllCate').append(fnGetCategoryList(allCateItem));
+										}
+									});
+								}
+							});
+						}else{
+							$.each(result, function(idx, item) {
+								$.each(allCate, function(allCateIdx, allCateItem) {
+									if (item.cate1No == allCateItem.cate1No) {
+										$('#ulAllCate').append(fnGetCategoryList(allCateItem));
 									}
 								});
-							}
+							});
 						}
-					});
+					}
+					//}
+				});
 		}
 
 		let fnGetCategoryList = function (cate1){
@@ -510,66 +536,66 @@
 
 			if (cate1 != null) {
 				tag += '<li';
-				if(cate1.cate1No == cate1No){
+				if (cate1.cate1No == cate1No) {
 					tag += ' class="on"';
 				}
 				tag += '>\n';
 				tag += '	<a href="javascript:javascript:void(0);"';
-				if(cate1.cate1No == cate1No && cate2No == null){
+				if (cate1.cate1No == cate1No && cate2No == null) {
 					tag += ' class="on"';
 					formTitle = cate1.cate1Nm;
 					$("#formTitle").text(formTitle);
-					if(brandGroupNo==0){
+					if (brandGroupNo == 0) {
 						$("#navHome").attr('href', '/');
 						$("#navNm").text(cate1.cate1Nm);
-					}else{
-						$("#navHome").attr('onclick', 'cfnGoToBrandMain('+brandGroupNo+');');
+					} else {
+						$("#navHome").attr('onclick', 'cfnGoToBrandMain(' + brandGroupNo + ');');
 						$("#navNm").text(cate1.cate1Nm);
 					}
 				}
-				tag += '	onclick="cfnGoToGoodsList('+brandGroupNo+',\''+cateGb+'\','+cate1.cate1No+');" >' + cate1.cate1Nm + '</a>\n';
+				tag += '	onclick="cfnGoToGoodsList(' + brandGroupNo + ',\'' + cateGb + '\',' + cate1.cate1No + ');" >' + cate1.cate1Nm + '</a>\n';
 				if (cate1.leafYn == 'N' && cate1.cate2List.length > 0) {
 					tag += '<div class="sub_cate"';
-					if(cate1.cate1No == cate1No){
+					if (cate1.cate1No == cate1No) {
 						tag += ' style="display: block;"';
 					}
 					tag += '>\n';
 					tag += '	<ul>\n';
-					$.each(cate1.cate2List, function(idx2, cate2) {
+					$.each(cate1.cate2List, function (idx2, cate2) {
 						tag += '		<li';
-						if(cate2.cate2No == cate2No && cate3No == null){
+						if (cate2.cate2No == cate2No && cate3No == null) {
 							tag += ' class="on"';
 						}
 						tag += '		>\n';
 						tag += '		<a href="javascript:javascript:void(0);" ';
-						if(cate2.cate2No == cate2No && cate3No == null){
+						if (cate2.cate2No == cate2No && cate3No == null) {
 							tag += ' class="on"';
-							navNm = '<li class="bread_2depth" id="navNm2">'+cate2.cate2Nm+'</li>';
+							navNm = '<li class="bread_2depth" id="navNm2">' + cate2.cate2Nm + '</li>';
 							$("#navArea").append(navNm);
 							$("#formTitle").text(cate2.cate2Nm);
 						}
-						tag += '	onclick="cfnGoToGoodsList('+brandGroupNo+',\''+cateGb+'\','+cate1.cate1No+','+cate2.cate2No+');">' + cate2.cate2Nm + '</a>\n';
+						tag += '	onclick="cfnGoToGoodsList(' + brandGroupNo + ',\'' + cateGb + '\',' + cate1.cate1No + ',' + cate2.cate2No + ');">' + cate2.cate2Nm + '</a>\n';
 						if (cate2.leafYn == 'N' && cate2.cate3List != null && cate2.cate3List.length > 0) {
 							tag += '<div class="sub_cate"';
-							if(cate2.cate2No == cate2No){
+							if (cate2.cate2No == cate2No) {
 								tag += ' style="display: block;"';
 							}
 							tag += '>\n';
 							tag += '	<ul>\n';
-							$.each(cate2.cate3List, function (idx3, cate3){
+							$.each(cate2.cate3List, function (idx3, cate3) {
 								tag += '<li';
-								if(cate3.cate3No == cate3No && cate4No == null){
+								if (cate3.cate3No == cate3No && cate4No == null) {
 									tag += ' class="on"';
 								}
 								tag += '>';
 								tag += '		<a href="javascript:javascript:void(0);" ';
-								if(cate3.cate3No == cate3No && cate4No == null){
+								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">' + cate2.cate2Nm + '</li><li class="bread_2depth" id="navNm3">' + cate3.cate3Nm + '</li>';
 									$("#navArea").append(navNm);
 									$("#formTitle").text(cate3.cate3Nm);
 								}
-								tag += ' onclick="cfnGoToGoodsList('+brandGroupNo+',\''+cateGb+'\','+cate1.cate1No+','+cate2.cate2No+','+cate3.cate3No+');">' + cate3.cate3Nm + '</a>';
+								tag += ' onclick="cfnGoToGoodsList(' + brandGroupNo + ',\'' + cateGb + '\',' + cate1.cate1No + ',' + cate2.cate2No + ',' + cate3.cate3No + ');">' + cate3.cate3Nm + '</a>';
 								tag += '</li>\n';
 							});
 							tag += '	</ul>\n';