Browse Source

몰메인 수정

bin2107 5 years ago
parent
commit
63aed42f9d

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

@@ -2,6 +2,8 @@ package com.style24.front.biz.service;
 
 import java.util.Collection;
 
+import com.style24.front.biz.dao.TsfGoodsDao;
+import com.style24.front.support.security.session.TsfSession;
 import com.style24.persistence.domain.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.cache.annotation.Cacheable;
@@ -31,6 +33,9 @@ public class TsfDisplayService {
 	@Autowired
 	private TscEnvsetService envsetService;
 
+	@Autowired
+	private TsfGoodsDao goodsDao;
+
 	/**
 	 * GNB 브랜드그룹 목록
 	 * @param contents - 컨텐츠 정보
@@ -269,4 +274,27 @@ public class TsfDisplayService {
 	public Cate4Srch getCate4srch(Cate4Srch cate4Srch){
 		return displayDao.getCate4srch(cate4Srch);
 	}
+
+	/**
+	 * 몰메인 MD PICK 목록
+	 * @param
+	 * @return
+	 * @author bin2107 cnclReqList.get(i)
+	 * @date 2021. 3. 30 goodsCategory.getGoodsList().get(i).getGoodsCd()
+	 */
+	public Collection<Contents> getContentsForGoods(Contents contents){
+		Collection<Contents> contentsList = displayDao.getContentsList(contents);
+		Cate4Srch tempContents = new Cate4Srch();
+		for(Contents tempContents2 : contentsList){
+			tempContents.setContentsLoc(tempContents2.getContentsLoc());
+			tempContents.setDispOrd(tempContents2.getDispOrd());
+			tempContents.setMaxRow(20);
+			tempContents.setCustNo(TsfSession.isLogin() ? TsfSession.getInfo().getCustNo() : 0);
+			tempContents2.setGoodsList(goodsDao.getContentsCategoryGoodsList(tempContents));
+		}
+
+		log.info("getContentsForGoods contentsList.size()::{}",contentsList.size());
+
+		return contentsList;
+	}
 }

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

@@ -109,22 +109,26 @@ public class TsfDisplayController extends TsfBaseController {
 			cate4Srch = displayService.getCate4srch(cate4Srch);
 			mainLayout.setCate4Srch(cate4Srch);
 
-			if ("C".equals(mainLayout.getContentsYn())) {
-				mainLayout.setContentsList(displayService.getContentsList(contents));
-			} else {
-				log.info("nullpoint contentsLoc::::{}", contentsLoc);
-				if ("SMM001".equals(contentsLoc)) {
-					cate4Srch.setMaxRow(3);
+			if(!contentsLoc.equals("SMM009")){
+				if ("C".equals(mainLayout.getContentsYn())) {
+					mainLayout.setContentsList(displayService.getContentsList(contents));
 				} else {
-					cate4Srch.setMaxRow(20);
-				}
+					log.info("nullpoint contentsLoc::::{}", contentsLoc);
+					if ("SMM001".equals(contentsLoc)) {
+						cate4Srch.setMaxRow(3);
+					} else {
+						cate4Srch.setMaxRow(20);
+					}
 
-				Collection<Goods> goodsList = goodsService.getContentsCategoryGoodsList(cate4Srch);
-				mainLayout.setGoodsList(goodsList);
+					Collection<Goods> goodsList = goodsService.getContentsCategoryGoodsList(cate4Srch);
+					mainLayout.setGoodsList(goodsList);
 
-				if ("A".equals(mainLayout.getContentsYn())) {
-					mainLayout.setContentsList(displayService.getContentsList(contents));
+					if ("A".equals(mainLayout.getContentsYn())) {
+						mainLayout.setContentsList(displayService.getContentsList(contents));
+					}
 				}
+			}else{
+				mainLayout.setMdPickList(displayService.getContentsForGoods(contents));
 			}
 
 			if(contentsLoc.equals("SMM006")){

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

@@ -64,4 +64,5 @@ public class Contents extends TscBaseDomain {
 
 	private Collection<Cate1> cateList;	// 카테고리목록
 
+	private Collection<Goods> goodsList;	// 카테고리목록
 }

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

@@ -32,5 +32,6 @@ public class MainLayout extends TscBaseDomain {
     private Collection<Lookbook> lookbookList;
     private Collection<Plan> planningList;
     private Social socialInfo;
+    private Collection<Contents> mdPickList;
 
 }

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

@@ -896,42 +896,68 @@
 		                 , ROW_NUMBER() OVER(ORDER BY GS.SELL_WEEK_QTY DESC
 		                                            , G.GOODS_CD) AS NUMB
 		                     </when>
+							 <when test="contentsLoc == 'SMM009'"> <!-- md추천 -->
+						 , ROW_NUMBER() OVER(ORDER BY CTG.DISP_ORD
+								 , G.REG_DT DESC
+								 , G.GOODS_CD) AS NUMB
+							 </when>
 		                     <otherwise>
 		                 , ROW_NUMBER() OVER(ORDER BY CG.DISP_ORD
 		                                            , G.REG_DT DESC
 		                                            , G.GOODS_CD) AS NUMB
 		                     </otherwise>
 		                 </choose>
-		            FROM   TB_CATE_4SRCH C4
-		                 , TB_CATE_GOODS CG
-		                 , TB_GOODS G
-		                 , TB_GOODS_STOCK S
-		                 , TB_BRAND B
-		                 , TB_BRAND_GROUP BG
-		            <if test="contentsLoc == 'SCM002'"> <!-- 베스트 -->
-		                 , TB_GOODS_SUMMARY GS
-		            </if> 
-		            WHERE  C4.LEAF_CATE_NO = CG.CATE_NO
 		            <choose>
-		                <when test="brandGroupNo != null and brandGroupNo != ''">
-		            AND    CG.BRAND_GROUP_NO = #{brandGroupNo}
-		                </when>
-		                <otherwise>
-		            AND    CG.BRAND_GROUP_NO = 0 /*브랜드메인에서 접근한 것이 아니면*/
-		                </otherwise>
-		            </choose>
-		            AND    CG.GOODS_CD = G.GOODS_CD
-		            AND    CG.GOODS_CD = S.GOODS_CD
-		            AND    G.BRAND_CD = B.BRAND_CD
-		            AND    B.BRAND_GROUP_NO = BG.BRAND_GROUP_NO
-		            <if test="contentsLoc == 'SCM002'"> <!-- 베스트 -->
-		            AND    CG.GOODS_CD = GS.GOODS_CD
-		            </if>
-		            AND    C4.SITE_CD = #{siteCd}
-		            AND    C4.CATE_GB = #{cateGb}
-		            AND    C4.CATE_TYPE = 'G031_20' /*컨텐츠카테고리*/
-		            AND    C4.CATE1_NO = #{cate1No}
-		            AND    C4.CONTENTS_LOC = #{contentsLoc}
+						<when test="contentsLoc == 'SMM009'"> <!-- md추천 -->
+							FROM	TB_CONTENTS CT
+							, TMP_CONTENTS_GOODS CTG
+							, TB_GOODS G
+							, TB_GOODS_STOCK S
+							, TB_BRAND B
+							, TB_BRAND_GROUP BG
+							WHERE	CT.CONTENTS_LOC = CTG.CONTENTS_LOC
+							AND 	CT.DISP_ORD = CTG.CONTENTS_SQ
+							AND		CTG.GOODS_CD = G.GOODS_CD
+							AND		CTG.GOODS_CD = S.GOODS_CD
+							AND		G.BRAND_CD = B.BRAND_CD
+							AND     B.BRAND_GROUP_NO = BG.BRAND_GROUP_NO
+							AND		CT.CONTENTS_LOC = #{contentsLoc}
+						    AND 	CTG.CONTENTS_SQ = #{dispOrd}
+							AND		NOW() BETWEEN CT.DISP_STDT AND CT.DISP_EDDT
+						</when>
+		            	<otherwise>
+							FROM   TB_CATE_4SRCH C4
+							, TB_CATE_GOODS CG
+							, TB_GOODS G
+							, TB_GOODS_STOCK S
+							, TB_BRAND B
+							, TB_BRAND_GROUP BG
+							<if test="contentsLoc == 'SCM002'"> <!-- 베스트 -->
+								, TB_GOODS_SUMMARY GS
+							</if>
+							WHERE  C4.LEAF_CATE_NO = CG.CATE_NO
+							<choose>
+								<when test="brandGroupNo != null and brandGroupNo != ''">
+									AND    CG.BRAND_GROUP_NO = #{brandGroupNo}
+								</when>
+								<otherwise>
+									AND    CG.BRAND_GROUP_NO = 0 /*브랜드메인에서 접근한 것이 아니면*/
+								</otherwise>
+							</choose>
+							AND    CG.GOODS_CD = G.GOODS_CD
+							AND    CG.GOODS_CD = S.GOODS_CD
+							AND    G.BRAND_CD = B.BRAND_CD
+							AND    B.BRAND_GROUP_NO = BG.BRAND_GROUP_NO
+							<if test="contentsLoc == 'SCM002'"> <!-- 베스트 -->
+								AND    CG.GOODS_CD = GS.GOODS_CD
+							</if>
+							AND    C4.SITE_CD = #{siteCd}
+							AND    C4.CATE_GB = #{cateGb}
+							AND    C4.CATE_TYPE = 'G031_20' /*컨텐츠카테고리*/
+							AND    C4.CATE1_NO = #{cate1No}
+							AND    C4.CONTENTS_LOC = #{contentsLoc}
+						</otherwise>
+					</choose>
 		            AND    G.GOODS_STAT = 'G008_90' /*승인완료상품*/
 		            AND    G.FORMAL_GB = 'G009_10' /*정상상품*/
 		            AND    S.STOCK_QTY <![CDATA[>]]> 0 /*재고있는상품*/