Browse Source

Merge branch 'develop' into bin2107

# Conflicts:
#	src/main/java/com/style24/front/biz/web/TsfDisplayController.java
#	src/main/webapp/WEB-INF/views/web/display/MallMainFormWeb.html
bin2107 5 years ago
parent
commit
d66adbd695
100 changed files with 483 additions and 1205 deletions
  1. 9 0
      src/main/java/com/style24/front/biz/dao/TsfDisplayDao.java
  2. 11 0
      src/main/java/com/style24/front/biz/service/TsfDisplayService.java
  3. 60 6
      src/main/java/com/style24/front/biz/web/TsfDisplayController.java
  4. 11 4
      src/main/java/com/style24/front/biz/web/TsfGoodsController.java
  5. 8 0
      src/main/java/com/style24/persistence/domain/Review.java
  6. 17 0
      src/main/java/com/style24/persistence/mybatis/shop/TsfDisplay.xml
  7. 10 1
      src/main/java/com/style24/persistence/mybatis/shop/TsfReview.xml
  8. 97 0
      src/main/webapp/WEB-INF/views/web/common/fragments/BrandGnbWeb.html
  9. 0 470
      src/main/webapp/WEB-INF/views/web/common/fragments/GnbWeb2.html
  10. 2 3
      src/main/webapp/WEB-INF/views/web/common/fragments/HeadWeb.html
  11. 41 0
      src/main/webapp/WEB-INF/views/web/common/layout/BrandLayoutWeb.html
  12. 35 0
      src/main/webapp/WEB-INF/views/web/display/BrandMainFormWeb.html
  13. 6 6
      src/main/webapp/WEB-INF/views/web/goods/GoodsDetailFormWeb.html
  14. 176 715
      src/main/webapp/WEB-INF/views/web/goods/GoodsReviewBestFormWeb.html
  15. BIN
      src/main/webapp/images/mo/br_99+.png
  16. BIN
      src/main/webapp/images/mo/br_arrow_down.png
  17. BIN
      src/main/webapp/images/mo/br_arrow_up.png
  18. BIN
      src/main/webapp/images/mo/br_btn_more.png
  19. BIN
      src/main/webapp/images/mo/br_lookbook_01.png
  20. BIN
      src/main/webapp/images/mo/br_lookbook_02.png
  21. BIN
      src/main/webapp/images/mo/br_lookbook_03.png
  22. BIN
      src/main/webapp/images/mo/br_lookbook_04.png
  23. BIN
      src/main/webapp/images/mo/br_main01.png
  24. BIN
      src/main/webapp/images/mo/br_main02.png
  25. BIN
      src/main/webapp/images/mo/br_main03.png
  26. BIN
      src/main/webapp/images/mo/br_plus.png
  27. BIN
      src/main/webapp/images/mo/br_pop_arrow.png
  28. BIN
      src/main/webapp/images/mo/br_pop_text.png
  29. BIN
      src/main/webapp/images/mo/br_sInfo.png
  30. BIN
      src/main/webapp/images/mo/br_search_white.png
  31. BIN
      src/main/webapp/images/mo/br_site.png
  32. BIN
      src/main/webapp/images/mo/br_special.png
  33. BIN
      src/main/webapp/images/mo/br_store.png
  34. BIN
      src/main/webapp/images/mo/br_youtube.png
  35. BIN
      src/main/webapp/images/mo/btn_deal_item_more.png
  36. BIN
      src/main/webapp/images/mo/btn_delete_item.png
  37. BIN
      src/main/webapp/images/mo/ico_bracket.png
  38. BIN
      src/main/webapp/images/mo/ico_bracket2.png
  39. BIN
      src/main/webapp/images/mo/ico_btn_cls.png
  40. BIN
      src/main/webapp/images/mo/ico_btn_detail02.png
  41. BIN
      src/main/webapp/images/mo/ico_btn_detail03.png
  42. BIN
      src/main/webapp/images/mo/ico_check01.png
  43. BIN
      src/main/webapp/images/mo/ico_err02.png
  44. BIN
      src/main/webapp/images/mo/ico_floorbtn_like.png
  45. BIN
      src/main/webapp/images/mo/ico_floorbtn_share.png
  46. BIN
      src/main/webapp/images/mo/ico_gift.png
  47. BIN
      src/main/webapp/images/mo/ico_lnb_arrow.png
  48. BIN
      src/main/webapp/images/mo/ico_person.png
  49. BIN
      src/main/webapp/images/mo/ico_play.png
  50. BIN
      src/main/webapp/images/mo/ico_pop_cls.png
  51. BIN
      src/main/webapp/images/mo/ico_pop_cls_w.png
  52. BIN
      src/main/webapp/images/mo/ico_present_purchase.png
  53. BIN
      src/main/webapp/images/mo/ico_sort_arrow.png
  54. BIN
      src/main/webapp/images/mo/ico_thumblist.png
  55. BIN
      src/main/webapp/images/mo/icon_review_open.png
  56. BIN
      src/main/webapp/images/mo/like_white.png
  57. BIN
      src/main/webapp/images/mo/pd_btn.png
  58. BIN
      src/main/webapp/images/mo/pd_store.png
  59. BIN
      src/main/webapp/images/mo/share_white.png
  60. BIN
      src/main/webapp/images/mo/shc_banner.png
  61. BIN
      src/main/webapp/images/mo/thumb/tmp_pdClickother1.jpg
  62. BIN
      src/main/webapp/images/mo/thumb/tmp_pdClickother2.jpg
  63. BIN
      src/main/webapp/images/mo/thumb/tmp_pdClickother3.jpg
  64. BIN
      src/main/webapp/images/pc/cursor_zoomout.png
  65. BIN
      src/main/webapp/images/pc/ico_besttag.png
  66. BIN
      src/main/webapp/images/pc/ico_calendar_selector.png
  67. BIN
      src/main/webapp/images/pc/ico_giftbox.png
  68. BIN
      src/main/webapp/images/pc/ico_go_save.png
  69. BIN
      src/main/webapp/images/pc/ico_picker.png
  70. BIN
      src/main/webapp/images/pc/ico_point.png
  71. BIN
      src/main/webapp/images/pc/ico_point3.png
  72. BIN
      src/main/webapp/images/pc/ico_point3_black.png
  73. BIN
      src/main/webapp/images/pc/ico_point4.png
  74. BIN
      src/main/webapp/images/pc/ico_point4_black.png
  75. BIN
      src/main/webapp/images/pc/ico_pop_cls.png
  76. BIN
      src/main/webapp/images/pc/ico_primary_check.png
  77. BIN
      src/main/webapp/images/pc/ico_restock_past.png
  78. BIN
      src/main/webapp/images/pc/ico_restock_ready.png
  79. BIN
      src/main/webapp/images/pc/ico_restock_remain.png
  80. BIN
      src/main/webapp/images/pc/logo_brand_andew.png
  81. BIN
      src/main/webapp/images/pc/logo_brand_buckaroo.png
  82. BIN
      src/main/webapp/images/pc/logo_brand_conversekids.png
  83. BIN
      src/main/webapp/images/pc/logo_brand_curlysue.png
  84. BIN
      src/main/webapp/images/pc/logo_brand_frj.png
  85. BIN
      src/main/webapp/images/pc/logo_brand_hurleykids.png
  86. BIN
      src/main/webapp/images/pc/logo_brand_jordankids.png
  87. BIN
      src/main/webapp/images/pc/logo_brand_leviskids.png
  88. BIN
      src/main/webapp/images/pc/logo_brand_lpga.png
  89. BIN
      src/main/webapp/images/pc/logo_brand_moi.png
  90. BIN
      src/main/webapp/images/pc/logo_brand_nba.png
  91. BIN
      src/main/webapp/images/pc/logo_brand_nbakids.png
  92. BIN
      src/main/webapp/images/pc/logo_brand_nikekids.png
  93. BIN
      src/main/webapp/images/pc/logo_brand_pga.png
  94. BIN
      src/main/webapp/images/pc/logo_brand_tbj.png
  95. BIN
      src/main/webapp/images/pc/thumb/bigbanner_slide01.png
  96. BIN
      src/main/webapp/images/pc/thumb/bnn_1stage02.jpg
  97. BIN
      src/main/webapp/images/pc/thumb/bnr_sch_result.jpg
  98. BIN
      src/main/webapp/images/pc/thumb/br_lookbook_img01.jpg
  99. BIN
      src/main/webapp/images/pc/thumb/br_lookbook_img02.jpg
  100. BIN
      src/main/webapp/images/pc/thumb/br_lookbook_img03.jpg

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

@@ -24,6 +24,15 @@ public interface TsfDisplayDao {
 	 */
 	Collection<BrandGroup> getGnbBrandGroupList(Contents contents);
 
+	/**
+	 * 브랜드메인의 GNB브랜드그룹 정보
+	 * @param brandGroupNo - 브랜드그룹번호
+	 * @return
+	 * @author gagamel
+	 * @since 2021. 3. 11
+	 */
+	BrandGroup getGnbBrandGroup(Integer brandGroupNo);
+
 	/**
 	 * GNB탭 목록
 	 * @param gnbTab - GNB탭 정보

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

@@ -43,6 +43,17 @@ public class TsfDisplayService {
 		return displayDao.getGnbBrandGroupList(contents);
 	}
 
+	/**
+	 * 브랜드메인의 GNB브랜드그룹 정보 조회
+	 * @param brandGroupNo - 브랜드그룹번호
+	 * @return
+	 * @author gagamel
+	 * @since 2021. 3. 16
+	 */
+	public BrandGroup getGnbBrandGroup(Integer brandGroupNo) {
+		return displayDao.getGnbBrandGroup(brandGroupNo);
+	}
+
 	/**
 	 * GNB 탭 목록
 	 * @param gnbTab - GNB탭 정보

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

@@ -1,13 +1,14 @@
 package com.style24.front.biz.web;
 
+import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.HashMap;
 import java.util.Locale;
 
-import com.style24.core.support.env.TscConstants;
-import com.style24.front.support.security.session.TsfSession;
-import com.style24.persistence.domain.*;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.mobile.device.Device;
 import org.springframework.stereotype.Controller;
@@ -22,7 +23,17 @@ import com.style24.core.support.message.TscMessageByLocale;
 import com.style24.front.biz.service.TsfDisplayService;
 import com.style24.front.support.controller.TsfBaseController;
 import com.style24.front.support.env.TsfConstants;
+import com.style24.persistence.domain.BrandGroup;
+import com.style24.persistence.domain.Cate1;
+import com.style24.persistence.domain.Contents;
+import com.style24.persistence.domain.GnbTab;
+
+
+import com.style24.front.support.security.session.TsfSession;
 
+import com.style24.persistence.domain.MainLayout;
+import com.style24.persistence.domain.Cate4Srch;
+import com.style24.persistence.domain.GoodsSearch;
 import lombok.extern.slf4j.Slf4j;
 
 /**
@@ -49,7 +60,7 @@ public class TsfDisplayController extends TsfBaseController {
 	 * 몰 메인
 	 * @return
 	 * @author gagamel
-	 * @since 2020. 2. 3
+	 * @since 2021. 2. 3
 	 */
 	@GetMapping("/mall/main/form")
 	public ModelAndView mallMain(Device device, @RequestParam HashMap<String, String> paramMap) {
@@ -121,7 +132,7 @@ public class TsfDisplayController extends TsfBaseController {
 	 * @return
 	 * @throws Exception
 	 * @author gagamel
-	 * @since 2020. 3. 11
+	 * @since 2021. 3. 11
 	 */
 	@GetMapping("/gnb/brand/group/list")
 	@ResponseBody
@@ -148,7 +159,7 @@ public class TsfDisplayController extends TsfBaseController {
 	 * @return
 	 * @throws Exception
 	 * @author gagamel
-	 * @since 2020. 3. 11
+	 * @since 2021. 3. 11
 	 */
 	@GetMapping("/gnb/tab/list")
 	@ResponseBody
@@ -157,4 +168,47 @@ public class TsfDisplayController extends TsfBaseController {
 		return displayService.getGnbTabList(gnbTab);
 	}
 
+	/**
+	 * 브랜드 메인
+	 * @param device - 디바이스 정보
+	 * @param paramMap - 파라미터 정보
+	 * @param response - HttpServletResponse
+	 * @return
+	 * @throws IOException
+	 * @author gagamel
+	 * @since 2021. 3. 16
+	 */
+	@GetMapping("/brand/main/form")
+	public ModelAndView brandMain(Device device, @RequestParam HashMap<String, String> paramMap, HttpServletResponse response) throws IOException {
+		log.info("{}", paramMap);
+
+		ModelAndView mav = new ModelAndView();
+
+		if (StringUtils.isBlank(paramMap.get("brandGroupNo"))) {
+			response.sendRedirect("/");
+		}
+
+		// 브랜드그룹 정보
+		mav.addObject("brandGroupInfo", displayService.getGnbBrandGroup(Integer.parseInt(paramMap.get("brandGroupNo"))));
+
+		mav.setViewName(super.getDeviceViewName("display/BrandMainForm"));
+
+		return mav;
+	}
+
+	/**
+	 * 브랜드 GNB 탭 목록
+	 * @param gnbTab - GNB탭 정보
+	 * @return
+	 * @throws Exception
+	 * @author gagamel
+	 * @since 2021. 3. 16
+	 */
+	@GetMapping("/brand/gnb/tab/list")
+	@ResponseBody
+	public Collection<GnbTab> getBrandGnbTabList(GnbTab gnbTab) {
+		gnbTab.setGtabGb("B"); // 브랜드GNB
+		return displayService.getGnbTabList(gnbTab);
+	}
+
 }

+ 11 - 4
src/main/java/com/style24/front/biz/web/TsfGoodsController.java

@@ -625,11 +625,18 @@ public class TsfGoodsController extends TsfBaseController {
 		Goods paramsGoods = new Goods();
 		paramsGoods.setGoodsCd(goodsCd);
 		setGoods(paramsGoods);
-		Goods goods = goodsService.getGoodsInfo(paramsGoods);
-
-		// 상품 기본정보
-		mav.addObject("goodsInfo", goods);
+//		Goods goods = goodsService.getGoodsInfo(paramsGoods);
+//
+//		// 상품 기본정보
+//		mav.addObject("goodsInfo", goods);
+		
+		Review review = new Review();
+		review.setGoodsCd(paramsGoods.getGoodsCd());
+		review.setBestYn("Y");
+		mav.addObject("reviewList", reviewService.getReviewList(review));
 
+		mav.addObject("params", paramsGoods);
+		
 		mav.setViewName(super.getDeviceViewName("goods/GoodsReviewBestForm"));
 		return mav;
 	}

+ 8 - 0
src/main/java/com/style24/persistence/domain/Review.java

@@ -49,6 +49,14 @@ public class Review extends TscBaseDomain {
 	private String admRplDt;		// 관리자댓글등록일시
 	
 	private String custId;			// 고객ID
+	private String sysImgNm;		// 상품대표이미지
+	private String sizeGb;			// 사이즈구분(T:상의, B:하의, S:신발)
+	private String scoreSizeNm;		// 사이즈점수(공통코드G040)
+	private String scoreColorNm;	// 컬러점수(공통코드G039)
+	private String scoreFitNm;		// 핏점수(공통코드G042)
+	private String scoreThickNm;	// 두께감점수(공통코드G079)
+	private String scoreWeightNm;	// 무게감점수(공통코드G080)
+	private String scoreBallNm;		// 볼넓이점수(공통코드G041)
 	private int rownum;
 	
 	// Masking

+ 17 - 0
src/main/java/com/style24/persistence/mybatis/shop/TsfDisplay.xml

@@ -50,6 +50,20 @@
 		</choose>
 	</select>
 	
+	<!-- GNB 브랜드그룹 조회 -->
+	<select id="getGnbBrandGroup" parameterType="Integer" resultType="BrandGroup">
+		/* TsfDisplay.getGnbBrandGroup */
+		SELECT BRAND_GROUP_NO
+		     , CASE WHEN DISP_NM_LANG = 'EN' THEN BRAND_GROUP_ENM
+		            ELSE BRAND_GROUP_KNM
+		       END              AS BRAND_GROUP_NM
+		     , LOGO_FILE_NM
+		     , RGB_CD
+		FROM   TB_BRAND_GROUP
+		WHERE  BRAND_GROUP_NO = #{brandGroupNo}
+		AND    USE_YN = 'Y'
+	</select>
+	
 	<!-- GNB탭 목록 -->
 	<select id="getGnbTabList" parameterType="GnbTab" resultType="GnbTab">
 		/* TsfDisplay.getGnbTabList */
@@ -73,6 +87,9 @@
 		    </otherwise>
 		</choose>
 		WHERE  GTAB_GB = #{gtabGb}
+		<if test='brandGroupNo != null and brandGroupNo == ""'>
+		AND    BRAND_GROUP_NO = #{brandGroupNo}
+		</if>
 		AND    USE_YN = 'Y'
 		<choose>
 		    <when test='preview != null and preview == "Y"'>

+ 10 - 1
src/main/java/com/style24/persistence/mybatis/shop/TsfReview.xml

@@ -31,11 +31,17 @@
 		     , R.HEIGHT
 		     , R.WEIGHT
 		     , R.SCORE_SIZE
+		     , FN_GET_CODE_NM('G040',R.SCORE_SIZE) AS SCORE_SIZE_NM
 		     , R.SCORE_COLOR
+		     , FN_GET_CODE_NM('G039',R.SCORE_COLOR) AS SCORE_COLOR_NM
 		     , R.SCORE_FIT
+		     , FN_GET_CODE_NM('G042',R.SCORE_FIT) AS SCORE_FIT_NM
 		     , R.SCORE_THICK
+		     , FN_GET_CODE_NM('G079',R.SCORE_THICK) AS SCORE_THICK_NM
 		     , R.SCORE_WEIGHT
+		     , FN_GET_CODE_NM('G080',R.SCORE_WEIGHT) AS SCORE_WEIGHT_NM
 		     , R.SCORE_BALL
+		     , FN_GET_CODE_NM('G041',R.SCORE_BALL) AS SCORE_BALL_NM
 		     , R.GIVE_DUE_PNT
 		     , R.PNT_GIVE_STAT
 		     , R.BEST_YN
@@ -50,10 +56,13 @@
 		     , DATE_FORMAT(R.REG_DT,'%Y.%m.%d') AS REG_DT
 		     , R.ADM_RPL
 		     , R.ADM_RPL_REG_NO
-		     , R.ADM_RPL_DT
+		     , DATE_FORMAT(R.ADM_RPL_DT,'%Y.%m.%d') AS ADM_RPL_DT
 		     , C.CUST_ID 
+		     , (SELECT MAX(SYS_IMG_NM) FROM TB_GOODS_IMG WHERE GOODS_CD = G.GOODS_CD AND COLOR_CD = IFNULL(G.MAIN_COLOR_CD,'XX') AND DEFAULT_IMG_YN = 'Y') AS SYS_IMG_NM
+		     , (SELECT TI.SIZE_GB FROM TB_ITEMKIND TI WHERE TI.ITEMKIND_CD = G.ITEMKIND_CD) AS SIZE_GB
 		     , RANK() OVER(ORDER BY R.REVIEW_SQ DESC) AS NUMB
 		FROM TB_REVIEW R 
+		INNER JOIN TB_GOODS G ON R.GOODS_CD = G.GOODS_CD
 		INNER JOIN TB_ORDER_DETAIL OD ON R.ORD_NO = OD.ORD_NO 
 		                               AND R.ORD_DTL_NO  = OD.ORD_DTL_NO 
 		INNER JOIN TB_CUSTOMER C ON R.REG_NO  = C.CUST_NO

+ 97 - 0
src/main/webapp/WEB-INF/views/web/common/fragments/BrandGnbWeb.html

@@ -0,0 +1,97 @@
+<!DOCTYPE html>
+<html lang="ko"
+	  xmlns:th="http://www.thymeleaf.org">
+<!--
+ *******************************************************************************
+ * @source  : GnbWeb.html
+ * @desc    : GNB
+ *============================================================================
+ * STYLE24
+ * Copyright(C) 2020 TSIT, All rights reserved.
+ *============================================================================
+ * VER  DATE         AUTHOR      DESCRIPTION
+ * ===  ===========  ==========  =============================================
+ * 1.0  2021.01.28   gagamel     최초 작성
+ *******************************************************************************
+ -->
+<header id="header" th:fragment="gnb">
+
+	<div class="common_header br_header" th:style="${'background-color: #' + brandGroupInfo.rgbCd}">
+		<div class="area">
+			<div class="logo">
+				<a href="#none">
+					<h1><img th:src="${@environment.getProperty('domain.image') + brandGroupInfo.logoFileNm}" src="/images/pc/thumb/br_tbj_logo.png" alt="TBJ nearby"/></h1>
+				</a>
+			</div>
+			<div class="util_group">
+				<span><a href="javascript:void(0);" onclick="cfnGoToPage(_PAGE_MAIN);" title="STYLE24 홈화면 바로가기"><b>STYLE24</b></a></span>
+				<span th:if="${sessionInfo == null}"><a href="javascript:void(0);" onclick="cfnGoToPage(_PAGE_LOGIN);" title="로그인 바로가기">로그인</a></span>
+				<span th:if="${sessionInfo != null}"><a href="javascript:void(0);" onclick="cfnGoToPage(_PAGE_LOGOUT);" title="로그아웃">로그아웃</a></span>
+				<span th:if="${sessionInfo == null}"><a href="javascript:void(0);" onclick="cfnGoToPage(_PAGE_CUSTOMER_JOIN_TYPE);" title="회원가입 바로가기">회원가입</a></span>
+				<span><a href="javascript:void(0);" onclick="cfnGoToPage(_PAGE_MYPAGE);" title="마이페이지 바로가기">마이페이지</a></span>
+			</div>
+		</div>
+		<div class="gnb">
+			<!-- nav -->
+			<div class="nav">
+				<ul class="bundle" id="ulGnbTab">
+					<li><a href="#">상품</a></li>
+					<li><a href="#">룩북</a></li>
+					<li><a href="#">20S/S시즌오프</a></li>
+					<li><a href="#">이벤트</a></li>
+				</ul>
+			</div>
+			<!-- // nav -->
+			
+			<!-- search -->
+			<div class="search">
+				<button type="button" class="btn_open_search"><i class="ico ico_search"><em>통합검색 열기</em></i></button>
+				<a href="#" class="btn_ico btn_cart" title="장바구니 바로가기"><i class="ico ico_bag"></i><span class="circle_count">99+</span></a>
+			</div>
+			<!-- //search -->
+		</div>
+	</div>
+
+	<!-- 검색 레이어 -->
+	<div class="common_search">
+	</div>
+	<!-- //검색 레이어 -->
+
+<script th:inline="javascript">
+/*<![CDATA[*/
+	// GNB탭 생성
+	let fnCreateGnbTab = function() {
+		$.getJSON('/display/brand/gnb/tab/list/' + [[${brandGroupInfo.brandGroupNo}]]
+			, function(result, status) {
+				if (status == 'success') {
+					if (result.length > 0) {
+						$('#ulGnbTab').html('');
+						$.each(result, function(idx, item) {
+							/* if (item.contentsType == 'C' || item.contentsType == 'O') { // 컨텐츠유형:카테고리, 아울렛
+								$.each(allCate, function(allCateIdx, allCateItem) {
+									if (item.cate1No == allCateItem.cate1No) {
+										$('#ulGnbTab').append(gnbCate);
+									}
+								});
+							} else  */if (item.contentsType == 'L') { // 컨텐츠유형:링크
+								$('#ulGnbTab').append('<li><a href="' + item.linkUrl + '">' + item.gtabNm + '</a></li>');
+							}
+						});
+					}
+				}
+			});
+	}
+
+	$(document).ready(function() {
+		//검색창 호출
+		$(".common_search").load("sch_layer_pop.html");
+
+		// GNB탭 생성
+		fnCreateGnbTab();
+	});
+/*]]>*/
+</script>
+
+</header>
+
+</html>

+ 0 - 470
src/main/webapp/WEB-INF/views/web/common/fragments/GnbWeb2.html

@@ -1,470 +0,0 @@
-<!DOCTYPE html>
-<html lang="ko"
-	xmlns:th="http://www.thymeleaf.org">
-<!--
- *******************************************************************************
- * @source  : GnbWeb.html
- * @desc    : GNB
- *============================================================================
- * STYLE24
- * Copyright(C) 2020 TSIT, All rights reserved.
- *============================================================================
- * VER  DATE         AUTHOR      DESCRIPTION
- * ===  ===========  ==========  =============================================
- * 1.0  2021.01.28   gagamel     최초 작성
- *******************************************************************************
- -->
-<header id="header" th:fragment="gnb">
-
-	<!-- head start -->
-	<div class="common_header">
-		<!-- 프로모션 띠 배너 등록 시 노출 -->
-		<div class="hd_top_banner" style="background-color:#fd4801;">
-			<a href="" class="t_bnr">
-				<span style="margin:0 auto;height:60px;line-height:60px;font-size: 20px;font-weight: 600;letter-spacing: -.025em; color:#fff;">APP 수신동의 하면 1만 포인트 증정!</span>
-				<!--<img src="ABC.jpg" alt="프로모션"/>-->
-			</a>
-		</div>
-		<!-- //프로모션 띠 배너 등록 시 노출 -->
-	
-		<div class="area">
-			<div class="logo">
-				<a href="javascript:void(0);" onclick="cfnGoToPage(_PAGE_MAIN);">
-					<h1>
-						<i class="ico ico_logo"></i>
-						<em class="blind">STYLE24</em>
-					</h1>
-				</a>
-			</div>
-			<div class="util_group">
-				<span th:if="${sessionInfo == null}"><a href="javascript:void(0);" onclick="cfnGoToPage(_PAGE_LOGIN);" title="로그인 바로가기">로그인</a></span>
-				<span th:if="${sessionInfo != null}"><a href="javascript:void(0);" onclick="cfnGoToPage(_PAGE_LOGOUT);" title="로그아웃">로그아웃</a></span>
-				<span th:if="${sessionInfo == null}"><a href="javascript:void(0);" onclick="cfnGoToPage(_PAGE_CUSTOMER_JOIN_TYPE);" title="회원가입 바로가기">회원가입</a></span>
-				<span><a href="javascript:void(0);" onclick="cfnGoToPage(_PAGE_MYPAGE);" title="마이페이지 바로가기">마이페이지</a></span>
-			</div>
-		</div>
-		
-		<div class="gnb">
-			<!-- nav -->
-			<div class="nav">
-				<ul class="bundle btn_home">
-					<li><a href="javascript:void(0);" onclick="cfnGoToPage(_PAGE_MAIN);" class="">홈</a></li>
-				</ul>
-			
-				<ul class="bundle">
-					<li class="has_depth">
-						<a href="javascript:void(0);" onclick="cfnGoToPage(_PAGE_ALL_BRAND);">브랜드</a>
-						<!-- 브랜드_depth -->
-						<div class="depth_menu brand">
-							<div class="head_category">
-								<div class="tit">
-									<p>브랜드</p>
-									<a href="javascript:void(0);" onclick="cfnGoToPage(_PAGE_ALL_BRAND);" class="more">전체보기</a>
-								</div>
-								<div class="menu" id="divBrandGrp">
-								</div>
-							</div>
-						</div>
-					</li>
-				</ul>
-				
-				<ul class="bundle" id="divCate">
-				</ul>
-				
-				<ul class="bundle" id="category3">
-					<li class="active" ><a href="#">베스트</a></li>
-				<li><a href="#">핫딜</a></li>
-				<li><a href="#">기획전</a></li>
-				<li><a href="#">총알배송</a></li>
-				<li class="has_depth">
-					<a href="#">아울렛</a>
-					<!-- depth_menu start -->
-					<div class="depth_menu category">
-						<div class="head_category">
-							<div class="tit">
-								<p>아울렛</p>
-								<a href="" class="more">전체보기</a>
-							</div>
-							<div class="menu">
-								<ul class="maintabs">
-									<li><a href="javascript:;">티셔츠/셔츠</a></li>
-									<li>
-										<a href="javascript:;">여성</a>
-										<!-- 2depth -->
-										<ul class="box_depth2">
-											<li>
-												<a href="/">상의</a>
-											</li>
-											<li>
-												<a href="/">하의</a>
-												<!-- 3depth -->
-												<ul class="box_depth3">
-													<li><a href="/">상의</a></li>
-													<li><a href="/">하의</a></li>
-													<li><a href="/">세트</a></li>
-													<li><a href="/">시즌스포츠의류</a></li>
-													<li>
-														<a href="/">스포츠잡화</a>
-														<!-- 4depth -->
-														<ul class="box_depth4">
-															<li><a href="/">운동화/등산화</a></li>
-															<li><a href="/">가방/모자/잡화</a></li>
-														</ul> 
-													</li>
-												</ul>                
-											</li>
-											<li>
-												<a href="/">세트</a>
-											</li>
-											<li>
-												<a href="/">시즌스포츠의류</a>
-											</li>
-											<li>
-												<a href="javascript:;">스포츠잡화</a>
-											</li>
-										</ul>    
-									</li>
-									<li>
-										<a href="">원피스/스커트</a>
-									</li>
-									<li><a href="">팬츠/레깅스</a></li>
-									<li><a href="">데님</a></li>
-									<li><a href="">자켓/점퍼/코트</a></li>
-									<li><a href="">트레이닝/스포츠</a></li>
-									<li><a href="">여성잡화</a></li>
-									<li><a href="">언더웨어</a></li>
-								</ul>   
-							</div>
-						</div>
-						<div class="head_banner">
-							<div class="tit">
-								<p>가을의 신상 만나기</p>
-							</div>
-							<div class="list">
-								<ul class="clear event_con">
-									<li>
-										<a href="">
-											<div class="ev_img"><img src="/images/pc/thumb/ev_list_img01.jpg" alt="ATTENTION! 20FW HOLIDAY TBJ 주목할 홀리데이 TBJ 컬렉션"></div>
-											<div class="txt">
-												<p class="tit">2020 FALL COLLECTION 가을에는 이 컬러 2020 FALL COLLECTION 가을에는 이 컬러</p>
-											</div>
-										</a>
-									</li>
-									<li>
-										<a href="">
-											<div class="ev_img"><img src="/images/pc/thumb/ev_list_img02.jpg" alt="단 48시간, 퓨어캐시미어 최대 80%세일 PURE CASHMERE 48H POP-UP">
-											</div>
-											<div class="txt">
-												<p class="tit">FALL NEW ARRIVAL</p>
-											</div>
-										</a>
-									</li>
-								</ul>
-							</div>
-						</div>
-					</div>
-					<!-- //depth_menu end -->
-				</li>
-				<li><a href="#">룩북</a></li>
-				<li><a href="#">이벤트/혜택</a></li>
-				</ul>
-			</div>
-			<!-- // nav -->
-
-			<div class="search">
-				<div class="area">
-					<form id="searchMainForm" name="searchMainForm">
-						<fieldset>  
-							<legend>통합검색</legend>
-							<input type="text" id="search" name="search" value="" placeholder="모이몰론, 남들보다 빠르게! 신상 check" class="search_input" title="검색어 입력" maxlength="100">								
-							<div class="search_group" id="ark" style="display: none;">
-								<div id="ark_down" style="position: absolute; display: block; cursor: pointer; top: 3px; left: 366px;"></div>
-								<div id="ark_up" style="position: absolute; display: none; cursor: pointer; top: 3px; left: 366px;"></div>
-								<div class="area">
-									<p class="blind">연관검색</p>
-									<div class="search_list">
-										<div id="ark_content_list" style="width: 410px;"></div>
-										<div id="ark_category_list" class="category"></div>
-										<div id="ark_event_list" class="exhibition"></div>
-										<div id="ark_powerdeal_list"></div>
-									</div>
-									<div class="close">
-										<a href="#" class="search_close">닫기<i class="ico ico_search_close_gray"><em>닫기</em></i></a>
-									</div>
-								</div>
-							</div>
-							<!-- 검색어 입력전 -->
-							<div id="mykeyword" class="my_search_group sch_auto" style="display: none;">
-								<p class="blind">인기 검색어 &amp; 최근 검색어</p>
-								<div class="area">
-									<div class="hot_search_list" id="popkeyword">
-										<p>인기 검색어</p>
-										<ul>
-											<li>
-												<a href="#"><span>1</span>나이키</a>
-											</li>
-											<li>
-												<a href="#"><span>2</span>tamiya</a>
-											</li>
-											<li>
-												<a href="#"><span>3</span>니콘 z6</a>
-											</li>
-											<li>
-												<a href="#"><span>4</span>갤럭시 자켓</a>
-											</li>
-											<li>
-												<a href="#"><span>5</span>아동운동화</a>
-											</li>
-											<li>
-												<a href="#"><span>6</span>타미야</a>
-											</li>
-											<li>
-												<a href="#"><span>7</span>널디</a>
-											</li>
-											<li>
-												<a href="#"><span>8</span>호박목걸이</a>
-											</li>
-											<li>
-												<a href="#"><span>9</span>제시뉴욕</a>
-											</li>
-											<li>
-												<a href="#"><span>10</span>뉴에라</a>
-											</li>
-										</ul>
-									</div>
-									<div class="my_search_list" id="searchkeyword">
-										<p>최근 검색어</p>
-										<button type="button" onclick="removeMyKeyword();">최근 검색어 전체삭제<i class="ico ico_mysearch_delete"></i></button>
-									</div>
-								</div>
-								<div class="close">
-									<a href="#" class="search_close">닫기<i class="ico ico_search_close_gray"><em>닫기</em></i></a>
-								</div>
-							</div>
-							<!-- // 검색어 입력전 -->
-							<button type="button" class="close"><i class="ico ico_search_close"><em>닫기</em></i></button>
-							<button type="button" class="sch_btn" onclick="goSearch();"><i class="ico ico_search"><em>검색</em></i></button>
-						</fieldset>
-					</form>
-				</div>
-
-				<a href="#" class="btn_ico btn_cart" title="장바구니 바로가기"><i class="ico ico_bag"></i><span class="circle_count">99+</span></a>
-				
-			</div>
-			<!-- // search -->
-		</div>
-	</div>
-	<!-- head end -->
-
-<script th:inline="javascript">
-/*<![CDATA[*/
-	// 탭 > 브랜드 생성
-	let fnCreateBrandGroup = function(brandGrpList) {
-		let tag = '';
-		
-		if (brandGrpList.length > 0) {
-			tag += '<div class="row">\n';
-			tag += '	<p>캐주얼</p>\n';
-			tag += '	<div class="brand_list swiper-container">\n';
-			tag += '		<ul class="clear swiper-wrapper">\n';
-			
-			$.each(brandGrpList, function(idx, item) {
-				tag += '			<li class="swiper-slide">\n';
-				tag += '				<a href="javascript:void(0);" onclick="cfnGoToBrandMain(' + item.brandGroupNo + ');">\n';
-				tag += '					<img src="' + _uploadDefaultUrl + item.logoFileNm + '" alt=""/>\n';
-				tag += '					<span><em>' + item.brandGroupNm + '</em></span>\n';
-				tag += '				</a>\n';
-				tag += '			</li>\n';
-			});
-			
-			tag += '		</ul>\n';
-			tag += '	</div>\n';
-			tag += '</div>\n';
-		}
-		
-		return tag;
-	}
-	
-	// 탭 > 카테고리 생성
-	let fnCreateCategory = function(cateList) {
-		let tag = '';
-		
-		if (cateList.length > 0) {
-			$.each(cateList, function(idx1, cate1) {
-				tag += '<li class="has_depth">\n'; //depth_menu 있을 시 has_depth 클래스 추가
-				tag += '	<a href="javascript:void(0);" onclick="cfnGoToCategory(' + cate1.cate1Nm + ');">' + cate1.cate1Nm + '</a>\n';
-				tag += '	<div class="depth_menu category">\n';
-				tag += '		<div class="head_category">\n';
-				tag += '			<div class="tit">\n';
-				tag += '				<p>' + cate1.cate1Nm + '</p>\n';
-				tag += '				<a href="javascript:void(0);" onclick="cfnGoToCategory(' + cate1.cate1No + ');" class="more">전체보기</a>\n';
-				tag += '			</div>\n';
-				
-				if (cate1.leafYn == 'N' && cate1.cate2List.length > 0) {
-					tag += '			<div class="menu">\n';
-					tag += '				<ul class="maintabs">\n';
-					
-					$.each(cate1.cate2List, function(idx2, cate2) {
-						tag += '					<li>\n';
-						tag += '						<a href="javascript:void(0);" onclick="cfnGoToCategoryMain(\'' + cate2.cateGb + '\',\'' + cate2.cate1No + '\',\'' + cate2.cate2No + '\');">' + cate2.cate2Nm + '</a>\n';
-						
-						if (cate2.leafYn == 'N' && cate2.cate3List.length > 0) {
-							tag += '						<ul class="box_depth2">\n';
-							
-							$.each(cate2.cate3List, function(idx3, cate3) {
-								tag += '							<li>\n';
-								tag += '								<a href="javascript:void(0);" onclick="cfnGoToCategoryMain(\'' + cate3.cateGb + '\',\'' + cate3.cate1No + '\',\'' + cate3.cate2No + '\',\'' + cate3.cate3No + '\');">' + cate3.cate3Nm + '</a>\n';
-								
-								if (cate3.leafYn == 'N' && cate3.cate4List.length > 0) {
-									tag += '								<ul class="box_depth3">\n';
-								
-									$.each(cate3.cate4List, function(idx4, cate4) {
-										tag += '									<li><a href="javascript:void(0);" onclick="cfnGoToCategoryMain(\'' + cate4.cateGb + '\',\'' + cate4.cate1No + '\',\'' + cate4.cate2No + '\',\'' + cate4.cate3No + '\',\'' + cate4.cate4No + '\');">' + cate4.cate4Nm + '</a></li>\n';
-									});
-									
-									tag += '								</ul>\n';
-								}
-								
-								tag += '							</li>\n';
-							});
-							
-							tag += '						</ul>\n';
-						}
-						
-						tag += '					</li>\n';
-					});
-					
-					tag += '				</ul>\n';
-					tag += '			</div>\n';
-					tag += '		</div>\n';
-					tag += '	</div>\n';
-				}
-				
-				if (cate1.bannerList.length > 0) {
-					tag += '	<div class="head_banner">\n';
-					tag += '		<div class="tit">\n';
-					tag += '			<p>가을의 신상 만나기</p>\n';
-					tag += '		</div>\n';
-					tag += '		<div class="list">\n';
-					tag += '			<ul class="clear event_con">\n';
-					tag += '				<li>\n';
-					tag += '					<a href="">\n';
-					tag += '						<div class="ev_img"><img src="/images/pc/thumb/ev_list_img01.jpg" alt="ATTENTION! 20FW HOLIDAY TBJ 주목할 홀리데이 TBJ 컬렉션"></div>\n';
-					tag += '						<div class="txt">\n';
-					tag += '							<p class="tit">2020 FALL COLLECTION 가을에는 이 컬러 2020 FALL COLLECTION 가을에는 이 컬러</p>\n';
-					tag += '						</div>\n';
-					tag += '					</a>\n';
-					tag += '				</li>\n';
-					tag += '				<li>\n';
-					tag += '					<a href="">\n';
-					tag += '						<div class="ev_img"><img src="/images/pc/thumb/ev_list_img02.jpg" alt="단 48시간, 퓨어캐시미어 최대 80%세일 PURE CASHMERE 48H POP-UP"></div>\n';
-					tag += '						<div class="txt">\n';
-					tag += '							<p class="tit">FALL NEW ARRIVAL</p>\n';
-					tag += '						</div>\n';
-					tag += '					</a>\n';
-					tag += '				</li>\n';
-					tag += '			</ul>\n';
-					tag += '		</div>\n';
-					tag += '	</div>\n';
-				}
-				
-				tag += '</li>\n';
-			});
-		}
-		
-		return tag;
-	}
-	
-	// 탭 목록
-	let fnTapList = function() {
-		$.getJSON('/display/tap/list'
-			, function(result, status) {
-				if (status == 'success') {
-					$.each(result, function(idx, item) {
-						if (item.contentsType == 'B') { // 컨텐츠유형:브랜드
-							$('#divBrandGrp').html('');
-							$('#divBrandGrp').append(fnCreateBrandGroup(item.casualBrandGroupList));
-							$('#divBrandGrp').append(fnCreateBrandGroup(item.golfBrandGroupList));
-							$('#divBrandGrp').append(fnCreateBrandGroup(item.kidsBrandGroupList));
-						} else if (item.contentsType == 'C') { // 컨텐츠유형:카테고리
-							$('#divCate').html('');
-							$('#divCate').append(fnCreateCategory(item.cateList));
-						}
-					});
-				}
-			});
-	}
-	
-	$(document).ready(function() {
-		//검색창 호출
-		$(".common_search").load("sch_layer_pop.html");
-		
-		// GNB toggle
-		$(document).on('mouseenter','.common_header .gnb .nav > ul > li',function(e){
-			if(!$(this).hasClass('has_depth')){
-				$('.black_screen').hide();
-				$('.common_header .gnb .depth_menu').hide();
-			} else if($(this).hasClass('has_depth')){
-				$('.black_screen').show();
-				$(this).find('.depth_menu').show();
-				$(this).parents('ul').siblings('ul').find('li.has_depth .depth_menu').hide();
-				$(this).siblings('li.has_depth').find('.depth_menu').hide();
-			}
-		}).on('mouseleave','.common_header .gnb',function(e){
-			$('.black_screen').hide();
-			$('.common_header .gnb .depth_menu').hide();
-		});
-
-		// GNB 하위메뉴
-		$(document).on('mouseenter','.common_header .maintabs li',function(e){
-			if($(this).find('> ul').length > 0){
-				$(this).addClass('on');
-			}
-			$(this).find('> ul').show();
-			$(this).siblings('li').find('> ul').hide();
-		});
-
-		// GNB 더보기
-		$(document).on('click','.more_category .btn_more_cate',function(e){
-			$(this).parent('.more_category').toggleClass('on');
-			$(this).parent('.more_category').find('.cate_list').toggle();
-			return false;
-		});
-
-		// GNB - 슬라이드 > 브랜드_GNB
-		var brand_gnb_slide = new Swiper('#header .gnb .brand_list', {
-			observer: true,
-			observeParents: true,
-			centeredSlides: false,
-			slidesPerView: 'auto',
-			freeMode:true,
-		});
-
-		//통합검색 - 슬라이드 > 지금 고객님들이 많이 보고 있어요 
-		var realtimeItemSwiper = new Swiper('.common_search .realtime_slider .swiper-container', {
-			observer: true,
-			observeParents: true,
-			slidesPerView: 5,
-			spaceBetween: 20,
-			autoplay: {
-				delay: 2500,
-				disableOnInteraction:false,
-			},
-			navigation: {
-				nextEl: '.common_search .realtime_slider .swiper-button-next',
-				prevEl: '.common_search .realtime_slider .swiper-button-prev',
-			},
-			pagination: {
-				el: '.common_search .realtime_slider .swiper-pagination',
-				clickable: true,
-			},
-		});
-		
-		fnTapList();
-	});
-/*]]>*/
-</script>
-
-</header>
-
-</html>

+ 2 - 3
src/main/webapp/WEB-INF/views/web/common/fragments/HeadWeb.html

@@ -26,15 +26,14 @@
 	<link rel="icon" href="/images/favicon-16x16.png" sizes="16x16" type="image/png"/>
 	
 	<link rel="stylesheet" type="text/css" th:href="@{'/ux/pc/css/common.css?v=' + ${#calendars.format(#calendars.createNow(), 'yyyyMMddHHmmss')}}" href="/ux/pc/css/common.css"/>
-	<link rel="stylesheet" type="text/css" href="/ux/pc/css/jquery-ui.css">
-	<link rel="stylesheet" type="text/css" href="/ux/pc/css/slick.css" />
+	<link rel="stylesheet" type="text/css" th:href="@{'/ux/pc/css/main.css?v=' + ${#calendars.format(#calendars.createNow(), 'yyyyMMddHHmmss')}}" href="/ux/pc/css/main.css"/>
 	<link rel="stylesheet" type="text/css" href="/ux/pc/css/swiper.min.css" />
 	
+	<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
 	<script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
 	<script src="https://code.jquery.com/jquery-migrate-1.2.1.min.js"></script>
 	<script src="https://cdnjs.cloudflare.com/ajax/libs/Swiper/4.5.0/js/swiper.min.js"></script>
 	<script src="/ux/pc/js/jquery.modal.min.js"></script>
-	<script src="/ux/pc/js/slick.min.js"></script>
 	<script src="/ux/pc/js/jquery-ui.js"></script>
 	<script src="/ux/pc/js/jquery.ui.datepicker.monthyearpicker.js"></script>
 	<script src="/ux/plugins/jquery.serializeObject.min.js"></script>

+ 41 - 0
src/main/webapp/WEB-INF/views/web/common/layout/BrandLayoutWeb.html

@@ -0,0 +1,41 @@
+<!DOCTYPE html>
+<html lang="ko"
+	xmlns:th="http://www.thymeleaf.org"
+	xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout">
+
+<head th:replace="~{web/common/fragments/HeadWeb :: head}"></head>
+
+<body>
+
+<div class="skipComment">
+	<a href="#content">본문 바로가기</a>
+	<a href="#gnb">주메뉴 바로가기</a>
+	<a href="#footer">하단메뉴 바로가기</a>
+</div>
+	
+<th:block th:replace="~{web/common/fragments/VariablesWeb :: variables}"></th:block>
+
+<!-- GNB -->
+<header id="header" th:replace="~{web/common/fragments/BrandGnbWeb :: gnb}"></header>
+<!--// GNB -->
+
+<!-- CONTENT AREA -->
+<th:block layout:fragment="content"></th:block>
+<!-- // CONTENT AREA -->
+
+<!-- Footer -->
+<footer id="footer" th:replace="~{web/common/fragments/FooterWeb :: footer}"></footer>
+
+<th:block th:replace="~{web/common/fragments/ScriptsWeb :: scripts}"></th:block>
+<!-- <th:block th:replace="~{web/common/fragments/MarketingScripts :: mscripts}"></th:block> -->
+
+<script th:inline="javascript">
+/*<![CDATA[*/
+	$(document).ready(function() {
+		
+	});
+/*]]>*/
+</script>
+
+</body>
+</html>

+ 35 - 0
src/main/webapp/WEB-INF/views/web/display/BrandMainFormWeb.html

@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html lang="ko"
+	xmlns:th="http://www.thymeleaf.org"
+	xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
+	layout:decorator="web/common/layout/BrandLayoutWeb">
+<!--
+ *******************************************************************************
+ * @source  : BrandMainFormWeb.html
+ * @desc    : 브랜드메인 Page
+ *============================================================================
+ * STYLE24
+ * Copyright(C) 2020 TSIT, All rights reserved.
+ *============================================================================
+ * VER  DATE         AUTHOR      DESCRIPTION
+ * ===  ===========  ==========  =============================================
+ * 1.0  2021.03.16   gagamel     최초 작성
+ *******************************************************************************
+ -->
+<body>
+
+<th:block layout:fragment="content">
+<div id="container" class="container brand_main">
+	<h1>브랜드 메인</h1>
+</div>
+
+<script th:inline="javascript">
+/*<![CDATA[*/
+	
+/*]]>*/
+</script>
+
+</th:block>
+
+</body>
+</html>

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

@@ -20,7 +20,7 @@
 <th:block layout:fragment="content">
 <link rel="stylesheet" type="text/css" href="/ux/pc/css/swiper.min.css" />
 <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/Swiper/4.5.0/js/swiper.min.js"></script>
-<div id="container" class="container pd" th:with="imgGoodsUrl=${@environment.getProperty('upload.goods.view')}, uxImgUrl=${@environment.getProperty('domain.uximage')}">
+<div id="container" class="container pd" th:with="imgGoodsUrl=${@environment.getProperty('upload.goods.view')}, uxImgUrl=${@environment.getProperty('domain.uximage')}, imgUrl=${@environment.getProperty('upload.image.view')}">
 	<th:block th:include="~{web/goods/GoodsIncludeFormWeb :: goodsNaviForm}"></th:block>
 	
 	<div class="wrap">
@@ -314,8 +314,10 @@
 										<div class="best_review" th:if="${bestReviewList != null and !bestReviewList.empty}">
 											<th:block th:each="bestReview, status : ${bestReviewList}" th:if="${status.first}">
 											<a href="javascript:void(0);" id="btn_pdBestReview_pop"  th:onclick="cfGoodsBestReview([[${goodsInfo.goodsCd}]])" >
-												<div class="pic">
-													<span class="thumb mov" style="background-image:url('/images/pc/thumb/tmp_pdLookbook3.jpg');"></span><!-- 동영상의 썸네일일 경우 mov 클래스 추가 -->
+												<div class="pic" th:if="${bestReview.reviewAttachList != null and !bestReview.reviewAttachList.empty}">
+													<th:block th:each="reviewAttach, attachStatus : ${bestReview.reviewAttachList}" th:if="${attachStatus.first}">
+													<span class="thumb" th:classAppend="${(reviewAttach.fileGb == 'M') ? 'mov' :''}" th:style="${'background-image:url('+imgUrl+ reviewAttach.sysFileNm+');'}"></span><!-- 동영상의 썸네일일 경우 mov 클래스 추가 -->
+													</th:block>
 												</div>
 												<div class="star_score" th:with="starScore=${#numbers.formatDecimal((bestReview.score/5)*100, 0,0)}">
 													<span class="star">
@@ -324,9 +326,7 @@
 													<em class="ico ico_besttag"></em>
 												</div>
 												<div class="txt_best_review">
-													<p th:text="${bestReview.reviewContent}">
-														옷이 부들부들 촉감이 너무 좋습니다~ 보는 것 보다 실제 입으니깐 더 멋스러운 것 같아요! 차분한 그레이 라서 지금 가을가을한 계절에 잘 어울리는 같아요. 옷이 부들부들 촉감이 너무 좋습니다~ 보는 것 보다 실제 입으니깐 더 멋스러운 것 같아요! 차분한 그레이 라서 지금 가을가을한 계절에 잘 어울리는 같아요.
-													</p>
+													<p th:text="${bestReview.reviewContent}">옷</p>
 												</div>
 											</a>
 											</th:block>

+ 176 - 715
src/main/webapp/WEB-INF/views/web/goods/GoodsReviewBestFormWeb.html

@@ -14,688 +14,149 @@
  * 1.0  2021.03.02   eskim		최초 작성
  *******************************************************************************
  -->
-<div class="modal-dialog" role="document">
+<div class="modal-dialog" role="document" th:with="imgGoodsUrl=${@environment.getProperty('upload.goods.view')}, imgUrl=${@environment.getProperty('upload.image.view')}">
 	<div class="modal-content">
 		<div class="modal-header">
-		    <h5 class="modal-title" id="pdBestReviewLabel">베스트 리뷰</h5>
+			<h5 class="modal-title" id="pdBestReviewLabel">베스트 리뷰</h5>
 		</div>
-		<div class="modal-body">
-		    <div class="pop_cont">
-		        <div class="swiper-container detail">
-		            <div class="swiper-wrapper">
-		                <div class="swiper-slide">
-		                    <!-- 리뷰내용 -->
-		                    <div class="review">
-		                        <div class="pic">
-		                            <span class="thumb mov"><!-- 동영상의 썸네일일 경우 mov 클래스 추가-->
-		                                <video poster="http://cdn.011st.com/11dims/resize/1999x1999/quality/75/11src/review/10201202/3121412332/2e66698576d64c5c9977a6fe6606008d.jpg" muted="muted" preload="metadata" controls="controls">
-		                                    <source src="http://snsvideo.11st.co.kr/movie/item/www/675/67518524_06_1_C1.mp4" type="video/mp4">
-		                                </video>
-		                            </span>
-		                        </div>
-		                        <div class="review_cont">
-		                            <div class="box_wrap">
-		                                <div class="star_box">
-		                                    <div class="star_score">
-		                                        <span class="star">
-		                                            <em class="progbar" style="width:70%;"></em> <!-- 평점 style로 표기 -->
-		                                        </span>
-		                                    </div>
-		                                </div>
-		                                <div class="response_box">
-		                                    <div class="full">
-		                                        <dl>
-		                                            <div>
-		                                                <dt>구매옵션</dt>
-		                                                <dd>베이지 / 100</dd>
-		                                            </div>
-		                                        </dl>
-		                                    </div>
-		                                    <div class="full">
-		                                        <dl>
-		                                            <div>
-		                                                <dt>키/몸무게</dt>
-		                                                <dd>178cm/71kg</dd>
-		                                            </div>
-		                                        </dl>                                    
-		                                    </div>
-		                                    <div>
-		                                        <dl>
-		                                            <div>
-		                                                <dt>사이즈</dt>
-		                                                <dd>작음</dd>
-		                                            </div>
-		                                            <div>
-		                                                <dt>컬러</dt>
-		                                                <dd>밝음</dd>
-		                                            </div>
-		                                            <div>
-		                                                <dt>핏</dt>
-		                                                <dd>레귤러</dd>
-		                                            </div>
-		                                            <div>
-		                                                <dt>두께감</dt>
-		                                                <dd>적당함</dd>
-		                                            </div>
-		                                        </dl>
-		                                    </div>
-		                                </div>
-		                                <div class="txt_review_box">
-		                                    <p>
-		                                        1111슬림하게 나와서 핏이 더 이쁩니다. 팔 기장도 수선 안해도 될 것 같고 살짝 접어서 코디해도 멋스러울것 같네요. 편하게 간절기 여기저기 코디하기도 좋을것 같고 추천할 만한 아이템 입니다. 광택이 있는데 심하지않고 너무 고급스러워 보여요. 코트안 이너로 입기도 좋고 니트에 걸치면 겨울 잘지낼 수 있을 것 같아요. 편하게 간절기 여기저기 코디하기도 좋고 추천할 만한 아이템입니다.
-		                                    </p>
-		                                </div>
-		                                <div class="writer_box">
-		                                    <div class="writer">
-		                                        <span class="wr_id">ab2****</span>
-		                                        <span class="wr_date">2020.07.15</span>
-		                                    </div>
-		                                </div>
-		                                <div class="reply_box">
-		                                    <div class="reply">
-		                                        <div class="reply_writer">
-		                                            <span class="wr_name">관리자</span>
-		                                            <span class="wr_date">2020.07.15</span>
-		                                        </div>
-		                                        <div class="reply_txt">
-		                                            <p>
-		                                                안녕하세요, 스타일24 관리자입니다.<br>
-		                                                최대한 검수작업을 하고 있으나, 상품 출고량이 많은 경우 간혹 검수가 누락되는 경우가 있습니다.<br>
-		                                                만약, 받아보시고 문제가 있을 경우 텍 제거하지마시고 고객센터로 접수 해주시면 처리 도와드리겠습니다.<br>
-		                                                구매해주셔서 감사합니다.                                                 
-		                                            </p>
-		                                        </div>
-		                                    </div>
-		                                </div>
-		                            </div>
-		                        </div>
-		                        <!-- 첨부이미지 썸네일 리스트 -->
-		                        <div class="thumblist">
-		                            <ul>
-		                                <li>
-		                                    <div class="pic active"><!-- 활성화시 active 클래스 추가 -->
-		                                        <span class="thumb mov" style="background-image:url('http://cdn.011st.com/11dims/resize/1999x1999/quality/75/11src/review/10201202/3121412332/2e66698576d64c5c9977a6fe6606008d.jpg');"></span><!-- 동영상의 썸네일일 경우 mov 클래스 추가 -->
-		                                    </div>
-		                                </li>
-		                                <li>
-		                                    <div class="pic">
-		                                        <span class="thumb" style="background-image:url('/images/pc/thumb/tmp_pdLookbook2.jpg');"></span>
-		                                    </div>
-		                                </li>
-		                                <li>
-		                                    <div class="pic">
-		                                        <span class="thumb" style="background-image:url('/images/pc/thumb/tmp_pdLookbook1.jpg');"></span>
-		                                    </div>
-		                                </li>
-		                                <li>
-		                                    <div class="pic">
-		                                        <span class="thumb" style="background-image:url('/images/pc/thumb/tmp_pdLookbook3.jpg');"></span>
-		                                    </div>
-		                                </li>
-		                                <li>
-		                                    <div class="pic">
-		                                        <span class="thumb" style="background-image:url('/images/pc/thumb/tmp_pdLookbook2.jpg');"></span>
-		                                    </div>
-		                                </li>
-		                                <li>
-		                                    <div class="pic">
-		                                        <span class="thumb" style="background-image:url('/images/pc/thumb/tmp_pdLookbook3.jpg');"></span>
-		                                    </div>
-		                                </li>
-		                                <li>
-		                                    <div class="pic">
-		                                        <span class="thumb" style="background-image:url('/images/pc/thumb/tmp_pdLookbook2.jpg');"></span>
-		                                    </div>
-		                                </li>
-		                                <li>
-		                                    <div class="pic">
-		                                        <span class="thumb" style="background-image:url('/images/pc/thumb/tmp_pdLookbook1.jpg');"></span>
-		                                    </div>
-		                                </li>
-		                                <li>
-		                                    <div class="pic">
-		                                        <span class="thumb" style="background-image:url('/images/pc/thumb/tmp_pdLookbook3.jpg');"></span>
-		                                    </div>
-		                                </li>
-		                                <li>
-		                                    <div class="pic">
-		                                        <span class="thumb" style="background-image:url('/images/pc/thumb/tmp_pdLookbook3.jpg');"></span>
-		                                    </div>
-		                                </li>
-		                                <li>
-		                                    <div class="pic">
-		                                        <span class="thumb" style="background-image:url('/images/pc/thumb/tmp_pdLookbook2.jpg');"></span>
-		                                    </div>
-		                                </li>
-		                            </ul>
-		                        </div>
-		                        <!-- //첨부이미지 썸네일 리스트 -->
-		                    </div>
-		                    <!-- //리뷰내용 -->
-		                </div>
-		                <div class="swiper-slide">
-		                    <!-- 리뷰내용 -->
-		                    <div class="review">
-		                        <div class="pic">
-		                            <span class="thumb">
-		                                <img src="/images/pc/thumb/tmp_pdLookbook2.jpg" alt="">
-		                            </span>
-		                        </div>
-		                        <div class="review_cont">
-		                            <div class="box_wrap">
-		                                <div class="star_box">
-		                                    <div class="star_score">
-		                                        <span class="star">
-		                                            <em class="progbar" style="width:70%;"></em> <!-- 평점 style로 표기 -->
-		                                        </span>
-		                                    </div>
-		                                </div>
-		                                <div class="response_box">
-		                                    <div class="full">
-		                                        <dl>
-		                                            <div>
-		                                                <dt>구매옵션</dt>
-		                                                <dd>베이지 / 100</dd>
-		                                            </div>
-		                                        </dl>
-		                                    </div>
-		                                    <div class="full">
-		                                        <dl>
-		                                            <div>
-		                                                <dt>키/몸무게</dt>
-		                                                <dd>178cm/71kg</dd>
-		                                            </div>
-		                                        </dl>                                    
-		                                    </div>
-		                                    <div>
-		                                        <dl>
-		                                            <div>
-		                                                <dt>사이즈</dt>
-		                                                <dd>작음</dd>
-		                                            </div>
-		                                            <div>
-		                                                <dt>컬러</dt>
-		                                                <dd>밝음</dd>
-		                                            </div>
-		                                            <div>
-		                                                <dt>핏</dt>
-		                                                <dd>레귤러</dd>
-		                                            </div>
-		                                            <div>
-		                                                <dt>두께감</dt>
-		                                                <dd>적당함</dd>
-		                                            </div>
-		                                        </dl>
-		                                    </div>
-		                                </div>
-		                                <div class="txt_review_box">
-		                                    <p>
-		                                        222222슬림하게 나와서 핏이 더 이쁩니다. 팔 기장도 수선 안해도 될 것 같고 살짝 접어서 코디해도 멋스러울것 같네요. 편하게 간절기 여기저기 코디하기도 좋을것 같고 추천할 만한 아이템 입니다. 광택이 있는데 심하지않고 너무 고급스러워 보여요. 코트안 이너로 입기도 좋고 니트에 걸치면 겨울 잘지낼 수 있을 것 같아요. 편하게 간절기 여기저기 코디하기도 좋고 추천할 만한 아이템입니다.
-		                                    </p>
-		                                </div>
-		                                <div class="writer_box">
-		                                    <div class="writer">
-		                                        <span class="wr_id">ab2****</span>
-		                                        <span class="wr_date">2020.07.15</span>
-		                                    </div>
-		                                </div>
-		                                <div class="reply_box">
-		                                    <div class="reply">
-		                                        <div class="reply_writer">
-		                                            <span class="wr_name">관리자</span>
-		                                            <span class="wr_date">2020.07.15</span>
-		                                        </div>
-		                                        <div class="reply_txt">
-		                                            <p>
-		                                                안녕하세요, 스타일24 관리자입니다.<br>
-		                                                최대한 검수작업을 하고 있으나, 상품 출고량이 많은 경우 간혹 검수가 누락되는 경우가 있습니다.<br>
-		                                                만약, 받아보시고 문제가 있을 경우 텍 제거하지마시고 고객센터로 접수 해주시면 처리 도와드리겠습니다.<br>
-		                                                구매해주셔서 감사합니다.                                                 
-		                                            </p>
-		                                        </div>
-		                                    </div>
-		                                </div>
-		                            </div>
-		                        </div>
-		                        <!-- 첨부이미지 썸네일 리스트 -->
-		                        <div class="thumblist">
-		                            <ul>
-		                                <li>
-		                                    <div class="pic active"><!-- 활성화시 active 클래스 추가 -->
-		                                        <span class="thumb" style="background-image:url('/images/pc/thumb/tmp_pdLookbook2.jpg');"></span>
-		                                    </div>
-		                                </li>
-		                                <li>
-		                                    <div class="pic">
-		                                        <span class="thumb" style="background-image:url('/images/pc/thumb/tmp_pdLookbook1.jpg');"></span>
-		                                    </div>
-		                                </li>
-		                                <li>
-		                                    <div class="pic">
-		                                        <span class="thumb" style="background-image:url('/images/pc/thumb/tmp_pdLookbook3.jpg');"></span>
-		                                    </div>
-		                                </li>
-		                                <li>
-		                                    <div class="pic">
-		                                        <span class="thumb" style="background-image:url('/images/pc/thumb/tmp_pdLookbook2.jpg');"></span>
-		                                    </div>
-		                                </li>
-		                                <li>
-		                                    <div class="pic">
-		                                        <span class="thumb" style="background-image:url('/images/pc/thumb/tmp_pdLookbook3.jpg');"></span>
-		                                    </div>
-		                                </li>
-		                                <li>
-		                                    <div class="pic">
-		                                        <span class="thumb" style="background-image:url('/images/pc/thumb/tmp_pdLookbook2.jpg');"></span>
-		                                    </div>
-		                                </li>
-		                                <li>
-		                                    <div class="pic">
-		                                        <span class="thumb" style="background-image:url('/images/pc/thumb/tmp_pdLookbook1.jpg');"></span>
-		                                    </div>
-		                                </li>
-		                                <li>
-		                                    <div class="pic">
-		                                        <span class="thumb" style="background-image:url('/images/pc/thumb/tmp_pdLookbook3.jpg');"></span>
-		                                    </div>
-		                                </li>
-		                                <li>
-		                                    <div class="pic">
-		                                        <span class="thumb" style="background-image:url('/images/pc/thumb/tmp_pdLookbook3.jpg');"></span>
-		                                    </div>
-		                                </li>
-		                                <li>
-		                                    <div class="pic">
-		                                        <span class="thumb" style="background-image:url('/images/pc/thumb/tmp_pdLookbook2.jpg');"></span>
-		                                    </div>
-		                                </li>
-		                            </ul>
-		                        </div>
-		                        <!-- //첨부이미지 썸네일 리스트 -->                      
-		                    </div>
-		                    <!-- //리뷰내용 -->
-		                </div>
-		                <div class="swiper-slide">
-		                    <!-- 리뷰내용 -->
-		                    <div class="review">
-		                        <div class="pic">
-		                            <span class="thumb">
-		                                <img src="/images/pc/thumb/tmp_pdLookbook1.jpg" alt="">
-		                            </span>
-		                        </div>
-		                        <div class="review_cont">
-		                            <div class="box_wrap">
-		                                <div class="star_box">
-		                                    <div class="star_score">
-		                                        <span class="star">
-		                                            <em class="progbar" style="width:70%;"></em> <!-- 평점 style로 표기 -->
-		                                        </span>
-		                                    </div>
-		                                </div>
-		                                <div class="response_box">
-		                                    <div class="full">
-		                                        <dl>
-		                                            <div>
-		                                                <dt>구매옵션</dt>
-		                                                <dd>베이지 / 100</dd>
-		                                            </div>
-		                                        </dl>
-		                                    </div>
-		                                    <div class="full">
-		                                        <dl>
-		                                            <div>
-		                                                <dt>키/몸무게</dt>
-		                                                <dd>178cm/71kg</dd>
-		                                            </div>
-		                                        </dl>                                    
-		                                    </div>
-		                                    <div>
-		                                        <dl>
-		                                            <div>
-		                                                <dt>사이즈</dt>
-		                                                <dd>작음</dd>
-		                                            </div>
-		                                            <div>
-		                                                <dt>컬러</dt>
-		                                                <dd>밝음</dd>
-		                                            </div>
-		                                            <div>
-		                                                <dt>핏</dt>
-		                                                <dd>레귤러</dd>
-		                                            </div>
-		                                            <div>
-		                                                <dt>두께감</dt>
-		                                                <dd>적당함</dd>
-		                                            </div>
-		                                        </dl>
-		                                    </div>
-		                                </div>
-		                                <div class="txt_review_box">
-		                                    <p>
-		                                        333333333슬림하게 나와서 핏이 더 이쁩니다. 팔 기장도 수선 안해도 될 것 같고 살짝 접어서 코디해도 멋스러울것 같네요. 편하게 간절기 여기저기 코디하기도 좋을것 같고 추천할 만한 아이템 입니다. 광택이 있는데 심하지않고 너무 고급스러워 보여요. 코트안 이너로 입기도 좋고 니트에 걸치면 겨울 잘지낼 수 있을 것 같아요. 편하게 간절기 여기저기 코디하기도 좋고 추천할 만한 아이템입니다.
-		                                    </p>
-		                                </div>
-		                                <div class="writer_box">
-		                                    <div class="writer">
-		                                        <span class="wr_id">ab2****</span>
-		                                        <span class="wr_date">2020.07.15</span>
-		                                    </div>
-		                                </div>
-		                                <div class="reply_box">
-		                                    <div class="reply">
-		                                        <div class="reply_writer">
-		                                            <span class="wr_name">관리자</span>
-		                                            <span class="wr_date">2020.07.15</span>
-		                                        </div>
-		                                        <div class="reply_txt">
-		                                            <p>
-		                                                안녕하세요, 스타일24 관리자입니다.<br>
-		                                                최대한 검수작업을 하고 있으나, 상품 출고량이 많은 경우 간혹 검수가 누락되는 경우가 있습니다.<br>
-		                                                만약, 받아보시고 문제가 있을 경우 텍 제거하지마시고 고객센터로 접수 해주시면 처리 도와드리겠습니다.<br>
-		                                                구매해주셔서 감사합니다.                                                 
-		                                            </p>
-		                                        </div>
-		                                    </div>
-		                                </div>
-		                            </div>
-		                        </div>
-		                        <!-- 첨부이미지 썸네일 리스트 -->
-		                        <div class="thumblist">
-		                            <ul>
-		                                <li>
-		                                    <div class="pic active"><!-- 활성화시 active 클래스 추가 -->
-		                                        <span class="thumb" style="background-image:url('/images/pc/thumb/tmp_pdLookbook1.jpg');"></span>
-		                                    </div>
-		                                </li>
-		                                <li>
-		                                    <div class="pic">
-		                                        <span class="thumb" style="background-image:url('/images/pc/thumb/tmp_pdLookbook2.jpg');"></span>
-		                                    </div>
-		                                </li>
-		                            </ul>
-		                        </div>
-		                        <!-- //첨부이미지 썸네일 리스트 -->                             
-		                    </div>
-		                    <!-- //리뷰내용 -->
-		                </div>
-		                <div class="swiper-slide">
-		                    <!-- 리뷰내용 -->
-		                    <div class="review">
-		                        <div class="pic">
-		                            <span class="thumb">
-		                                <img src="/images/pc/thumb/tmp_pdLookbook3.jpg" alt="">
-		                            </span>
-		                        </div>
-		                        <div class="review_cont">
-		                            <div class="box_wrap">
-		                                <div class="star_box">
-		                                    <div class="star_score">
-		                                        <span class="star">
-		                                            <em class="progbar" style="width:70%;"></em> <!-- 평점 style로 표기 -->
-		                                        </span>
-		                                    </div>
-		                                </div>
-		                                <div class="response_box">
-		                                    <div class="full">
-		                                        <dl>
-		                                            <div>
-		                                                <dt>구매옵션</dt>
-		                                                <dd>베이지 / 100</dd>
-		                                            </div>
-		                                        </dl>
-		                                    </div>
-		                                    <div class="full">
-		                                        <dl>
-		                                            <div>
-		                                                <dt>키/몸무게</dt>
-		                                                <dd>178cm/71kg</dd>
-		                                            </div>
-		                                        </dl>                                    
-		                                    </div>
-		                                    <div>
-		                                        <dl>
-		                                            <div>
-		                                                <dt>사이즈</dt>
-		                                                <dd>작음</dd>
-		                                            </div>
-		                                            <div>
-		                                                <dt>컬러</dt>
-		                                                <dd>밝음</dd>
-		                                            </div>
-		                                            <div>
-		                                                <dt>핏</dt>
-		                                                <dd>레귤러</dd>
-		                                            </div>
-		                                            <div>
-		                                                <dt>두께감</dt>
-		                                                <dd>적당함</dd>
-		                                            </div>
-		                                        </dl>
-		                                    </div>
-		                                </div>
-		                                <div class="txt_review_box">
-		                                    <p>
-		                                        444444444슬림하게 나와서 핏이 더 이쁩니다. 팔 기장도 수선 안해도 될 것 같고 살짝 접어서 코디해도 멋스러울것 같네요. 편하게 간절기 여기저기 코디하기도 좋을것 같고 추천할 만한 아이템 입니다. 광택이 있는데 심하지않고 너무 고급스러워 보여요. 코트안 이너로 입기도 좋고 니트에 걸치면 겨울 잘지낼 수 있을 것 같아요. 편하게 간절기 여기저기 코디하기도 좋고 추천할 만한 아이템입니다.
-		                                    </p>
-		                                </div>
-		                                <div class="writer_box">
-		                                    <div class="writer">
-		                                        <span class="wr_id">ab2****</span>
-		                                        <span class="wr_date">2020.07.15</span>
-		                                    </div>
-		                                </div>
-		                                <div class="reply_box">
-		                                    <div class="reply">
-		                                        <div class="reply_writer">
-		                                            <span class="wr_name">관리자</span>
-		                                            <span class="wr_date">2020.07.15</span>
-		                                        </div>
-		                                        <div class="reply_txt">
-		                                            <p>
-		                                                안녕하세요, 스타일24 관리자입니다.<br>
-		                                                최대한 검수작업을 하고 있으나, 상품 출고량이 많은 경우 간혹 검수가 누락되는 경우가 있습니다.<br>
-		                                                만약, 받아보시고 문제가 있을 경우 텍 제거하지마시고 고객센터로 접수 해주시면 처리 도와드리겠습니다.<br>
-		                                                구매해주셔서 감사합니다.                                                 
-		                                            </p>
-		                                        </div>
-		                                    </div>
-		                                </div>
-		                            </div>
-		                        </div>
-		                        <!-- 첨부이미지 썸네일 리스트 -->
-		                        <div class="thumblist">
-		                            <ul>
-		                                <li>
-		                                    <div class="pic active"><!-- 활성화시 active 클래스 추가 -->
-		                                        <span class="thumb" style="background-image:url('/images/pc/thumb/tmp_pdLookbook3.jpg');"></span>
-		                                    </div>
-		                                </li>
-		                            </ul>
-		                        </div>
-		                        <!-- //첨부이미지 썸네일 리스트 -->                      
-		                    </div>
-		                    <!-- //리뷰내용 -->
-		                </div>
-		                <div class="swiper-slide">
-		                    <!-- 리뷰내용 -->
-		                    <div class="review empty_photo"><!-- 첨부이미지 없을 시 empty_photo 클래스 추가 -->
-		                        <div class="pic">
-		                            <span class="thumb">
-		                                <img src="/images/pc/thumb/tmp_pdDetail1.jpg" alt=""><!-- 첨부이미지 없을 시 상품대표이미지로 대체 -->
-		                            </span>
-		                        </div>
-		                        <div class="review_cont">
-		                            <div class="box_wrap">
-		                                <div class="star_box">
-		                                    <div class="star_score">
-		                                        <span class="star">
-		                                            <em class="progbar" style="width:70%;"></em> <!-- 평점 style로 표기 -->
-		                                        </span>
-		                                    </div>
-		                                </div>
-		                                <div class="response_box">
-		                                    <div class="full">
-		                                        <dl>
-		                                            <div>
-		                                                <dt>구매옵션</dt>
-		                                                <dd>베이지 / 100</dd>
-		                                            </div>
-		                                        </dl>
-		                                    </div>
-		                                    <div class="full">
-		                                        <dl>
-		                                            <div>
-		                                                <dt>키/몸무게</dt>
-		                                                <dd>178cm/71kg</dd>
-		                                            </div>
-		                                        </dl>                                    
-		                                    </div>
-		                                    <div>
-		                                        <dl>
-		                                            <div>
-		                                                <dt>사이즈</dt>
-		                                                <dd>작음</dd>
-		                                            </div>
-		                                            <div>
-		                                                <dt>컬러</dt>
-		                                                <dd>밝음</dd>
-		                                            </div>
-		                                            <div>
-		                                                <dt>핏</dt>
-		                                                <dd>레귤러</dd>
-		                                            </div>
-		                                            <div>
-		                                                <dt>두께감</dt>
-		                                                <dd>적당함</dd>
-		                                            </div>
-		                                        </dl>
-		                                    </div>
-		                                </div>
-		                                <div class="txt_review_box">
-		                                    <p>
-		                                        5555555555슬림하게 나와서 핏이 더 이쁩니다. 팔 기장도 수선 안해도 될 것 같고 살짝 접어서 코디해도 멋스러울것 같네요. 편하게 간절기 여기저기 코디하기도 좋을것 같고 추천할 만한 아이템 입니다. 광택이 있는데 심하지않고 너무 고급스러워 보여요. 코트안 이너로 입기도 좋고 니트에 걸치면 겨울 잘지낼 수 있을 것 같아요. 편하게 간절기 여기저기 코디하기도 좋고 추천할 만한 아이템입니다.
-		                                    </p>
-		                                </div>
-		                                <div class="writer_box">
-		                                    <div class="writer">
-		                                        <span class="wr_id">ab2****</span>
-		                                        <span class="wr_date">2020.07.15</span>
-		                                    </div>
-		                                </div>
-		                                <div class="reply_box">
-		                                    <div class="reply">
-		                                        <div class="reply_writer">
-		                                            <span class="wr_name">관리자</span>
-		                                            <span class="wr_date">2020.07.15</span>
-		                                        </div>
-		                                        <div class="reply_txt">
-		                                            <p>
-		                                                안녕하세요, 스타일24 관리자입니다.<br>
-		                                                최대한 검수작업을 하고 있으나, 상품 출고량이 많은 경우 간혹 검수가 누락되는 경우가 있습니다.<br>
-		                                                만약, 받아보시고 문제가 있을 경우 텍 제거하지마시고 고객센터로 접수 해주시면 처리 도와드리겠습니다.<br>
-		                                                구매해주셔서 감사합니다.                                                 
-		                                            </p>
-		                                        </div>
-		                                    </div>
-		                                </div>
-		                            </div>
-		                        </div>
-		                    </div>
-		                    <!-- //리뷰내용 -->
-		                </div>
-		                <div class="swiper-slide">
-		                    <!-- 리뷰내용 -->
-		                    <div class="review empty_photo"><!-- 첨부이미지 없을 시 empty_photo 클래스 추가 -->
-		                        <div class="pic">
-		                            <span class="thumb">
-		                                <img src="/images/pc/thumb/tmp_pdDetail1.jpg" alt=""><!-- 첨부이미지 없을 시 상품대표이미지로 대체 -->
-		                            </span>
-		                        </div>
-		                        <div class="review_cont">
-		                            <div class="box_wrap">
-		                                <div class="star_box">
-		                                    <div class="star_score">
-		                                        <span class="star">
-		                                            <em class="progbar" style="width:70%;"></em> <!-- 평점 style로 표기 -->
-		                                        </span>
-		                                    </div>
-		                                </div>
-		                                <div class="response_box">
-		                                    <div class="full">
-		                                        <dl>
-		                                            <div>
-		                                                <dt>구매옵션</dt>
-		                                                <dd>베이지 / 100</dd>
-		                                            </div>
-		                                        </dl>
-		                                    </div>
-		                                    <div class="full">
-		                                        <dl>
-		                                            <div>
-		                                                <dt>키/몸무게</dt>
-		                                                <dd>178cm/71kg</dd>
-		                                            </div>
-		                                        </dl>                                    
-		                                    </div>
-		                                    <div>
-		                                        <dl>
-		                                            <div>
-		                                                <dt>사이즈</dt>
-		                                                <dd>작음</dd>
-		                                            </div>
-		                                            <div>
-		                                                <dt>컬러</dt>
-		                                                <dd>밝음</dd>
-		                                            </div>
-		                                            <div>
-		                                                <dt>핏</dt>
-		                                                <dd>레귤러</dd>
-		                                            </div>
-		                                            <div>
-		                                                <dt>두께감</dt>
-		                                                <dd>적당함</dd>
-		                                            </div>
-		                                        </dl>
-		                                    </div>
-		                                </div>
-		                                <div class="txt_review_box">
-		                                    <p>
-		                                        666666666슬림하게 나와서 핏이 더 이쁩니다. 팔 기장도 수선 안해도 될 것 같고 살짝 접어서 코디해도 멋스러울것 같네요. 편하게 간절기 여기저기 코디하기도 좋을것 같고 추천할 만한 아이템 입니다. 광택이 있는데 심하지않고 너무 고급스러워 보여요. 코트안 이너로 입기도 좋고 니트에 걸치면 겨울 잘지낼 수 있을 것 같아요. 편하게 간절기 여기저기 코디하기도 좋고 추천할 만한 아이템입니다.
-		                                    </p>
-		                                </div>
-		                                <div class="writer_box">
-		                                    <div class="writer">
-		                                        <span class="wr_id">ab2****</span>
-		                                        <span class="wr_date">2020.07.15</span>
-		                                    </div>
-		                                </div>
-		                                <div class="reply_box">
-		                                    <div class="reply">
-		                                        <div class="reply_writer">
-		                                            <span class="wr_name">관리자</span>
-		                                            <span class="wr_date">2020.07.15</span>
-		                                        </div>
-		                                        <div class="reply_txt">
-		                                            <p>
-		                                                안녕하세요, 스타일24 관리자입니다.<br>
-		                                                최대한 검수작업을 하고 있으나, 상품 출고량이 많은 경우 간혹 검수가 누락되는 경우가 있습니다.<br>
-		                                                만약, 받아보시고 문제가 있을 경우 텍 제거하지마시고 고객센터로 접수 해주시면 처리 도와드리겠습니다.<br>
-		                                                구매해주셔서 감사합니다.                                                 
-		                                            </p>
-		                                        </div>
-		                                    </div>
-		                                </div>
-		                            </div>
-		                        </div>
-		                    </div>
-		                    <!-- //리뷰내용 -->
-		                </div>      
-		            </div>
-		        </div>
-		        <div class="swiper-button-next"></div>
-		        <div class="swiper-button-prev"></div>
-		    </div>
+		<div class="modal-body" th:if="${reviewList != null and !reviewList.empty}">
+			<div class="pop_cont">
+				<div class="swiper-container detail">
+					<div class="swiper-wrapper">
+						<div class="swiper-slide"  th:each="review, status : ${reviewList}" >
+							<!-- 리뷰내용 -->
+							<div class="review" th:classAppend="${(review.reviewAttachList == null or review.reviewAttachList.empty) ? 'empty_photo' :''}" >  <!-- 첨부이미지 없을 시 empty_photo 클래스 추가 --> 
+								<div class="pic">
+									<th:block th:if="${review.reviewAttachList != null and !review.reviewAttachList.empty}" >
+										<th:block th:each="reviewAttach, attachStatus : ${review.reviewAttachList}" th:if="${attachStatus.first}">
+									<span class="thumb" th:classAppend="${(reviewAttach.fileGb == 'M') ? 'mov' :''}" ><!-- 동영상의 썸네일일 경우 mov 클래스 추가-->
+										<th:block th:if="${reviewAttach.fileGb == 'M'}">
+										<video poster="http://cdn.011st.com/11dims/resize/1999x1999/quality/75/11src/review/10201202/3121412332/2e66698576d64c5c9977a6fe6606008d.jpg" muted="muted" preload="metadata" controls="controls">
+											<source src="http://snsvideo.11st.co.kr/movie/item/www/675/67518524_06_1_C1.mp4" type="video/mp4">
+										</video>
+										</th:block>
+										<th:block th:unless="${reviewAttach.fileGb == 'M'}">
+										<img th:src="${imgUrl+'/'+reviewAttach.sysFileNm}" alt="">
+										</th:block>
+									</span>
+										</th:block>
+									</th:block>
+									<th:block th:unless="${review.reviewAttachList != null and !review.reviewAttachList.empty}">
+									<span class="thumb">
+										<img th:src="${imgGoodsUrl+'/'+review.sysImgNm}" alt="">
+									</span>
+									</th:block>
+								</div>
+								<div class="review_cont">
+									<div class="box_wrap">
+										<div class="star_box">
+											<div class="star_score" th:with="starScore=${#numbers.formatDecimal((review.score/5)*100, 0,0)}">
+												<span class="star">
+													<em class="progbar" th:style="${'width:'+starScore+'%;' }"></em> <!-- 평점 style로 표기 -->
+												</span>
+											</div>
+										</div>
+										<div class="response_box">
+											<div class="full" th:if="${review.goodsOptionList != null and !review.goodsOptionList.empty}">
+												<dl>
+													<div th:each="reviewGoods, goodsStatus : ${review.goodsOptionList}" >
+														<dt>구매옵션</dt>
+														<dd th:text="${reviewGoods.optCd1 +' / '+ reviewGoods.optCd2}">베이지 / 100</dd>
+													</div>
+												</dl>
+											</div>
+											<div class="full">
+												<dl>
+													<div>
+														<dt>키/몸무게</dt>
+														<dd><th:block th:if="${not #strings.isEmpty(review.height)}" th:text="|${review.height}cm|"></th:block> /
+															<th:block th:if="${not #strings.isEmpty(review.weight)}" th:text="|${review.weight}kg|"></th:block>
+														</dd>
+													</div>
+												</dl>
+											</div>
+											<div th:if="${not #strings.isEmpty(review.sizeGb)}">  <!-- 사이즈구분(T:상의, B:하의, S:신발) -->
+												<dl th:if="${review.sizeGb == 'T' or review.sizeGb == 'B'}"> 
+													<div>
+														<dt>사이즈</dt>
+														<dd th:text="${review.scoreSizeNm}">작음</dd>
+													</div>
+													<div>
+														<dt>컬러</dt>
+														<dd th:text="${review.scoreColorNm}">밝음</dd>
+													</div>
+													<div>
+														<dt>핏</dt>
+														<dd th:text="${review.scoreFitNm}">레귤러</dd>
+													</div>
+													<div>
+														<dt>두께감</dt>
+														<dd th:text="${review.scoreThickNm}">적당함</dd>
+													</div>
+												</dl>
+												<dl th:unless="${review.sizeGb == 'T' or review.sizeGb == 'B'}"> 
+													<div>
+														<dt>사이즈</dt>
+														<dd th:text="${review.scoreSizeNm}">작음</dd>
+													</div>
+													<div>
+														<dt>컬러</dt>
+														<dd th:text="${review.scoreColorNm}">밝음</dd>
+													</div>
+													<div>
+														<dt>무게감</dt>
+														<dd th:text="${review.scoreWeightNm}">레귤러</dd>
+													</div>
+													<div>
+														<dt>볼너비</dt>
+														<dd th:text="${review.scoreBallNm}">적당함</dd>
+													</div>
+												</dl>
+											</div>
+										</div>
+										<div class="txt_review_box">
+											<p th:utext="${#strings.unescapeJava(#strings.escapeJava(review.reviewContent))}">슬림</p>
+										</div>
+										<div class="writer_box">
+											<div class="writer">
+												<span class="wr_id" th:text="${review.maskingCustId}">ab2****</span>
+												<span class="wr_date" th:text="${review.regDt}">2020.07.15</span>
+											</div>
+										</div>
+										<div class="reply_box" th:if="${not #strings.isEmpty(review.admRpl)}">
+											<div class="reply">
+												<div class="reply_writer">
+													<span class="wr_name">관리자</span>
+													<span class="wr_date" th:text="${review.admRplDt}" >2020.07.15</span>
+												</div>
+												<div class="reply_txt">
+													<p th:utext="${#strings.unescapeJava(#strings.escapeJava(review.admRpl))}">
+														안녕하세요, 스타일24 관리자입니다.
+													</p>
+												</div>
+											</div>
+										</div>
+									</div>
+								</div>
+								<!-- 첨부이미지 썸네일 리스트 -->
+								<div class="thumblist" th:if="${review.reviewAttachList != null and !review.reviewAttachList.empty and #lists.size(review.reviewAttachList) >= 2}">
+									<ul>
+										<li th:each="reviewAttach, attachStatus : ${review.reviewAttachList}">
+											<div class="pic" th:classAppend="${(attachStatus.first) ? 'active' :''}" >><!-- 활성화시 active 클래스 추가 -->
+												<span class="thumb" th:classAppend="${(reviewAttach.fileGb == 'M') ? 'mov' :''}"  th:style="${'background-image:url('+imgUrl+ reviewAttach.sysFileNm+');'}" ></span><!-- 동영상의 썸네일일 경우 mov 클래스 추가 -->
+											</div>
+										</li>
+									</ul>
+								</div>
+								<!-- //첨부이미지 썸네일 리스트 -->
+							</div>
+							<!-- //리뷰내용 -->
+						</div>
+					</div>
+				</div>
+				<div class="swiper-button-next"></div>
+				<div class="swiper-button-prev"></div>
+			</div>
 		</div>
 	</div>
 </div>
@@ -705,48 +166,48 @@
 	
 	 $(document).ready( function() {
 
-        //슬라이드 - 상품 베스트 리뷰 자세히보기 영역 
-        var bestReviewDetailSwiper = new Swiper('.pd_bestreviewdetail_pop .swiper-container.detail', {
-            observer: true,
-            observeParents: true,        
-            effect :'fade',
-            slidesPerView: 1,
-            spaceBetween: 0,
-            simulateTouch:false,
-            navigation: {
-                nextEl: '.pd_bestreviewdetail_pop .swiper-button-next',
-                prevEl: '.pd_bestreviewdetail_pop .swiper-button-prev',
-            }
-        });
+		//슬라이드 - 상품 베스트 리뷰 자세히보기 영역 
+		var bestReviewDetailSwiper = new Swiper('.pd_bestreviewdetail_pop .swiper-container.detail', {
+			observer: true,
+			observeParents: true,		
+			effect :'fade',
+			slidesPerView: 1,
+			spaceBetween: 0,
+			simulateTouch:false,
+			navigation: {
+				nextEl: '.pd_bestreviewdetail_pop .swiper-button-next',
+				prevEl: '.pd_bestreviewdetail_pop .swiper-button-prev',
+			}
+		});
 
-       /* $('.pd_bestreviewdetail_pop .swiper-slide').each(function(index, element){
-           var $this = $(this);
-           debugger;
-           var thumbCount = $this.find('.thumblist ul li').length;
-           var thumbUlWidth = $this.find('.thumblist ul li').width() * thumbCount;
-           var thumbMargin = 8 * thumbCount;
-           var thumbListWidth = thumbUlWidth + thumbMargin;
+	   /* $('.pd_bestreviewdetail_pop .swiper-slide').each(function(index, element){
+		   var $this = $(this);
+		   debugger;
+		   var thumbCount = $this.find('.thumblist ul li').length;
+		   var thumbUlWidth = $this.find('.thumblist ul li').width() * thumbCount;
+		   var thumbMargin = 8 * thumbCount;
+		   var thumbListWidth = thumbUlWidth + thumbMargin;
 
-           $this.find('.thumblist ul').attr('style', 'width:' + thumbListWidth + 'px;');
-           
-       }); */
+		   $this.find('.thumblist ul').attr('style', 'width:' + thumbListWidth + 'px;');
+		   
+	   }); */
 
-        $(document).on('click','.pd_bestreviewdetail_pop .thumblist ul li',function(e){
+		$(document).on('click','.pd_bestreviewdetail_pop .thumblist ul li',function(e){
 
-            $(this).parents(".swiper-slide").find(".review > .pic > .thumb").empty();
-            $(this).parents(".swiper-slide").find(".thumblist ul li .pic").removeClass('active');
-            $(this).find(".pic").addClass('active');
+			$(this).parents(".swiper-slide").find(".review > .pic > .thumb").empty();
+			$(this).parents(".swiper-slide").find(".thumblist ul li .pic").removeClass('active');
+			$(this).find(".pic").addClass('active');
 
-            var thumbIndex = $(this).index();
-            var thumbImg = $(this).find('.pic .thumb').attr('style');
-            var thumbImgSrc = thumbImg.split("background-image:url(")[1];
-            thumbImgHtml = "<img src="+ thumbImgSrc +" alt=''>";
-            $(this).parents(".swiper-slide").find(".review > .pic > .thumb").append(thumbImgHtml);
-            
-            return false;
-        });
+			var thumbIndex = $(this).index();
+			var thumbImg = $(this).find('.pic .thumb').attr('style');
+			var thumbImgSrc = thumbImg.split("background-image:url(")[1];
+			thumbImgHtml = "<img src="+ thumbImgSrc +" alt=''>";
+			$(this).parents(".swiper-slide").find(".review > .pic > .thumb").append(thumbImgHtml);
+			
+			return false;
+		});
 
-    });        
+	});		
 
 	
 /*]]>*/

BIN
src/main/webapp/images/mo/br_99+.png


BIN
src/main/webapp/images/mo/br_arrow_down.png


BIN
src/main/webapp/images/mo/br_arrow_up.png


BIN
src/main/webapp/images/mo/br_btn_more.png


BIN
src/main/webapp/images/mo/br_lookbook_01.png


BIN
src/main/webapp/images/mo/br_lookbook_02.png


BIN
src/main/webapp/images/mo/br_lookbook_03.png


BIN
src/main/webapp/images/mo/br_lookbook_04.png


BIN
src/main/webapp/images/mo/br_main01.png


BIN
src/main/webapp/images/mo/br_main02.png


BIN
src/main/webapp/images/mo/br_main03.png


BIN
src/main/webapp/images/mo/br_plus.png


BIN
src/main/webapp/images/mo/br_pop_arrow.png


BIN
src/main/webapp/images/mo/br_pop_text.png


BIN
src/main/webapp/images/mo/br_sInfo.png


BIN
src/main/webapp/images/mo/br_search_white.png


BIN
src/main/webapp/images/mo/br_site.png


BIN
src/main/webapp/images/mo/br_special.png


BIN
src/main/webapp/images/mo/br_store.png


BIN
src/main/webapp/images/mo/br_youtube.png


BIN
src/main/webapp/images/mo/btn_deal_item_more.png


BIN
src/main/webapp/images/mo/btn_delete_item.png


BIN
src/main/webapp/images/mo/ico_bracket.png


BIN
src/main/webapp/images/mo/ico_bracket2.png


BIN
src/main/webapp/images/mo/ico_btn_cls.png


BIN
src/main/webapp/images/mo/ico_btn_detail02.png


BIN
src/main/webapp/images/mo/ico_btn_detail03.png


BIN
src/main/webapp/images/mo/ico_check01.png


BIN
src/main/webapp/images/mo/ico_err02.png


BIN
src/main/webapp/images/mo/ico_floorbtn_like.png


BIN
src/main/webapp/images/mo/ico_floorbtn_share.png


BIN
src/main/webapp/images/mo/ico_gift.png


BIN
src/main/webapp/images/mo/ico_lnb_arrow.png


BIN
src/main/webapp/images/mo/ico_person.png


BIN
src/main/webapp/images/mo/ico_play.png


BIN
src/main/webapp/images/mo/ico_pop_cls.png


BIN
src/main/webapp/images/mo/ico_pop_cls_w.png


BIN
src/main/webapp/images/mo/ico_present_purchase.png


BIN
src/main/webapp/images/mo/ico_sort_arrow.png


BIN
src/main/webapp/images/mo/ico_thumblist.png


BIN
src/main/webapp/images/mo/icon_review_open.png


BIN
src/main/webapp/images/mo/like_white.png


BIN
src/main/webapp/images/mo/pd_btn.png


BIN
src/main/webapp/images/mo/pd_store.png


BIN
src/main/webapp/images/mo/share_white.png


BIN
src/main/webapp/images/mo/shc_banner.png


BIN
src/main/webapp/images/mo/thumb/tmp_pdClickother1.jpg


BIN
src/main/webapp/images/mo/thumb/tmp_pdClickother2.jpg


BIN
src/main/webapp/images/mo/thumb/tmp_pdClickother3.jpg


BIN
src/main/webapp/images/pc/cursor_zoomout.png


BIN
src/main/webapp/images/pc/ico_besttag.png


BIN
src/main/webapp/images/pc/ico_calendar_selector.png


BIN
src/main/webapp/images/pc/ico_giftbox.png


BIN
src/main/webapp/images/pc/ico_go_save.png


BIN
src/main/webapp/images/pc/ico_picker.png


BIN
src/main/webapp/images/pc/ico_point.png


BIN
src/main/webapp/images/pc/ico_point3.png


BIN
src/main/webapp/images/pc/ico_point3_black.png


BIN
src/main/webapp/images/pc/ico_point4.png


BIN
src/main/webapp/images/pc/ico_point4_black.png


BIN
src/main/webapp/images/pc/ico_pop_cls.png


BIN
src/main/webapp/images/pc/ico_primary_check.png


BIN
src/main/webapp/images/pc/ico_restock_past.png


BIN
src/main/webapp/images/pc/ico_restock_ready.png


BIN
src/main/webapp/images/pc/ico_restock_remain.png


BIN
src/main/webapp/images/pc/logo_brand_andew.png


BIN
src/main/webapp/images/pc/logo_brand_buckaroo.png


BIN
src/main/webapp/images/pc/logo_brand_conversekids.png


BIN
src/main/webapp/images/pc/logo_brand_curlysue.png


BIN
src/main/webapp/images/pc/logo_brand_frj.png


BIN
src/main/webapp/images/pc/logo_brand_hurleykids.png


BIN
src/main/webapp/images/pc/logo_brand_jordankids.png


BIN
src/main/webapp/images/pc/logo_brand_leviskids.png


BIN
src/main/webapp/images/pc/logo_brand_lpga.png


BIN
src/main/webapp/images/pc/logo_brand_moi.png


BIN
src/main/webapp/images/pc/logo_brand_nba.png


BIN
src/main/webapp/images/pc/logo_brand_nbakids.png


BIN
src/main/webapp/images/pc/logo_brand_nikekids.png


BIN
src/main/webapp/images/pc/logo_brand_pga.png


BIN
src/main/webapp/images/pc/logo_brand_tbj.png


BIN
src/main/webapp/images/pc/thumb/bigbanner_slide01.png


BIN
src/main/webapp/images/pc/thumb/bnn_1stage02.jpg


BIN
src/main/webapp/images/pc/thumb/bnr_sch_result.jpg


BIN
src/main/webapp/images/pc/thumb/br_lookbook_img01.jpg


BIN
src/main/webapp/images/pc/thumb/br_lookbook_img02.jpg


BIN
src/main/webapp/images/pc/thumb/br_lookbook_img03.jpg


Some files were not shown because too many files changed in this diff