Browse Source

Merge branch 'sowon' into develop

sowon4187 5 years ago
parent
commit
74f0e72c09

+ 24 - 0
src/main/java/com/style24/front/biz/dao/TsfPlanningDao.java

@@ -1,6 +1,10 @@
 package com.style24.front.biz.dao;
 
+import java.util.Collection;
+
 import com.style24.core.support.annotation.ShopDs;
+import com.style24.persistence.domain.Cate4Srch;
+import com.style24.persistence.domain.Plan;
 
 /**
  * 기획전 Dao
@@ -10,5 +14,25 @@ import com.style24.core.support.annotation.ShopDs;
  */
 @ShopDs
 public interface TsfPlanningDao {
+	
+	/**
+	 * 기획전 카테고리 1deth 조회
+	 * 
+	 * @param Cate4Srch
+	 * @return Collection<Cate4Srch>
+	 * @author sowon
+	 * @since 2021.03.05
+	 */
+	Collection<Cate4Srch> getPlanCate1(Cate4Srch Cate);
+	
+	/**
+	 * 기획전 갯수 조회
+	 * 
+	 * @param Plan
+	 * @return int
+	 * @author sowon
+	 * @since 2021.03.05
+	 */
+	int getPlanAllCount(Plan plan);
 
 }

+ 27 - 0
src/main/java/com/style24/front/biz/service/TsfPlanningService.java

@@ -1,9 +1,14 @@
 package com.style24.front.biz.service;
 
+import java.util.Collection;
+
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import com.style24.front.biz.dao.TsfPlanningDao;
+import com.style24.persistence.domain.Cate4Srch;
+import com.style24.persistence.domain.Plan;
+import com.style24.persistence.domain.Point;
 
 import lombok.extern.slf4j.Slf4j;
 
@@ -19,5 +24,27 @@ public class TsfPlanningService {
 
 	@Autowired
 	private TsfPlanningDao planningDao;
+	
+	/**
+	 * 기획전 카테고리 1deth 조회
+	 *
+	 * @param Cate4Srch
+	 * @author sowon
+	 * @since 2021. 03. 05
+	 */	
+	public Collection<Cate4Srch> getPlanCate1(Cate4Srch cate) {
+		return planningDao.getPlanCate1(cate);
+	}
+	
+	/**
+	 * 기획전 갯수 조회
+	 * 
+	 * @param Plan
+	 * @author sowon
+	 * @since 2021.03.05
+	 */
+	public int getPlanAllCount(Plan plan) {
+		return planningDao.getPlanAllCount(plan);
+	}
 
 }

+ 41 - 0
src/main/java/com/style24/front/biz/web/TsfPlanningController.java

@@ -1,12 +1,23 @@
 package com.style24.front.biz.web;
 
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.servlet.ModelAndView;
 
+import com.style24.core.support.env.TscConstants;
 import com.style24.core.support.message.TscMessageByLocale;
 import com.style24.front.biz.service.TsfPlanningService;
 import com.style24.front.support.controller.TsfBaseController;
+import com.style24.front.support.security.session.TsfSession;
+import com.style24.persistence.domain.Cate4Srch;
+import com.style24.persistence.domain.Customer;
+import com.style24.persistence.domain.Order;
+import com.style24.persistence.domain.Plan;
 
 import lombok.extern.slf4j.Slf4j;
 
@@ -26,5 +37,35 @@ public class TsfPlanningController extends TsfBaseController {
 
 	@Autowired
 	private TsfPlanningService planningService;
+	
+	/**
+	 * 기획전 메인 화면
+	 *
+	 * @return
+	 * @author sowon
+	 * @since 2021. 3. 5
+	 */
+	@GetMapping("/main/form")
+	public ModelAndView PlanningMainForm(Plan plan) throws Exception {
+		ModelAndView mav = new ModelAndView();
+		Cate4Srch cate = new Cate4Srch();
+		// 카테고리 
+		mav.addObject("categoryList", planningService.getPlanCate1(cate));
+		mav.addObject("cateNo", plan.getCateNo());
+		
+		// 각 가테고리 기획전 갯수
+		mav.addObject("planCount",planningService.getPlanAllCount(plan));
+		
+		if (plan.getCateNo() != null) {
+			cate.setCate1No(plan.getCateNo());
+			mav.addObject("cateNm", planningService.getPlanCate1(cate).iterator().next().getCate1Nm());
+			
+		}
+		
+		
+		mav.setViewName(super.getDeviceViewName("planning/PlanningMainForm"));
+		return mav;
+	}
+
 
 }

+ 292 - 0
src/main/java/com/style24/persistence/domain/Plan.java

@@ -0,0 +1,292 @@
+package com.style24.persistence.domain;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.style24.persistence.TscBaseDomain;
+import com.style24.persistence.TscPageRequest;
+
+import lombok.Data;
+
+/**
+ * 기획전 Domain
+ *
+ * @author sowon
+ * @since 2021. 02. 04
+ */
+
+@SuppressWarnings("serial")
+@Data
+public class Plan extends TscBaseDomain{
+	// 기획전
+		private Integer planSq;				//기획전일련번호(SeqPlan sequence)
+		private String planNm;				//기획전명
+		private String planGb;				//기획전구분(P:기획전private String  E:이벤트)
+		private String custGb;				//고객구분
+		private String custGrade;			//회원등급
+		private String planSnm;				//검색어
+		private String templateType;		//템플릿유형(H:Htmlprivate String  T:텍스트)
+		private String siteCd;				//사이트코드(공통코드g000)
+		private String frontGb;				//프론트구분(A:All, P:웹, M:모바일)
+		private String dispStdt;			//기획전 시작일시
+		private String dispEddt;			//기획전 종료일시
+		private String mainPimg;			//메인이미지(Pc)
+		private String mainMimg;			//메인이미지(모바일)
+		private String dtlPimg;				//상세이미지(Pc)
+		private String dtlMimg;				//상세이미지(모바일)
+		private String orgMainPimg;			//원본메인이미지(Pc)
+		private String orgMainMimg;			//원본메인이미지(모바일)
+		private String orgDtlPimg;			//원본상세이미지(Pc)
+		private String orgDtlMimg;			//원본상세이미지(모바일)
+		private String orgMainPimgDelYn;	//원본메인이미지(Pc) 삭제여부
+		private String orgMainMimgDelYn;	//원본메인이미지(모바일) 삭제여부
+		private String orgDtlPimgDelYn;		//원본상세이미지(Pc) 삭제여부
+		private String orgDtlMimgDelYn;		//원본상세이미지(모바일) 삭제여부
+		private String dtlTitle1;			//상세제목1
+		private String dtlTitle2;			//상세제목2
+		private String cateCd;				//카테고리코드(대/중/소/세카테고리)
+		private String cateDispYn;			//카테고리전시여부(Y:전시)
+		private String replyYn;				//댓글여부(Y:댓글)
+		private String replyLoc;			//댓글위치(U:상품리스트상단 D:상품리스트하단)
+		private String replyImg;			//댓글이미지
+		private String orgReplyImg;			//원본댓글이미지
+		private String replyTitle1;			//댓글제목1
+		private String replyTitle2;			//댓글제목2
+		private String devUrl;				//호출 URL
+		private String orgReplyImgDelYn;	//원본댓글이미지 삭제여부
+		private String cornerNmDispYn;		//코너명노출여부(Y:노출)
+		private String goodsLimitYn;		//상품등록제한여부(Y:상품등록제한)
+		private String goodsLimitQty;		//상품등록제한수(상품등록제한여부가 "Y"일 떄)
+		private String delYn;				//삭제여부(Y:삭제)
+		private String openYn;				//오픈여부(Y:오픈)
+		@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
+		private long[] dispOrdArr;			// 표시순서 배열
+		private long dispOrd;				//표시순서
+		private long readCnt;				//조회수
+		private Integer pollSq;				//투표일련번호
+		private String badgeNm;				//뱃지이름
+		private String badgeFcolor;			//뱃지글자컬러
+		private String badgeBcolor;			//뱃지배경컬러
+		private String privacyPolicy;		//개인정보수집동의정책
+
+		// 기획전 소스
+		private Integer seq;					//일련번호
+		private String fsrcPc;				//프론트소스(pc)	/ 화면용
+		private String fsrcMob;			//프론트소스(모바일)	/ 화면용
+		private String locGb;			//위치구분(T:상단 / B:하단)
+
+		// 기획전 상세
+		private Integer planDtlSq;				//기획전상세일련번호(SEQ_PLAN_DTL sequence)
+		private Integer copyPlanDtlSq;			//복사할 상세 일련번호
+		private Integer copyPlanSq;			//복사할 일련번호
+		private String copyMode;			//복사 선택(CORNER:코너복사, PLAN:기획전복사)
+		private String cornerDispType;		//코너노출유형(공통코드G045) (2:2컷 , 3:3컷, 4:4컷)
+		private String cornerNm;			//코너 명
+		private String planDtlStat;			//기획전상세상태(공통코드G044)
+		private String copyBrandCd;	        //복사할 브랜드코드
+		private String adminPreview;	// 어드민미리보기 여부 (Y:미리보기)
+		// 기획전 브랜드
+		private String brandGroupNo;	//기획전브랜드그룹번호
+		private String DispYn;      	//표시여부           
+		private String brandGroupKnm; 	// 브랜드 그룹명(한글)
+		private String brandGroupEnm; 	// 브랜드 그룹명(영어)
+		/* Multi CheckBox 항목*/
+		@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
+		private String[] multiBrand;
+		private String[] multiCate;
+		
+		// 코너
+		private String cateGb;		// 카테고리구분
+		private String cateNm;		// 카테고리명
+		private Integer cateNo;		// 카테고리번호
+		
+		// 기획전 응모
+		@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
+		private String[] planQtitle;
+		@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
+		private String[] attachYn;
+		@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
+		private String[] planAnswerSq;
+		@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
+		private String[] answer;
+		@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
+		private String[] sysFileNm;
+
+		//private Collection<TsaPlanQuestAnswer> planQuestAnswerList; // 고시항목
+
+		// 검색
+		private String startSearchDate;		// 진행기간 시작일
+		private String startSearchTime;		// 진행기간 시작시간
+		private String endSearchDate;		// 진행기간 종료일
+		private String endSearchTime;		// 진행기간 종료시간
+		private String excelFileNm;			// 엑셀 파일 명
+		//private int startRow;				// 페이징 시작
+		//private int endRow;					// 피이징 종료
+		@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
+		private String[] siteCds;			// 사이트
+
+		// 코너 상품
+		@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
+		private String[] goodsCdArr;		// 상품 코드 배열
+		private String goodsCd;				// 상품 코드
+		private String goodsNm;				// 상품 명
+		private String goodsStat;			// 제품상태
+		private String imgType;				// 이미지 타입
+		private String imgPath1;			// 이미지 경로1
+		private String imgPath2;			// 이미지 경로2
+		private String imgPath4;			// 이미지 경로4
+		private String imgPath5;			// 이미지 경로5
+		private String imgPath6;			// 이미지 경로6
+		private String dcRate;				// 할인율
+		private String listPrice;			// 최소 소비자가
+		private String tagPrice;			// tag 가
+		private String currPrice;			// 판매가
+		private String supplyCompCd;		// 업체코드
+		private String supplyCompNm;		// 업체명
+		private String formalGb;			// 정상/이월 여부
+		private String currStockQty;		// 재고
+		private String pageYn;				// 페이징 사용 여부
+		private String changeGb;			// 순서변경 updown 구분
+		private int stockQtySum;			// 재고
+		private String afLinkCd;			// 제휴채널
+		private String afChannel;			// 제휴채널 공통코드
+		private String afLinkNm;			// 제휴채널 명
+
+		// 기획전 팝업
+		private String callBackFun;			// 콜백함수명
+		private String popupDispStdt;		//기획전 시작일시
+		private String popupDispEddt;		//기획전 종료일시
+		
+		//기획전 템플릿
+		private Integer planContSq;			// 기획전 컨텐츠 일련번호
+		private String tmplType;			//템플릿 유형(공통코드 G082)
+		private String title;				//타이틀
+		private String linkUrl;				//링크url
+		private String dispYn;				//표시여부
+		private Integer planContItemSq;		//기획전 컨텐프 아이템 일련번호
+		private String itemVal;				//아이템값(상품코드, 이미지파일명 등)
+		private String reviewDispStdt;		//리뷰노출시작일시
+		private String reviewDispEddt;		//리뷰노툴종료일시
+		
+		@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
+		private String[] multiPlanReview;		//리뷰상품목록
+		@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
+		private String[] multiPlanReviewStartD;		//리뷰시작날짜
+		@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
+		private String[] multiPlanReviewStartT;		//리뷰시작시간
+		@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
+		private String[] multiPlanReviewEndD;		//리뷰종료날짜
+		@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
+		private String[] multiPlanReviewEndT;		//리뷰종료시간
+		@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
+		private String[] multiPlanCoupon;		//쿠폰목록
+		@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
+		private String[] multiPlanFile;			//이미지목록
+		@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
+		private String[] multiChannel;			//제휴채널목록
+		
+
+		
+		// 템플릿 저장하기 위한 임시 변수
+		private String reTitle;				//리뷰타이틀
+		private String mode;				//모드
+		private long reDispOrd;				//리뷰전시순서
+		private String reItemVal;			//리뷰아이템
+		private String reDispYn;			//리뷰전시여부
+		private String reItemNm;			//리뷰상품이름
+		private Integer rePlanContSq;		//리뷰 컨텐츠일련번호
+		
+		private String cuTitle;				//쿠폰타이틀
+		private long cuDispOrd;				//쿠폰전시순서
+		private String cuDispYn;			//쿠폰전시여부
+		private String cuItemVal;			//쿠폰 아이템
+		private String cuItemNm;			//쿠폰 아이템 이름
+		private Integer cuPlanContSq;		//쿠폰 컨텐츠일련번호
+		
+		private String fileItemVal;			//파일아이템
+		private String fileDispYn;			//파일전시여부
+		private long fileDispOrd;			//파일전시순서
+		private Integer filePlanContSq;		//파일 컨텐츠일련번호
+		
+		private String topFsrcDispYn;		//html상단 전시여부
+		private String BtmFsrcDispYn;		//html하단 전시여부
+		private long   topFsrcDispOrd;		//html상단 전시순서
+		private long   btmFsrcDispOrd;		//html하단 전시순서
+		private String fsrcPcTop;			//html상단 내용(pc)
+		private String fsrcMobileTop;	    //html상단 내용(mobile)
+		private String fsrcPcBtm;			//html하단 내용(pc)
+		private String fsrcMobileBtm;		//html하단 내용(pc)
+		
+		private String goodsTitle;			//상품타이틀
+		private String goodsUrl;			//상품 url
+		private String goodsDispYn;			//상품전시여부
+		private long goodsDispOrd;			//상품 전시순서
+		private String goodsType;			//상품노출순서
+		private String goodsItemVal;		//상품아이템
+		private String brandEnm;			//브랜드명
+		private Integer goodsPlanContSq;	//상품 컨텐츠일련번호
+		
+		// Pagination
+		private TscPageRequest pageable;
+		private int pageNo = 1;
+		private int pageSize = 50;
+		private int pageUnit = 10;
+		
+		private String condition; // 키워드 종류
+		private String search; // 검색어
+		@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
+		private String[] conditionList;
+		
+		 // 사용가능고객등급
+	    @JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
+	    private String[] usableCustGradeArr;
+		
+	    // 사용가능고객구분
+	    @JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
+	    private String[] usableCustGbArr;
+	    
+	    
+	    @JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
+		List<Plan> multiPlanGoodsContent1; 
+	    @JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
+		List<Plan> multiPlanGoodsContent2; 
+	    @JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
+		List<Plan> multiPlanGoodsContent3; 
+	    @JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
+		List<Plan> multiPlanGoodsContent4; 
+	    @JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
+		List<Plan> multiPlanGoodsContent5; 
+	    @JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
+		List<Plan> multiPlanGoodsContent6; 
+	    @JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
+		List<Plan> multiPlanGoodsContent7; 
+	    @JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
+		List<Plan> multiPlanGoodsContent8; 
+	    @JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
+		List<Plan> multiPlanGoodsContent9; 
+	    @JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
+		List<Plan> multiPlanGoodsContent10; 
+	    
+		@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
+		List<Plan> multiPlanGoodsContentVal1; 
+		@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
+		List<Plan> multiPlanGoodsContentVal2; 
+		@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
+		List<Plan> multiPlanGoodsContentVal3; 
+		@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
+		List<Plan> multiPlanGoodsContentVal4; 
+		@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
+		List<Plan> multiPlanGoodsContentVal5; 
+		@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
+		List<Plan> multiPlanGoodsContentVal6; 
+		@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
+		List<Plan> multiPlanGoodsContentVal7; 
+		@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
+		List<Plan> multiPlanGoodsContentVal8; 
+		@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
+		List<Plan> multiPlanGoodsContentVal9; 
+		@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
+		List<Plan> multiPlanGoodsContentVal10; 
+}

+ 30 - 0
src/main/java/com/style24/persistence/mybatis/shop/TsfPlanning.xml

@@ -14,6 +14,36 @@
 		WHERE  NUMB BETWEEN #{pageable.startRow} AND #{pageable.endRow}
 	</sql>
 	
+	<select id="getPlanCate1" resultType="Cate4Srch" parameterType="Cate4Srch">
+		SELECT CATE1_NO 
+      		  ,CATE1_NM 
+		      ,CATE_GB 
+		      ,CATE_TYPE 
+		      ,CONTENTS_LOC 
+		      ,FORMAL_GB 
+		      ,DISP_ORD 
+		      ,DISP_YN 
+	   FROM TB_CATE1
+	   WHERE 1=1
+	   	<if test="cate1No != null and cate1No != ''">
+	   	AND CATE1_NO = #{cate1No}
+	   	</if>
+	</select>
+	
+	<select id="getPlanAllCount" resultType="int" parameterType="Plan">
+		SELECT COUNT(*) AS CNT
+		FROM TB_PLAN P  
+		WHERE 1=1
+		   AND P.DEL_YN = 'N'
+		   <if test="cateNo != null and cateNo != ''">
+		   AND P.PLAN_SQ IN (
+		   						SELECT PLAN_SQ 
+		   						FROM TB_PLAN_CATE 
+		   						WHERE CATE_NO = #{cateNo}
+		   					)
+		   </if>
+	</select>
+	
 	
 
 </mapper>

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

@@ -97,7 +97,7 @@
 				<ul class="bundle" id="nav3">
 					<li class="active" ><a href="#">베스트</a></li>
 					<li><a href="#">핫딜</a></li>
-					<li><a href="#">기획전</a></li>
+					<li><a href="javascript:void(0);" onclick="cfnGoToPage(_PAGE_PLANNING_MAIN);" title="기획전 바로가기">기획전</a></li>
 					<li><a href="#">총알배송</a></li>
 					<li><a href="#">아울렛</a></li>
 					<li><a href="#">룩북</a></li>

+ 337 - 0
src/main/webapp/WEB-INF/views/web/planning/PlanningMainFormWeb.html

@@ -0,0 +1,337 @@
+<!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/DefaultLayoutWeb">
+<!--
+ *******************************************************************************
+ * @source  : PlanningMainFormWeb.html
+ * @desc    : 기획전메인 Page
+ *============================================================================
+ * Pastelmall
+ * Copyright(C) 2020 TSIT, All rights reserved.
+ *============================================================================
+ * VER  DATE         AUTHOR      DESCRIPTION
+ * ===  ===========  ==========  =============================================
+ * 1.0  2021.03.5   sowon     최초 작성
+ *******************************************************************************
+ -->
+<body>
+<th:block layout:fragment="content">
+	<!--  container -->
+	<div id="container" class="container dp">
+		<div class="breadcrumb"> 
+			<ul>
+				<li class="bread_home"><a href="javascript:void(0);" onclick="cfnGoToPage(_PAGE_MAIN);">홈</a></li>
+				<li class="bread_2depth"><a href="javascript:void(0);" onclick="cfnGoToPage(_PAGE_PLANNING_MAIN);">기획전</a></li>
+				<th:block th:if="${cateNm != null}">
+				<li class="bread_3depth"><a href="javascript:void(0);" onclick="cfnGoToPage(_PAGE_PLANNING_MAIN+'?cateNo='+[[${cateNo}]]);">[[${cateNm}]]</a></li>
+				</th:block>
+			</ul> 
+		</div>
+		<div class="wrap">
+			<div class="content dp_Exhibition"> <!-- 페이지특정 클래스 = dp_Exhibition -->
+				<div class="cont_head">
+					<div>
+                        <h3>기획전</h3>
+                    </div>
+				</div>
+				<div class="cont_body">
+                    <div class="best_nav">
+                        <ul>
+                            <li><button th:class="${cateNo == null ? 'active' : ''}" onclick="cfnGoToPage(_PAGE_PLANNING_MAIN);">전체</button></li>
+                             <th:block th:each="CategoryData, CategoryStat : ${categoryList}">
+                             <li><button th:class="${CategoryData.cate1No == cateNo ? 'active' : '' }" th:onclick="|cfnGoToPage(_PAGE_PLANNING_MAIN+'?cateNo=*{CategoryData.cate1No}');|">[[${CategoryData.cate1Nm}]]</button></li>
+						    </th:block>
+						    	
+                        </ul>
+                    </div>
+                    <div class="ui_row">
+                        <div class="ui_col_12">
+                            <div class="form_count">
+                                <p><span>[[${planCount}]]</span>개의 기획전</p>
+                            </div>
+                        </div>
+                    </div>
+                    <!-- 기획전 0개 -->
+                  	<th:block th:if="${planCount == 0}">
+                   	 <div class="list_content nodata"> <!-- 데이터 없을시 클래스 nodata 추가 -->
+                    </th:block>
+                     <!-- 기획전 1개 이상 -->
+                  	<th:block th:if="${planCount != 0}">
+                   	 <div class="list_content"> <!-- 데이터 없을시 클래스 nodata 추가 -->
+                    </th:block>
+                        <div class="list_defult">
+                            <div>
+                                <img src="/images/pc/ico_content_find.png" alt="">
+                                <p>등록된 기획전이 없습니다.</p>
+                            </div>
+                            <div class="ui_row">
+                                <button type="button" class="btn btn_default" onclick="cfnGoToPage(_PAGE_MAIN);"><span>홈으로 가기</span></button>
+                            </div>
+                        </div>
+                        <div class="itemsGrp">
+                            <div class="exhi_item">
+                                <div class="exhi_item_img">
+                                    <a href="">
+                                        <div class="shape ranker"><span>NEW</span></div>
+                                        <img src="/images/pc/thumb/ev_list_img01.jpg" alt=""> <!-- 430x430 사이즈 최적 -->
+                                        <div class="exhi_detail">
+                                            <p class="brand">TBJ 외</p>
+                                            <h3 class="tit">ATTENTION! 20FW HOLIDAY TBJ 주목할 홀리데이 TBJ 컬렉션 ATTENTION! 20FW HOLIDAY TBJ 주목할 홀리데이 TBJ 컬렉션</h3>
+                                            <p class="sale">신상 15%쿠폰할인</p>
+                                        </div>
+                                    </a>
+                                </div>
+                                <div class="exhi_item_pr">
+                                    <ul class="prod_list clear">
+                                        <li>
+                                            <a href="">
+                                                <div class="img">
+                                                    <img src="/images/pc/thumb/dp_exhibition_pr01.jpg" alt="볼패딩 푸퍼점퍼">
+                                                </div>
+                                                <div class="txt">
+                                                    <p class="pr_tit">볼패딩 푸퍼점퍼 T204JP060P 볼패딩 푸퍼점퍼 T204JP060P</p>
+                                                    <p class="price"><span>25,410</span>원</p>
+                                                </div>
+                                            </a>
+                                        </li>
+                                        <li>
+                                            <a href="">
+                                                <div class="img">
+                                                    <img src="/images/pc/thumb/dp_exhibition_pr02.jpg" alt="테이퍼드 M톤 기모 데님 팬츠">
+                                                </div>
+                                                <div class="txt">
+                                                    <p class="pr_tit">테이퍼드 M톤 기모 데님 팬츠</p>
+                                                    <p class="price"><span>25,410</span>원</p>
+                                                </div>
+                                            </a>
+                                        </li>
+                                        <li>
+                                            <a href="">
+                                                <div class="img">
+                                                    <img src="/images/pc/thumb/dp_exhibition_pr03.jpg" alt="패딩 리버서블 FLEECE  점퍼">
+                                                </div>
+                                                <div class="txt">
+                                                    <p class="pr_tit">패딩 리버서블 FLEECE  점퍼</p>
+                                                    <p class="price"><span>25,410</span>원</p>
+                                                </div>
+                                            </a>
+                                        </li>
+                                    </ul>
+                                </div>
+                            </div>
+                            <div class="exhi_item">
+                                <div class="exhi_item_img">
+                                    <a href="">
+                                        <div class="shape ranker"><span>NEW</span></div>
+                                        <img src="/images/pc/thumb/tmp_pdLookbook1.jpg" alt="">
+                                        <div class="exhi_detail">
+                                            <p class="brand">TBJ 외</p>
+                                            <h3 class="tit">ATTENTION! 20FW HOLIDAY TBJ 주목할 홀리데이 TBJ 컬렉션 ATTENTION! 20FW HOLIDAY TBJ 주목할 홀리데이 TBJ 컬렉션</h3>
+                                            <p class="sale">신상 15%쿠폰할인</p>
+                                        </div>
+                                    </a>
+                                </div>
+                                <div class="exhi_item_pr">
+                                    <ul class="prod_list clear">
+                                        <li>
+                                            <a href="">
+                                                <div class="img">
+                                                    <img src="/images/pc/thumb/dp_exhibition_pr01.jpg" alt="볼패딩 푸퍼점퍼">
+                                                </div>
+                                                <div class="txt">
+                                                    <p class="pr_tit">볼패딩 푸퍼점퍼 T204JP060P 볼패딩 푸퍼점퍼 T204JP060P</p>
+                                                    <p class="price"><span>25,410</span>원</p>
+                                                </div>
+                                            </a>
+                                        </li>
+                                        <li>
+                                            <a href="">
+                                                <div class="img">
+                                                    <img src="/images/pc/thumb/dp_exhibition_pr02.jpg" alt="테이퍼드 M톤 기모 데님 팬츠">
+                                                </div>
+                                                <div class="txt">
+                                                    <p class="pr_tit">테이퍼드 M톤 기모 데님 팬츠</p>
+                                                    <p class="price"><span>25,410</span>원</p>
+                                                </div>
+                                            </a>
+                                        </li>
+                                        <li>
+                                            <a href="">
+                                                <div class="img">
+                                                    <img src="/images/pc/thumb/dp_exhibition_pr03.jpg" alt="패딩 리버서블 FLEECE  점퍼">
+                                                </div>
+                                                <div class="txt">
+                                                    <p class="pr_tit">패딩 리버서블 FLEECE  점퍼</p>
+                                                    <p class="price"><span>25,410</span>원</p>
+                                                </div>
+                                            </a>
+                                        </li>
+                                    </ul>
+                                </div>
+                            </div>
+                            <div class="exhi_item">
+                                <div class="exhi_item_img">
+                                    <a href="">
+                                        <div class="shape ranker"><span>NEW</span></div>
+                                        <img src="/images/pc/thumb/tmp_pdLookbook1.jpg" alt="">
+                                        <div class="exhi_detail">
+                                            <p class="brand">TBJ 외</p>
+                                            <h3 class="tit">ATTENTION! 20FW HOLIDAY TBJ 주목할 홀리데이 TBJ 컬렉션 ATTENTION! 20FW HOLIDAY TBJ 주목할 홀리데이 TBJ 컬렉션</h3>
+                                            <p class="sale">신상 15%쿠폰할인</p>
+                                        </div>
+                                    </a>
+                                </div>
+                                <div class="exhi_item_pr">
+                                    <ul class="prod_list clear">
+                                        <li>
+                                            <a href="">
+                                                <div class="img">
+                                                    <img src="/images/pc/thumb/dp_exhibition_pr01.jpg" alt="볼패딩 푸퍼점퍼">
+                                                </div>
+                                                <div class="txt">
+                                                    <p class="pr_tit">볼패딩 푸퍼점퍼 T204JP060P 볼패딩 푸퍼점퍼 T204JP060P</p>
+                                                    <p class="price"><span>25,410</span>원</p>
+                                                </div>
+                                            </a>
+                                        </li>
+                                        <li>
+                                            <a href="">
+                                                <div class="img">
+                                                    <img src="/images/pc/thumb/dp_exhibition_pr02.jpg" alt="테이퍼드 M톤 기모 데님 팬츠">
+                                                </div>
+                                                <div class="txt">
+                                                    <p class="pr_tit">테이퍼드 M톤 기모 데님 팬츠</p>
+                                                    <p class="price"><span>25,410</span>원</p>
+                                                </div>
+                                            </a>
+                                        </li>
+                                        <li>
+                                            <a href="">
+                                                <div class="img">
+                                                    <img src="/images/pc/thumb/dp_exhibition_pr03.jpg" alt="패딩 리버서블 FLEECE  점퍼">
+                                                </div>
+                                                <div class="txt">
+                                                    <p class="pr_tit">패딩 리버서블 FLEECE  점퍼</p>
+                                                    <p class="price"><span>25,410</span>원</p>
+                                                </div>
+                                            </a>
+                                        </li>
+                                    </ul>
+                                </div>
+                            </div>
+                            <div class="exhi_item">
+                                <div class="exhi_item_img">
+                                    <a href="">
+                                        <img src="/images/pc/thumb/tmp_pdLookbook1.jpg" alt="">
+                                        <div class="exhi_detail">
+                                            <p class="brand">TBJ 외</p>
+                                            <h3 class="tit">ATTENTION! 20FW HOLIDAY TBJ 주목할 홀리데이 TBJ 컬렉션 ATTENTION! 20FW HOLIDAY TBJ 주목할 홀리데이 TBJ 컬렉션</h3>
+                                            <p class="sale">신상 15%쿠폰할인</p>
+                                        </div>
+                                    </a>
+                                </div>
+                                <div class="exhi_item_pr">
+                                    <ul class="prod_list clear">
+                                        <li>
+                                            <a href="">
+                                                <div class="img">
+                                                    <img src="/images/pc/thumb/dp_exhibition_pr01.jpg" alt="볼패딩 푸퍼점퍼">
+                                                </div>
+                                                <div class="txt">
+                                                    <p class="pr_tit">볼패딩 푸퍼점퍼 T204JP060P 볼패딩 푸퍼점퍼 T204JP060P</p>
+                                                    <p class="price"><span>25,410</span>원</p>
+                                                </div>
+                                            </a>
+                                        </li>
+                                        <li>
+                                            <a href="">
+                                                <div class="img">
+                                                    <img src="/images/pc/thumb/dp_exhibition_pr02.jpg" alt="테이퍼드 M톤 기모 데님 팬츠">
+                                                </div>
+                                                <div class="txt">
+                                                    <p class="pr_tit">테이퍼드 M톤 기모 데님 팬츠</p>
+                                                    <p class="price"><span>25,410</span>원</p>
+                                                </div>
+                                            </a>
+                                        </li>
+                                        <li>
+                                            <a href="">
+                                                <div class="img">
+                                                    <img src="/images/pc/thumb/dp_exhibition_pr03.jpg" alt="패딩 리버서블 FLEECE  점퍼">
+                                                </div>
+                                                <div class="txt">
+                                                    <p class="pr_tit">패딩 리버서블 FLEECE  점퍼</p>
+                                                    <p class="price"><span>25,410</span>원</p>
+                                                </div>
+                                            </a>
+                                        </li>
+                                    </ul>
+                                </div>
+                            </div>
+                            <div class="exhi_item">
+                                <div class="exhi_item_img">
+                                    <a href="">
+                                        <img src="/images/pc/thumb/tmp_pdLookbook1.jpg" alt="">
+                                        <div class="exhi_detail">
+                                            <p class="brand">TBJ 외</p>
+                                            <h3 class="tit">ATTENTION! 20FW HOLIDAY TBJ 주목할 홀리데이 TBJ 컬렉션 ATTENTION! 20FW HOLIDAY TBJ 주목할 홀리데이 TBJ 컬렉션</h3>
+                                            <p class="sale">신상 15%쿠폰할인</p>
+                                        </div>
+                                    </a>
+                                </div>
+                                <div class="exhi_item_pr">
+                                    <ul class="prod_list clear">
+                                        <li>
+                                            <a href="">
+                                                <div class="img">
+                                                    <img src="/images/pc/thumb/dp_exhibition_pr01.jpg" alt="볼패딩 푸퍼점퍼">
+                                                </div>
+                                                <div class="txt">
+                                                    <p class="pr_tit">볼패딩 푸퍼점퍼 T204JP060P 볼패딩 푸퍼점퍼 T204JP060P</p>
+                                                    <p class="price"><span>25,410</span>원</p>
+                                                </div>
+                                            </a>
+                                        </li>
+                                        <li>
+                                            <a href="">
+                                                <div class="img">
+                                                    <img src="/images/pc/thumb/dp_exhibition_pr02.jpg" alt="테이퍼드 M톤 기모 데님 팬츠">
+                                                </div>
+                                                <div class="txt">
+                                                    <p class="pr_tit">테이퍼드 M톤 기모 데님 팬츠</p>
+                                                    <p class="price"><span>25,410</span>원</p>
+                                                </div>
+                                            </a>
+                                        </li>
+                                        <li>
+                                            <a href="">
+                                                <div class="img">
+                                                    <img src="/images/pc/thumb/dp_exhibition_pr03.jpg" alt="패딩 리버서블 FLEECE  점퍼">
+                                                </div>
+                                                <div class="txt">
+                                                    <p class="pr_tit">패딩 리버서블 FLEECE  점퍼</p>
+                                                    <p class="price"><span>25,410</span>원</p>
+                                                </div>
+                                            </a>
+                                        </li>
+                                    </ul>
+                                </div>
+                            </div>
+                        </div>
+                    </div>
+                </div>
+		    </div>
+        </div>
+    </div>
+	<!-- // container -->	
+
+<script th:inline="javascript">
+
+</script>
+
+</th:block>
+
+</body>
+</html>

+ 1 - 0
src/main/webapp/ux/style24_link.js

@@ -50,6 +50,7 @@ const _PAGE_MYPAGE_SECEDE = _frontUrl + "/mypage/customer/secede/form";			// 마
 //== 검색 ==/
 
 //== 기획전 ==/
+const _PAGE_PLANNING_MAIN = _frontUrl + "/planning/main/form"; 					// 기획전 메인
 
 //== 고객센터 ==/
 const _PAGE_FAQ = _frontUrl + "/callcenter/faq/form";									// 고객센터 > FAQ