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

몰메인 베스트영역 추가

bin2107 5 лет назад
Родитель
Сommit
6865a94823

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

@@ -181,4 +181,13 @@ public interface TsfDisplayDao {
 	 * @date 2021. 4. 8
 	 */
 	Collection<Goods> getCategoryGoodsList(GoodsSearch goodsSearch);
+
+	/**
+	 * 몰메인 BESTITEM 카테고리 목록
+	 * @param
+	 * @return
+	 * @author bin2107
+	 * @date 2021. 4. 9
+	 */
+	Collection<Contents> getBestItemCategoryList(Contents contents);
 }

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

@@ -322,7 +322,31 @@ public class TsfDisplayService {
 		log.info("getContentsForGoods contentsList.size()::{}", contentsList.size());
 
 		return contentsList;
+	}
 
+	/**
+	 * 몰메인 BESTITEM 목록
+	 * @param
+	 * @return
+	 * @author bin2107
+	 * @date 2021. 4. 9
+	 */
+	public Collection<Contents> getBestItemForGoods(Contents contents) {
+		contents.setContentsLoc("SCM003");
+		Collection<Contents> contentsList = displayDao.getBestItemCategoryList(contents);
+		Cate4Srch tempCate = new Cate4Srch();
+
+		for(Contents data : contentsList){
+			tempCate.setContentsLoc(data.getContentsLoc());
+			tempCate.setMaxRow(10);
+			tempCate.setCustNo(TsfSession.isLogin() ? TsfSession.getInfo().getCustNo() : 0);
+			tempCate.setCate1No(data.getCateNo());
+			tempCate.setSiteCd(data.getSiteCd());
+			tempCate.setCateGb(data.getCateGb());
+			data.setGoodsList(goodsDao.getContentsCategoryGoodsList(tempCate));
+		}
+
+		return contentsList;
 	}
 
 	/**

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

@@ -144,6 +144,10 @@ public class TsfDisplayController extends TsfBaseController {
 				}
 			}
 
+			if(contentsLoc.equals("SMM004")){
+				mainLayout.setBestItemList(displayService.getBestItemForGoods(contents));
+			}
+
 			if (contentsLoc.equals("SMM006")) {
 				Social social = new Social();
 				social.setSiteCd("G000_10");
@@ -348,6 +352,7 @@ public class TsfDisplayController extends TsfBaseController {
 		// 기획전
 		Contents contents = new Contents();
 		contents.setContentsLoc("SCM001");
+		contents.setCateNo(cate.getCate1No());
 		mav.addObject("planningList", displayService.getContentsList(contents));
 
 		// 신상품

+ 5 - 0
src/main/java/com/style24/persistence/domain/Contents.java

@@ -60,6 +60,11 @@ public class Contents extends TscBaseDomain {
 	private int planBrandGroupNo;
 	private String planBrandGroupNm;
 
+	// 몰메인 SMM003에서 사용
+	private String siteCd;
+	private String cateGb;
+	private String cateNm;
+
 	//private String contentsTitle;		// 메인 타이틀(md가 설정한)
 
 	private Collection<Cate1> cateList;	// 카테고리목록

+ 1 - 0
src/main/java/com/style24/persistence/domain/MainLayout.java

@@ -34,5 +34,6 @@ public class MainLayout extends TscBaseDomain {
     private Social socialInfo;
     private Collection<Contents> mdPickList;
     private Collection<Contents> brandPickList;
+    private Collection<Contents> bestItemList;
 
 }

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

@@ -855,4 +855,19 @@
 		AND W.CUST_NO = #{custNo}
 		</if>
 	</select>
+	
+	<!-- 몰메인 베스트아이템 조회 -->
+	<select id="getBestItemCategoryList" parameterType="Contents" resultType="Contents">
+		/* TsfDisplay.getBestItemCategoryList */
+		SELECT
+		       SITE_CD
+		     , CATE_GB
+		     , CATE1_NO AS CATE_NO
+			 , CATE1_NM AS CATE_NM
+             , CONTENTS_LOC
+		FROM  TB_CATE_4SRCH
+		WHERE 1=1
+		AND CATE_TYPE = 'G031_20'
+		AND	CONTENTS_LOC = #{contentsLoc}
+	</select>
 </mapper>

+ 3 - 3
src/main/webapp/WEB-INF/views/web/display/CategoryMainFormWeb.html

@@ -29,13 +29,13 @@
 	</div>
 
 	<div class="wrap">
-		<div class="content dp_submain"> <!-- 페이지특정 클래스 = dp_list -->
+		<div class="content dp_submain" > <!-- 페이지특정 클래스 = dp_list -->
 			<div class="cont_head">
 				<div>
-					<h3 class="cate1Nm">여성</h3>
+					<h3 class="cate1Nm"></h3>
 				</div>
 			</div>
-			<div class="cont_body" th:if="${planningList != null}">
+			<div class="cont_body" th:if="${planningList != null and !planningList.empty}">
 				<div class="dp_sum_slide dp_inner">
 					<div class="swiper-container">
 						<div class="swiper-wrapper">

+ 50 - 2
src/main/webapp/WEB-INF/views/web/display/MallMainFormWeb.html

@@ -136,6 +136,53 @@
 					</div>
 				</th:block>
 
+				<!-- 4. 잇 아이템 -->
+				<th:block th:if="${contentsLoc=='004'}">
+					<div class="content main_it">
+						<div class="cont_head">
+							<p class="displayH" th:text="${mainLayoutData.contentsTitle}"></p>
+							<a href="#none"><span>전체보기</span></a>
+						</div>
+						<div class="cont_body">
+							<div class="it_nav">
+								<ul>
+									<th:block th:each="ContentsData, ContentsStat : ${mainLayoutData.BestItemList}">
+										<li><button class="btn btn_link" th:attr="data-tab=${'it'+ContentsStat.count}"><span th:text="${ContentsData.cateNm}"></span></button></li>
+									</th:block>
+								</ul>
+							</div>
+							<th:block th:each="ContentsData, ContentsStat : ${mainLayoutData.BestItemList}">
+								<div class="swiper-container post-it it_item" th:id="${'it'+ContentsStat.count}">
+									<div class="swiper-wrapper">
+										<th:block th:each="bestItemData, bestItemStat : ${ContentsData.goodsList}">
+											<div class="swiper-slide">
+												<div class=" item_prod sUiXc "> <!-- item_prod ranker d_detail -->
+													<div class="item_state"> <!-- item_state AD soldout -->
+														<a href="javascript:void(0);" class="itemLink" th:onclick="cfnGoToGoodsDetail([[${bestItemData.goodsCd}]], '', '', 'SMM004');">
+															<div class="shape ranker"><span th:text="${bestItemStat.count}"></span></div>
+															<div class="itemPic">
+																<img alt="BLACK-a" class=" vLHTC pd_img" th:src="${@environment.getProperty('upload.goods.view') + '/' + bestItemData.sysImgNm}" >
+																<button type="button" class="itemLike" th:classappend="${bestItemData.likeIt == 'likeit'}? 'likeit' : ''"  onclick="cfnPutWishList(this);" th:attr="goodsCd=${bestItemData.goodsCd}, ithrCd='', contentsLoc='SMM004', planDtlSq=''">관심상품 추가</button>
+															</div>
+															<p class=" itemBrand" th:text="${bestItemData.brandGroupNm}">BRAND NAME</p>
+															<div class=" itemName" th:text="${bestItemData.goodsFullNm}">남성 로고 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건</div>
+															<p class="itemPrice">[[${#numbers.formatInteger(bestItemData.currPrice,0,'COMMA')} + 원]]
+																<span class="itemPrice_original" th:if="${bestItemData.currPrice != bestItemData.listPrice}" th:text="${#numbers.formatInteger(bestItemData.listPrice,3,'COMMA')}">89,000</span>
+																<span class=" itemPercent" th:if="${bestItemData.currPrice != bestItemData.listPrice}" th:text="${(bestItemData.listPrice == 0 ? 0 : #numbers.formatDecimal((bestItemData.listPrice - bestItemData.currPrice) / (bestItemData.listPrice * 1.0) * 100, 1, 0)) + '%'}">10%</span>
+															</p>
+															<div class="itemComment" th:text="${bestItemData.goodsTnm}">#데일리웨어로 매일입고싶은</div>
+														</a>
+													</div>
+												</div>
+											</div>
+										</th:block>
+									</div>
+								</div>
+							</th:block>
+						</div>
+					</div>
+				</th:block>
+
 				<!-- 5. 프로모션배너 -->
 				<th:block th:if="${contentsLoc=='005'}">
 					<div class="content main_2stage">
@@ -212,9 +259,9 @@
 															<p class="itemBrand" th:text="${goodsData.brandEnm}">BRAND NAME</p>
 															<div class="itemName" th:text="${goodsData.goodsNm}">여성 체인 프린트 큐롯 스커트 프린트 큐롯 스커트</div>
 															<p class="itemPrice">
-																[[${#numbers.formatInteger(goodsData.currAprice,0,'COMMA')} + 원]]
+																[[${#numbers.formatInteger(goodsData.currPrice,0,'COMMA')} + 원]]
 																<span class="itemPrice_original" th:text="${#numbers.formatInteger(goodsData.listPrice,0,'COMMA')} + '원'"></span>
-																<span class=" itemPercent" th:text="${#numbers.formatDecimal(goodsData.dcArate,1,0)} + '%'"></span>
+																<span class=" itemPercent" th:text="${#numbers.formatDecimal(goodsData.dcRate,1,0)} + '%'"></span>
 																<!--<span class="itemPercent" th:if="${planningGoods.currPrice != planningGoods.listPrice}" th:text="${(planningGoods.listPrice == 0 ? 0 : #numbers.formatDecimal((planningGoods.listPrice - planningGoods.currPrice) / (planningGoods.listPrice * 1.0) * 100, 1, 0)) + '%'}">10%</span>-->
 															</p>
 															<div class="itemComment" th:text="${goodsData.goodsTnm}">#데일리웨어로 매일입고싶은</div>
@@ -775,6 +822,7 @@ $(document).ready( function() {
 	//$("#header").load("head.html");
 	//$("#footer").load("foot.html");
 	$(".tag_list .btn").eq(0).trigger('click');
+	$(".it_nav .btn").eq(0).trigger('click');
 });
 
 /* SLIDE - MAIN_VISUAL */