Преглед на файлове

몰메인 브랜드픽 브랜드 중복 및 핫딜 수정

bin2107 преди 4 години
родител
ревизия
fa3262ebba

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

@@ -256,4 +256,12 @@ public interface TsfDisplayDao {
 	 */
 	String getSplashImage();
 
+	/**
+	 * 몰메인 브랜드픽 타이틀 브랜드 목록
+	 * @param contents - 컨텐츠 정보
+	 * @return
+	 * @author bin2107
+	 * @date 2021. 7. 23
+	 */
+	Collection<Contents> getBrandpickTitleBrandList(Contents contents);
 }

+ 21 - 1
src/main/java/com/style24/front/biz/service/TsfDisplayService.java

@@ -554,7 +554,13 @@ public class TsfDisplayService {
 	 * @date 2021. 3. 30
 	 */
 	public Collection<Contents> getContentsForGoods(Contents contents) {
-		Collection<Contents> contentsList = displayDao.getContentsList(contents);
+		Collection<Contents> contentsList = new ArrayList<>();
+		if(contents.getContentsLoc().equals("SMM007")){
+			contentsList = displayDao.getBrandpickTitleBrandList(contents);
+		}else{
+			contentsList = displayDao.getContentsList(contents);
+		}
+
 		Collection<Goods> goodsList = new ArrayList<>();
 		Cate4Srch tempContents = new Cate4Srch();
 		for (Contents data : contentsList) {
@@ -563,6 +569,9 @@ public class TsfDisplayService {
 			tempContents.setMaxRow(20);
 			tempContents.setCustNo(TsfSession.isLogin() ? TsfSession.getInfo().getCustNo() : 0);
 			if ("SMM007".equals(data.getContentsLoc())) {
+				if(!"".equals(data.getBrandGroupNo()) && !"null".equals(data.getBrandGroupNo()) && !data.getBrandGroupNo().equals(null)){
+					tempContents.setBrandGroupNo(Integer.parseInt(data.getBrandGroupNo()));
+				}
 				data.setFrontGb(TsfSession.getFrontGb());
 				data.setBannerList(displayDao.getContentsBannerList(data));
 			}
@@ -964,4 +973,15 @@ public class TsfDisplayService {
 		return goodsDao.getContentsCategoryNewGoodsList(cate4Srch);
 	}
 
+	/**
+	 * 몰메인 브랜드픽 타이틀 브랜드 목록
+	 * @param contents - 컨텐츠 정보
+	 * @return
+	 * @author bin2107
+	 * @date 2021. 7. 23
+	 */
+	public Collection<Contents> getBrandpickTitleBrandList(Contents contents) {
+		return displayDao.getBrandpickTitleBrandList(contents);
+	}
+
 }

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

@@ -184,7 +184,11 @@ public class TsfDisplayController extends TsfBaseController {
 			mainLayout.setCate4Srch(cate4Srch);
 
 			if ("C".equals(mainLayout.getContentsYn())) {
-				mainLayout.setContentsList(displayService.getContentsList(contents));
+				if(contentsLoc.equals("SMM007")){
+					mainLayout.setContentsList(displayService.getBrandpickTitleBrandList(contents));
+				}else{
+					mainLayout.setContentsList(displayService.getContentsList(contents));
+				}
 			} else {
 				log.info("nullpoint contentsLoc::::{}", contentsLoc);
 				if ("SMM001".equals(contentsLoc)) {

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

@@ -89,6 +89,7 @@ public class Social extends TscBaseDomain{
 		// 몰메인
 		Collection<Social> socialGoodsList;
 		private String likeIt;	// 위시리스트에 담긴 상품
+		private String mainYn;	// 몰메인에서는 재고 조회하지않음
 		
 		// Pagination
 		private TscPageRequest pageable;

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

@@ -1407,5 +1407,51 @@
 		ORDER  BY SPLASH_IMG_SQ DESC
 		LIMIT 1
 	</select>
+
+	<!-- 브랜드픽 타이틀 브랜드 조회 -->
+	<select id="getBrandpickTitleBrandList" parameterType="Contents" resultType="Contents">
+		/* TsfDisplay.getBrandpickTitleBrandList */
+		SELECT  T.BRAND_GROUP_NO
+		      , T.BRAND_GROUP_NM
+		      , T.BRAND_GROUP_IMG
+		      , ROW_NUMBER() OVER() AS DISP_ORD
+		      , T.CATE_NO
+		      , T.CONTENTS_LOC
+		FROM  (
+		         SELECT
+		                A.BRAND_GROUP_NO                                     /*브랜드그룹번호*/
+		              , (SELECT FN_GET_BRAND_GROUP_NM(A.BRAND_GROUP_NO)) AS BRAND_GROUP_NM
+		              , (SELECT LOGO_FILE_NM FROM TB_BRAND_GROUP WHERE 1=1 AND A.BRAND_GROUP_NO = BRAND_GROUP_NO) AS BRAND_GROUP_IMG		/*브랜드그룹이미지경로*/
+		              , A.CATE_NO
+		              , A.CONTENTS_LOC
+		         FROM
+		         <choose>
+		            <when test='preview != null and preview == "Y"'>
+		                TB_CONTENTS_PREVIEW A
+		            </when>
+		            <otherwise>
+		                TB_CONTENTS A
+		            </otherwise>
+		         </choose>
+		         WHERE  A.CONTENTS_LOC = #{contentsLoc}
+		         AND    A.USE_YN = 'Y'
+		        <if test="cateNo != null and cateNo != ''">
+		         AND    A.CATE_NO = #{cateNo}
+		        </if>
+		        <choose>
+		            <when test='preview != null and preview == "Y"'>
+		          AND    A.DISP_STDT <![CDATA[<=]]> STR_TO_DATE(#{viewDt},'%Y%m%d%H%i%S')
+		          AND    A.DISP_EDDT <![CDATA[>=]]> STR_TO_DATE(#{viewDt},'%Y%m%d%H%i%S')
+		            </when>
+		            <otherwise>
+		          AND    A.DISP_STDT <![CDATA[<=]]> NOW()
+		          AND    A.DISP_EDDT <![CDATA[>=]]> NOW()
+		            </otherwise>
+		        </choose>
+		         ORDER BY  A.DISP_ORD
+		      ) T
+		WHERE  1=1
+		GROUP BY  T.BRAND_GROUP_NO, T.CATE_NO, T.CONTENTS_LOC
+	</select>
 	
 </mapper>

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

@@ -1513,9 +1513,12 @@
 		                    AND		G.BRAND_CD = B.BRAND_CD
 		                    AND     B.BRAND_GROUP_NO = BG.BRAND_GROUP_NO
 		                    AND		CT.CONTENTS_LOC = #{contentsLoc}
-		                    <if test="contentsLoc == 'SMM009' or contentsLoc == 'SMM007' or contentsLoc == 'SMM012'">
+		                    <if test="contentsLoc == 'SMM009' or contentsLoc == 'SMM012'">
 		                    AND 	CTG.CONTENTS_SQ = #{dispOrd}
 		                    </if>
+		                    <if test="contentsLoc == 'SMM007'">
+		                    AND		CT.BRAND_GROUP_NO = #{brandGroupNo}
+		                    </if>
 		                    <if test="contentsLoc == 'SMM003' or contentsLoc == 'SBM007' or contentsLoc == 'SBM008' or contentsLoc == 'SBM009' or contentsLoc == 'SBM017' or contentsLoc == 'SBM018' or contentsLoc == 'SBM019' or contentsLoc == 'SOM003' or contentsLoc == 'SCM002' or contentsLoc == 'SCM003' or contentsLoc == 'SOM002'">
 		                    AND CT.CONTENTS_SQ IN ( SELECT TMP.CONTENTS_SQ FROM (SELECT A.CONTENTS_SQ FROM TB_CONTENTS A WHERE 1=1 AND A.CONTENTS_LOC = #{contentsLoc} AND NOW() BETWEEN A.DISP_STDT AND A.DISP_EDDT
 		                                                                                    <if test="brandGroupNo != null and brandGroupNo != ''">

+ 6 - 0
src/main/java/com/style24/persistence/mybatis/shop/TsfSocial.xml

@@ -86,6 +86,7 @@
 		          ) Z
 		     GROUP BY GOODS_CD
 		)
+		<if test="mainYn == null or mainYn ==''">
 		, TAB_STOCK AS (
 		     SELECT G.GOODS_CD
 		         , SUM(case WHEN S.SOLDOUT_YN = 'Y' THEN 0
@@ -126,6 +127,7 @@
 		    WHERE  NUMB = 1
 		    GROUP BY GOODS_CD
 		    )
+		</if>
 		SELECT G.BRAND_GROUP_NM
 		     , G.GOODS_CD
 		     , FN_GET_GOODS_NM(G.GOODS_NM,G.GOODS_GB,G.FOREIGN_BUY_YN,G.PARALLEL_IMPORT_YN,G.ORDER_MADE_YN) AS GOODS_FULL_NM /*상품FULL명*/
@@ -140,8 +142,10 @@
 		     , 100 - ROUND((G.CURR_PRICE / G.LIST_PRICE) * 100 ,0) AS DC_RATE 
 		     , GI.SYS_IMG_NM
 		     , GI.SYS_IMG_NM2
+		<if test="mainYn == null or mainYn ==''">
 		     , S.STOCK_QTY_SUM
 		     , S.OPT_CD
+		</if>
 		     , G.MIN_ORD_QTY 
 		     , (SELECT GROUP_CONCAT(COMPS_GOODS_CD)  FROM TB_GOODS_COMPOSE WHERE GOODS_CD = G.GOODS_CD) AS COMPS_GOODS_CD  
 		     <choose>
@@ -154,7 +158,9 @@
 		     </choose>
 		FROM   TAB_GOODS G
 		LEFT OUTER JOIN TAB_GOODS_IMG GI ON G.GOODS_CD = GI.GOODS_CD
+		<if test="mainYn == null or mainYn ==''">
 		LEFT OUTER JOIN TAB_STOCK S ON G.GOODS_CD = S.GOODS_CD
+		</if>
 		<if test="custNo != null and custNo > 0"> <!-- 로그인 했으면 -->
 		LEFT OUTER JOIN TB_WISHLIST W ON G.GOODS_CD = W.GOODS_CD
 		                             AND W.CUST_NO = #{custNo}