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

Merge branch 'develop' of http://112.172.147.34:4936/style24/style24.front.git into develop

gagamel 5 лет назад
Родитель
Сommit
759898936e

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

@@ -130,6 +130,16 @@ public interface TsfPlanningDao {
 	 */
 	Collection<Plan> getPlanImageInfo(Plan plan);
 	
+	/**
+	 * 기획전 템플릿 상품 1열
+	 *
+	 * @param 기획전 번호
+	 * @return
+	 * @author sowon
+	 * @date 2021. 3. 23
+	 */
+	Collection<Plan> getPlanGoods1Info(Plan plan);
+	
 	/**
 	 * 이벤트 갯수 조회
 	 * 

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

@@ -155,6 +155,7 @@ public class TsfPlanningService {
 	 * @since 2021. 3. 22
 	 */
 	public Collection<Plan> getPlanCouponInfo(Coupon coupon) {
+		coupon.setCustNo(TsfSession.getInfo().getCustNo());
 		return planningDao.getPlanCouponInfo(coupon);
 	}
 	
@@ -169,6 +170,18 @@ public class TsfPlanningService {
 	public Collection<Plan> getPlanImageInfo(Plan plan) {
 		return planningDao.getPlanImageInfo(plan);
 	}
+	
+	/**
+	 * 기획전 템플릿 상품1열
+	 *
+	 * @param
+	 * @return
+	 * @author sowon
+	 * @since 2021. 3. 22
+	 */
+	public Collection<Plan> getPlanGoods1Info(Plan plan) {
+		return planningDao.getPlanGoods1Info(plan);
+	}
 
 
 	/**

+ 20 - 18
src/main/java/com/style24/front/biz/web/TsfGoodsController.java

@@ -165,14 +165,14 @@ public class TsfGoodsController extends TsfBaseController {
 			mav.addObject("goodsDealComposeList", goodsService.getGoodsDealComposeList(paramsGoods));
 		} else {
 			if (TscConstants.GoodsType.NORMAL.value().equals(goods.getGoodsType())) {	// 일반상품
-				if ("Y".equals(goods.getSelfGoodsYn())) {  // 자사상품
+				//if ("Y".equals(goods.getSelfGoodsYn())) {  // 자사상품
 					// 상품 옵션1(색상) 정보
 					mav.addObject("goodsOption1List", goodsService.getGoodsOption1List(paramsGoods));
 					// 상품 옵션2(사이즈) 정보
 					mav.addObject("goodsOption2List", goodsService.getGoodsOption2List(paramsGoods));
-				} else {
-					mav.addObject("goodsOptionList", goodsService.getGoodsOptionList(paramsGoods));
-				}
+//				} else {
+//					mav.addObject("goodsOptionList", goodsService.getGoodsOptionList(paramsGoods));
+//				}
 
 //				// 상품 고시정보
 				mav.addObject("goodsNotiList", goodsService.getGoodsNotiList(goods));
@@ -200,8 +200,9 @@ public class TsfGoodsController extends TsfBaseController {
 //
 //		// 상품포인트사용방법
 //		mav.addObject("goodsPointMothod", envsetService.getPointMothod(TscConstants.Site.STYLE24.value())); // A:정액, R:정율
-//		// 상품평노출여부 - 미사용
-//		//mav.addObject("reviewDisplayYn", envsetService.getReviewDisplayYn(TsfConstants.SITE_CD));
+		// 상품평노출여부 
+		//mav.addObject("reviewDisplayYn", envsetService.getGoodsReviewDisplayYn(TscConstants.Site.STYLE24.value()));
+		mav.addObject("reviewDisplayYn", "Y");
 
 		// 베스트 상품평
 		Review review = new Review();
@@ -953,22 +954,23 @@ public class TsfGoodsController extends TsfBaseController {
 		Goods goods = new Goods();
 
 		String ckGoodsCds = GagaCookieUtil.getCookie(TsfSession.getHttpServletRequest(), TsfConstants.CK_PREFIX + "_today_goodsCd");
-		String[] arrGoodsCds = ckGoodsCds.split("\\,");
-		StringBuilder sql = new StringBuilder();
-		if (arrGoodsCds.length > 0) {
-			int idx = 1;
-			for (String goodsCd : arrGoodsCds) {
-				if (!StringUtils.isBlank(goodsCd)) {
-					if (idx > 1) {
-						sql.append("UNION ALL ");
+		if (StringUtils.isNotBlank(ckGoodsCds)) {
+			String[] arrGoodsCds = ckGoodsCds.split("\\,");
+			StringBuilder sql = new StringBuilder();
+			if (arrGoodsCds.length > 0) {
+				int idx = 1;
+				for (String goodsCd : arrGoodsCds) {
+					if (!StringUtils.isBlank(goodsCd)) {
+						if (idx > 1) {
+							sql.append("UNION ALL ");
+						}
+						sql.append("SELECT '").append(goodsCd).append("' AS GOODS_CD, ").append(idx++).append(" AS DISP_ORD FROM DUAL\r\n");
 					}
-					sql.append("SELECT '").append(goodsCd).append("' AS GOODS_CD, ").append(idx++).append(" AS DISP_ORD FROM DUAL\r\n");
 				}
+				goods.setTodayGoodsSql(sql.toString());
+				recentlyGoodsList = goodsService.getRecentlyGoodsList(goods);
 			}
-			goods.setTodayGoodsSql(sql.toString());
-			recentlyGoodsList = goodsService.getRecentlyGoodsList(goods);
 		}
-
 		return recentlyGoodsList;
 	}
 	

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

@@ -107,6 +107,7 @@ public class TsfPlanningController extends TsfBaseController {
 	@GetMapping("/detail/form")
 	@ResponseBody
 	public ModelAndView PlanningDetailForm(@RequestParam(value="planSq") int planSq) throws Exception {
+		
 		ModelAndView mav = new ModelAndView();
 		Plan plan = new Plan();
 		Review review = new Review();
@@ -116,6 +117,8 @@ public class TsfPlanningController extends TsfBaseController {
 		plan.setPlanSq(planSq);
 		review.setPlanSq(planSq);
 		coupon.setPlanSq(planSq);
+		
+		planningService.accessCustGrade(plan);
 		// 이거 access로 옮겨야 하나..?
 		//plan.setSiteCd(TscConstants.Site.STYLE24.value());
 		plan.setFrontGb(TsfSession.getFrontGb());
@@ -145,6 +148,18 @@ public class TsfPlanningController extends TsfBaseController {
 		// 이미지
 		mav.addObject("imageInfo",planningService.getPlanImageInfo(plan));
 		
+		// 상품1열 전시
+		plan.setTmplType("G082_50");
+		mav.addObject("goods1Info",planningService.getPlanGoods1Info(plan));
+		
+		// 상품2열 전시
+		plan.setTmplType("G082_51");
+		mav.addObject("goods2Info",planningService.getPlanGoods1Info(plan));
+		
+		//상품4열 전시
+		plan.setTmplType("G082_52");
+		mav.addObject("goods4Info",planningService.getPlanGoods1Info(plan));
+				
 		// 다른기획전 보기 
 		mav.addObject("planList", planningService.getPlanList(plan));
 //

+ 2 - 1
src/main/java/com/style24/persistence/domain/Goods.java

@@ -99,7 +99,8 @@ public class Goods extends TscBaseDomain {
 	private String soldoutGoodsDisplayYn = "N";	//품절노추여부
 	private int pointUnit = 1;	//포인트단위
 	private String goodsNmFull;	//상품타이틀+ 상품명
-	private String sysImgNm;	//상품이미지
+	private String sysImgNm;	//상품대표이미지
+	private String sysImgNm2;	//상품마우스오버이미지
 	private String logoFileNm;	//브랜드로고이미지
 	private int stockQty;		//재고
 	private String soldoutYn;	//품절여부

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

@@ -235,6 +235,7 @@ public class Plan extends TscBaseDomain{
 		private String brand;				// 기획전 리스트 (브랜드 명 외)
 		private String newPlan;				// 기획전 new 확인
 		private int cnt;					// 기획전 브랜드 카운트;
+		private String brandKnm;
 		
 		private String sysImgNm;			// 상품 이미지
 		// Pagination

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

@@ -79,6 +79,7 @@ public class Review extends TscBaseDomain {
 	private String title;			// 기획전 타이틀
 	private String goodsNm;			// 상품이름
 	private int currPrice;		// 현재가
+	private String fileGb;			// 첨부파일 종류
 	// Masking
 	public String getMaskingCustId() {
 		return (this.custId != null) ?  MaskingUtils.id(this.custId) : this.custId;

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

@@ -291,7 +291,7 @@
 		           , (SELECT MIN_ORD_QTY FROM TB_GOODS WHERE GOODS_CD = O.GOODS_CD ) AS MIN_ORD_QTY
 		      FROM TB_GOODS G
 		      INNER JOIN TB_OPTION O ON G.GOODS_CD = O.GOODS_CD
-		                             AND O.OPT_CD1 = #{colorCd}
+		                             AND O.OPT_CD1 = #{optCd1}
 		                             AND O.DISP_YN = 'Y' 
 		      INNER JOIN VW_STOCK VS ON O.GOODS_CD = VS.GOODS_CD
 		                          AND O.OPT_CD = VS.OPT_CD
@@ -659,7 +659,7 @@
 		                            </if>
 		      INNER JOIN TB_BRAND D ON G.BRAND_CD = D.BRAND_CD
 		                    AND D.USE_YN = 'Y'
-		      INNER JOIN TB_SITE_BRAND SB ON B.BRAND_CD  = SB.BRAND_CD
+		      INNER JOIN TB_SITE_BRAND SB ON D.BRAND_CD  = SB.BRAND_CD
 		                            AND SB.USE_YN = 'Y'
 		                            AND SB.SITE_CD = #{siteCd}
 		      INNER JOIN TB_BRAND_GROUP E ON D.BRAND_GROUP_NO = E.BRAND_GROUP_NO

+ 55 - 3
src/main/java/com/style24/persistence/mybatis/shop/TsfPlanning.xml

@@ -322,12 +322,11 @@
 	
 	<select id="templateDispOrdInfo" parameterType="Plan" resultType="Plan">
 		/* TsfPlanning.templateDispOrdInfo*/
-		SELECT TMPL_TYPE , DISP_ORD 
+		SELECT TMPL_TYPE , DISP_ORD, PLAN_CONT_SQ,TITLE ,LINK_URL ,DISP_YN 
 		FROM TB_PLAN_CONTENTS TPC 
 		WHERE 1=1 
 			AND TPC.PLAN_SQ = #{planSq}
 		    AND TPC.DISP_YN = 'Y'
-		GROUP BY TMPL_TYPE
 		ORDER BY DISP_ORD 
 	</select>
 	
@@ -390,6 +389,7 @@
 					 ,F.SUPPLY_GOODS_CD
 					 ,F.PNT_PRATE
 					 ,F.PNT_MRATE
+					 ,F.FILE_GB
 				  ,(SELECT MAX(SYS_IMG_NM) FROM TB_GOODS_IMG  WHERE GOODS_CD =F.GOODS_CD AND COLOR_CD = F.MAIN_COLOR_CD AND DEFAULT_IMG_YN = 'Y' ) AS SYS_IMG_NM
 				  ,(SELECT MAX(SYS_FILE_NM) FROM TB_REVIEW_ATTACH WHERE REVIEW_SQ =F.REVIEW_SQ ORDER BY FILE_GB , REVIEW_SQ LIMIT 1) AS REVIEW_SYS_IMG
 				  , CASE IFNULL((SELECT COUNT(SYS_IMG_NM) FROM TB_GOODS_IMG  WHERE GOODS_CD = F.GOODS_CD AND COLOR_CD = F.MAIN_COLOR_CD AND DEFAULT_IMG_YN = 'Y' ),0) 
@@ -455,7 +455,9 @@
 					 ,G.SUPPLY_GOODS_CD
 					 ,G.PNT_PRATE
 					 ,G.PNT_MRATE
+					 ,RA.FILE_GB
 				FROM TB_REVIEW R LEFT JOIN TB_GOODS G ON R.GOODS_CD = G.GOODS_CD 
+								 LEFT JOIN TB_REVIEW_ATTACH RA ON R.REVIEW_SQ = RA.REVIEW_SQ 
 				WHERE 1=1 
 				 AND R.DEL_YN = 'N'
 				 AND R.DISP_YN = 'Y'
@@ -482,7 +484,7 @@
 	<select id="getPlanCouponInfo" parameterType="Coupon" resultType="Coupon">
 		/* TsfPlanning.templateDispOrdInfo*/
 		SELECT F.*
-		      ,(CASE F.CPN_ID WHEN (SELECT CPN_ID FROM TB_CUST_COUPON C WHERE C.CPN_ID = F.CPN_ID )THEN '받기완료'
+		      ,(CASE F.CPN_ID WHEN (SELECT CPN_ID FROM TB_CUST_COUPON C WHERE C.CPN_ID = F.CPN_ID AND CUST_NO = #{custNo})THEN '받기완료'
 		        ELSE '쿠폰받기' END ) AS COUPON_STAT
 		FROM
 		(
@@ -559,5 +561,55 @@
 		 AND PC.PLAN_SQ = #{planSq}
 		 AND PC.DISP_YN = 'Y'
 	</select>
+	
+	<!-- 기획전 상품 1열 전시 -->
+	<select id="getPlanGoods1Info" parameterType="Plan" resultType="Plan">
+		/* TsfPlanning.getPlanGoods1Info */
+		SELECT Z.*
+		      , (CASE WHEN Z.GOODS_TYPE = 'G056_N' THEN (SELECT IFNULL(SUM(CURR_STOCK_QTY - BASE_STOCK_QTY),0) FROM VW_STOCK WHERE GOODS_CD = Z.GOODS_CD) 
+					ELSE (SELECT IFNULL(SUM(CURR_STOCK_QTY - BASE_STOCK_QTY),0) FROM VW_STOCK_COMPOSE WHERE GOODS_CD = Z.GOODS_CD) 
+					END) AS STOCK_QTY_SUM
+			  , (SELECT MAX(SYS_IMG_NM) FROM TB_GOODS_IMG  WHERE GOODS_CD = Z.GOODS_CD AND DEFAULT_IMG_YN = 'Y' ) AS SYS_IMG_NM
+		FROM
+		(
+			SELECT PC.PLAN_CONT_SQ
+			      ,PC.PLAN_SQ
+			      ,PC.TMPL_TYPE
+			      ,PC.TITLE
+			      ,PC.LINK_URL
+			      ,PC.DISP_YN
+			      ,PC.DISP_ORD
+			      ,PCI.PLAN_CONT_ITEM_SQ
+			      ,PCI.ITEM_VAL
+			      ,G.GOODS_CD 
+			      ,G.GOODS_TYPE 
+			      ,G.GOODS_NM 
+			      ,G.LIST_PRICE 
+			      ,G.CURR_PRICE                                                                 
+			      ,G.DC_RATE
+			      ,CASE G.FORMAL_GB WHEN 'G009_20' THEN '이월' ELSE '정상' END AS FORMAL_GB                                                                 
+				  ,G.SEASON_CD       
+				  , (SELECT SUPPLY_COMP_NM
+				 	 FROM   TB_SUPPLY_COMPANY
+				     WHERE  SUPPLY_COMP_CD = G.SUPPLY_COMP_CD
+					) AS SUPPLY_COMP_NM                                                           
+				  ,G.ERP_STOCK_LINK_YN                                                          
+				  ,G.ERP_PRICE_LINK_YN                                                                                                                  
+				  ,G.NEW_CUST_ORD_YN                                                            
+				  ,G.DELV_FEE_CD                                                                
+				  ,G.FRST_CFRM_DT                  
+				  ,G.PRICE_UPD_DT 
+				  ,B.BRAND_ENM 
+		  		  ,B.BRAND_KNM          
+			FROM TB_PLAN_CONTENTS PC INNER JOIN TB_PLAN_CONTENTS_ITEM PCI ON PC.PLAN_CONT_SQ = PCI.PLAN_CONT_SQ 
+									 INNER JOIN TB_GOODS G ON PCI.ITEM_VAL = G.GOODS_CD 
+									 INNER JOIN TB_BRAND B ON G.BRAND_CD = B.BRAND_CD
+                         					AND B.USE_YN = 'Y'	
+			WHERE 1=1
+			 AND PC.TMPL_TYPE = #{tmplType}
+			 AND PC.PLAN_SQ = #{planSq}
+			 AND PC.DISP_YN = 'Y'
+		 )Z
+	</select>
 
 </mapper>

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

@@ -310,7 +310,7 @@
 							</div>
 							<div class="exinfo_box">
 								<ul>
-									<li>
+									<li th:if="${reviewDisplayYn == 'Y'}">
 										<div class="ex_review">
 											<a href="javascript:void(0);" id="btn_pdReview_pop" th:onclick="cfGoodsReview([[${goodsInfo.goodsCd}]])">	
 												<span class="tit">리뷰<em class="number">(
@@ -896,13 +896,19 @@
 				return false;
 			}
 		}else{
-			// 세트작업시 작업요망 eskim
-			/* var targetSize=$('.sizelist').length;	//구성품 갯수;
-			var itemSize = $('.option').find('.item').find('input[type=radio]:checked').length;	//사이즈 선택 상품수
-			if (targetSize > itemSize){
-				mcxDialog.alert("구성상품들의 사이즈를 선택하세요.");
+			let target=$('.select_custom.item_opt2');
+			let targetSize = target.length;	//구성품 갯수
+			let itemSize = 0;
+			target.each(function(){
+				if (typeof ($(this).find('.select').find('input[name=opt2]').val()) != 'undefined' &&  !gagajf.isNull($(this).find('.select').find('input[name=opt2]').val())){
+					itemSize ++;
+				}
+			});
+			
+			if (targetSize != itemSize){
+				mcxDialog.alert("구성상품들의 옵션을 선택하세요.");
 				return false;
-			} */
+			}
 		}
 
 		let $obj = $(obj);
@@ -933,13 +939,20 @@
 				return false;
 			}
 		}else{
-			// 세트작업시 작업요망 eskim
-			/* var targetSize=$('.sizelist').length;	//구성품 갯수;
-			var itemSize = $('.option').find('.item').find('input[type=radio]:checked').length;	//사이즈 선택 상품수
-			if (targetSize > itemSize){
-				mcxDialog.alert("구성상품들의 사이즈를 선택하세요.");
+			
+			let target=$('.select_custom.item_opt2');
+			let targetSize = target.length;	//구성품 갯수
+			let itemSize = 0;
+			target.each(function(){
+				if (typeof ($(this).find('.select').find('input[name=opt2]').val()) != 'undefined' &&  !gagajf.isNull($(this).find('.select').find('input[name=opt2]').val())){
+					itemSize ++;
+				}
+			});
+			
+			if (targetSize != itemSize){
+				mcxDialog.alert("구성상품들의 옵션을 선택하세요.");
 				return false;
-			} */
+			}
 		}
 
 		//let f = document.cartForm;
@@ -1046,7 +1059,6 @@
 			obj.optCd = $("#cartForm  input[name=optCd]").val();
 			obj.goodsQty = $("#cartForm  input[name=ordQty]").val();
 			obj.goodsType = $("#cartForm  input[name=goodsType]").val();
-			//obj.dealGoodsCd = $("#cartForm  input[name=goodsType]").val();
 			obj.cartGb = btnType;
 			obj.afLinkCd =$("#cartForm  input[name=afLinkCd]").val();
 			obj.ithrCd =$("#cartForm  input[name=ithrCd]").val();
@@ -1055,31 +1067,39 @@
 			params.push(obj);
 
 		}else if (goodsType == 'G056_S'){  //수정요
-			alert("작업필요");
-/* 			var target=$('.sizelistCart');
-			var targetSize=target.length;
-			var itemSize = target.find('.item').find('input[type=radio]:checked').length;
+		
+			let target=$('.select_custom.item_opt2');
+			let targetSize = target.length;	//구성품 갯수
+			let itemSize = 0;
+			target.each(function(){
+				if (typeof ($(this).find('.select').find('input[name=opt2]').val()) != 'undefined' &&  !gagajf.isNull($(this).find('.select').find('input[name=opt2]').val())){
+					itemSize ++;
+				}
+			});
+			
 			if (targetSize != itemSize){
-				mcxDialog.alert("구성상품들의 사이즈를 선택하세요.");
+				mcxDialog.alert("구성상품들의 옵션을 선택하세요.");
 				return false;
 			}
-
-			target.find('.item').find('input[type=radio]:checked').each(function() {
-
-				var arrInfo = $(this).val().split('|');	// 상품코드|사이즈|구성수량
-
+			
+			target.each(function() {
+				var arrInfo = $(this).find('input[name=opt2]').val().split('|');	// 상품코드|사이즈|구성수량
+				
 				var obj = new Object();
-				obj.btnType = btnType;
+				obj.cartGb = btnType;
 				obj.goodsType = $("#cartForm  input[name=goodsType]").val();
 				obj.goodsCd = $("#cartForm  input[name=goodsCd]").val();
 				obj.itemCd = arrInfo[0];
-				obj.sizeCd = arrInfo[1];
+				obj.optCd = arrInfo[1];
 				obj.goodsQty = $("#cartForm  input[name=ordQty]").val();
-				obj.itemQty = Number(arrInfo[2]);
-				obj.planDtlSq =$("#cartForm  input[name=planDtlSq]").val();
+				//obj.itemQty = Number(arrInfo[2]);
+				obj.afLinkCd =$("#cartForm  input[name=afLinkCd]").val();
+				obj.ithrCd =$("#cartForm  input[name=ithrCd]").val();
+				obj.contentsLoc =$("#cartForm  input[name=contentsLoc]").val();
+				obj.planDtlSq = $("#cartForm  input[name=planDtlSq]").val();
 				params.push(obj);
-
-			}); */
+				
+			});
 		}
 		
 		// 장바구니담기
@@ -1182,7 +1202,6 @@
 				}
 			}
 			
-			
 		});
 		
 	}
@@ -1205,25 +1224,25 @@
 		params.goodsOtherGb = "tmtb";
 		params.ithrCd = "tmtb";
 		params.contentsLoc = "tmtb";
-//		fnGoodsTmtbSearch(params);
+		fnGoodsTmtbSearch(params);
 		
 		// 함께본 상품(ajax html)
 		params.goodsOtherGb = "together";
 		params.ithrCd = "tmtb";
 		params.contentsLoc = "tmtb";
-		//		fnGoodsTogetherSearch(params);
+		fnGoodsTogetherSearch(params);
 		
 		// 추천 상품(ajax html)
 		params.goodsOtherGb = "recommend";
 		params.ithrCd = "tmtb";
 		params.contentsLoc = "tmtb";
-		//		fnGoodsRecommendSearch(params);
+		fnGoodsRecommendSearch(params);
 		
 		// 비슷한 상품(ajax html)
 		params.goodsOtherGb = "like";
 		params.ithrCd = "tmtb";
 		params.contentsLoc = "tmtb";
-		//		fnGoodsLikeSearch(params);
+		fnGoodsLikeSearch(params);
 	
 		
 		// 상품 대표설명 > 좌측 상품썸네일 navi, 우측 상품정보 고정 
@@ -1394,18 +1413,6 @@
 			},
 		});			
 		
-
-		//alert -쇼핑백담기
-		/* document.getElementById("btn_add_cart").onclick = function(){
-			mcxDialog.confirm("<div class="+"dialog-title"+">"+"상품이 쇼핑백에 추가되었습니다.</div><p>쇼핑백으로 이동하시겠습니까?</p>", {
-				cancelBtnText: "계속 쇼핑하기",
-				sureBtnText: "쇼핑백 가기",
-				sureBtnClick: function(){
-					location.href=''; 	//내 쇼핑백 이동url
-				}
-			});
-		}; */
-		
 		fnOptionSoldout();
 		
 		// 광고 스크립트용

+ 6 - 2
src/main/webapp/WEB-INF/views/web/mypage/MypageCouponFormWeb.html

@@ -23,7 +23,12 @@
 			<!-- 페이지특정 클래스 = myCoupon -->
 			<div class="cont_body">
 				<div class="lnb">
-					<!-- 마이페이지 lnb 영역 -->
+					<div class="lnb_tit">
+					<h2>마이페이지</h2>
+					</div>
+					<div class="lnb_list">
+						<ul id="mypageLnbList"></ul>
+					</div>
 				</div>
 				<div class="cont my_cont">
 					<div class="sec_head">
@@ -119,7 +124,6 @@
 			</div>
 		</div>
 		<!-- // CONT-BODY -->
-
 		<!-- 쿠폰 사용 내역 팝업 -->
 		<div class="modal fade dp_coupon_pop"  id="coupon_modal_02" tabindex="-1" role="dialog"	aria-labelledby="PopupBasicLabel" aria-hidden="true"></div>
 

+ 11 - 3
src/main/webapp/WEB-INF/views/web/mypage/MypageGiftcardFormWeb.html

@@ -19,12 +19,18 @@
 
 	<th:block layout:fragment="content">
 		<!--  container -->
-		<div class="content myVoucher">
+	<div class="content myVoucher">
+		<div class="cont_body">
 			<!-- 페이지특정 클래스 = myVoucher -->
 			<div class="cont_body">
-			<div class="lnb">
-						<!-- 마이페이지 lnb 영역 -->
+				<div class="lnb">
+							<div class="lnb_tit">
+						<h2>마이페이지</h2>
 					</div>
+					<div class="lnb_list">
+						<ul id="mypageLnbList"></ul>
+					</div>
+				</div>
 				<div class="cont">
 					<div class="sec_head">
 						<h3 class="subH1">상품권</h3>
@@ -113,6 +119,8 @@
 			</div>
 		</div>
 		<!-- // CONT-BODY -->
+		</div>
+	</div>
 <script th:inline="javascript">
 	var date = new Date();
 	var year = date.getFullYear();

+ 196 - 4
src/main/webapp/WEB-INF/views/web/planning/PlanningDetailFormWeb.html

@@ -46,7 +46,28 @@
 								<!-- 상단배너 -->
 							</div>
 							<th:block th:each="a, template : ${templateOrd}">
-								<div class="coner_item01" th:id="${a.tmplType}"></div>
+							<th:block th:if="${a.tmplType == 'G082_10'}">
+									<div class="coner_item01" th:id="${a.tmplType + a.planContSq}"></div>
+								</th:block>
+							<th:block th:if="${a.tmplType == 'G082_20'}">
+									<div class="coner_item01" th:id="${a.tmplType + a.planContSq}"></div>
+								</th:block>
+							<th:block th:if="${a.tmplType == 'G082_30'}">
+									<div class="coner_item01" th:id="${a.tmplType + a.planContSq}"></div>
+								</th:block>
+							<th:block th:if="${a.tmplType == 'G082_40'}">
+									<div class="coner_item01" th:id="${a.tmplType + a.planContSq}"></div>
+								</th:block>
+								<th:block th:if="${a.tmplType == 'G082_50'}">
+									<div class="coner_item01" th:id="${a.tmplType + a.planContSq}"></div>
+								</th:block>
+								<th:block th:if="${a.tmplType == 'G082_51'}">
+									<div class="coner_visual dp_recommend_item" th:id="${a.tmplType + a.planContSq}"></div>
+								</th:block>
+								<th:block th:if="${a.tmplType == 'G082_52'}">
+									<div class="coner_item01" th:id="${a.tmplType + a.planContSq}"></div>
+								</th:block>
+								
 							</th:block>
 							<div class="coner_front">
 								<div class="promotion_visual" th:if="${fsrcInfoBtm != null}" th:utext="${fsrcInfoBtm.fsrcPc}"></div>
@@ -195,6 +216,12 @@ let review = [[${reviewInfo}]];
 let coupon = [[${couponInfo}]];
 let plan = [[${planInfo}]];
 let image = [[${imageInfo}]];
+let goods1 = [[${goods1Info}]];
+let goods2 = [[${goods2Info}]];
+let goods4 = [[${goods4Info}]];
+let template =[[${templateOrd}]];
+let _mall = [[${@environment.getProperty('domain.front')}]];
+
 
 if(review != null || review != ''){
 		
@@ -213,9 +240,11 @@ if(review != null || review != ''){
 		html += '					<a href="javascript:void();" onclick="fnPlanReviewDetail(\''+review[i].reviewSq+'\');">';
 		html += '						<div class="lap">';
 		html += '							<div class="pic">';
-		html += '								<span class="thumb"';
-		html += '									style="background-image: url('+ _imgUrl +'/'+review[i].reviewSysImg +');"></span>';
-		html += '								<!-- 동영상의 썸네일일 경우 mov 클래스 추가 -->';
+		if (review[i].fileGb == 'M') { 
+			html += '								<span class="thumb mov" style="background-image: url('+ _imgUrl +'/'+review[i].reviewSysImg +');"></span>';	
+		}else{
+			html += '								<span class="thumb" style="background-image: url('+ _imgUrl +'/'+review[i].reviewSysImg +');"></span>';			
+		}
 		html += '							</div>';
 		html += '							<div class="info">';
 		html += '								<div>';
@@ -357,7 +386,143 @@ if(image != null || image != ''){
 	
 	$("#G082_30").append(html);
 }
+
+if(goods1 != null || goods1 != ''){
+	var array = [];
+
+	for (var j = 0; j < template.length; j++) {
+		if(template[j].tmplType == 'G082_50'){
+			array.push(goods1[j].planContSq);
+		}
+		
+	}	
 	
+	for (var i = 0; i < template.length; i++) {
+		var html = '';
+		
+		if(template[i].tmplType == 'G082_50' && array[0] == template[i].planContSq && typeof array[0] != 'undefined'){
+			html += '<div class="dp_listItems_wrap"> ';
+			html += '    <div>';
+			if (template[i].linkUrl != null) { /* 링크 변경 예정 */
+				html += '        <a href="http://'+template[i].linkUrl+'" target="_blank">'+template[i].title+'</a>';
+			}else{
+				html += '        <a href="javascript:void(0)">'+template[i].title+'</a>';
+			}
+			
+			html += '    </div>';
+			html += '    <div class="dp_listItems_cont">';
+			html += '        <ul>';
+			
+			for (var j = 0; j < goods1.length; j++) {
+				if (goods1[j].planContSq == template[i].planContSq) {
+					html += '            <li>';
+					html += '                <div class="dp_listItems">';
+					html += '                    <div class="dp_listItems_img">';
+					html += '                        <img src="'+ _imgUrl +'/'+goods1[j].sysImgNm +'" alt="">';
+					html += '                    </div>';
+					html += '                    <div class="dp_listItems_info">';
+					html += '                        <div class="dp_listItems_brand">'+goods1[j].brandKnm+'</div>';
+					html += '                        <div class="dp_listItems_name">'+goods1[j].goodsNm+'</div>';
+					html += '                        <div class="dp_listItems_price">';
+					html += '                            <span class="price">'+goods1[j].currPrice+'</span>';
+					if (goods1[j].currPrice != goods1[j].listPrice) {
+						html += '                            <del>'+goods1[j].listPrice+'</del>';
+						html += '                            <span class="percent">'+goods1[j].dcRate+'</span>';
+					}
+					
+					html += '                        </div>';
+					//html += '                        <div class="itemComment">#주문 폭주 상품</div>';
+					html += '                        <div class="ui_row">';
+					html += '                            <button type="button" class="btn btn_default" onclick="location.href=\''+_mall+'/goods/detail/form?goodsCd='+goods1[j].goodsCd+'\'"><span>자세히 보기</span></button>';
+					html += '                        </div>';
+					html += '                    </div>';
+					html += '                </div>';
+					html += '            </li>';
+						
+				}
+			}
+			html += '        </ul>';
+			html += '    </div>';
+			html += '</div>';
+			$("#G082_50" +array[0]).append(html);
+		}
+		
+		if($("#G082_50" +template[i].planContSq).length){
+			array.shift();
+		}
+	}
+
+}
+	
+if(goods2 != null || goods2 != ''){
+	var array = [];
+
+	for (var j = 0; j < template.length; j++) {
+		if(template[j].tmplType == 'G082_51'){
+			array.push(template[j].planContSq);
+		}
+	}	
+	for (var i = 0; i < template.length; i++) {
+		var html = '';
+		
+		if(template[i].tmplType == 'G082_51' && array[0] == template[i].planContSq && typeof array[0] != 'undefined'){
+			//html+='<div class="coner_visual dp_recommend_item">';
+			html+='    <div class="dp_banner_slide">';
+			html+='        <div class="slide_head">';
+			if (template[i].linkUrl != null) { /* 링크 변경 예정 */
+				html+='            <a href="http://'+template[i].linkUrl+'" target="_blank">'+template[i].title+'</a>';
+			}else{
+				html+='            <a href="javascript:void(0)">'+template[i].title+'</a>';
+			}
+			
+			html+='        </div>';
+			html+='        <div class="swiper-container dp_lookbook_case2">';
+			html+='            <div class="swiper-wrapper ">';
+			
+	  	  for (var j = 0; j < goods2.length; j++) {
+				if (goods2[j].planContSq == template[i].planContSq) {
+					html+='                <div class="swiper-slide">';
+					html+='                    <div class="item_prod">';
+					html+='                        <div class="item_state">';
+					html+='                            <a href="'+_mall+'/goods/detail/form?goodsCd='+goods2[j].goodsCd+'" class="itemLink">';
+					html+='                                <div class="itemPic">';
+					html+='                                    <img alt="BLUE-a" class=" vLHTC pd_img" src="'+ _imgUrl +'/'+goods2[j].sysImgNm +'">';
+					html+='                                </div>';
+					html+='                                <p class="itemBrand">'+goods2[j].brandKnm+'</p>';
+					html+='                                <div class="itemName">'+goods2[j].goodsNm+'</div>';
+					html+='                               <p class="itemPrice">'+goods2[j].currPrice;
+					if (goods2[j].currPrice != goods2[j].listPrice) {
+						html+='                                    <span class="itemPrice_original">'+goods2[j].listPrice+'</span>';
+						html+='                                    <span class=" itemPercent">'+goods2[j].dcRate+'</span>';
+					}
+					
+					html+='                                </p>';
+					//html+='                                <div class="itemComment">#주문 폭주 상품</div>';
+					html+='                            </a>';
+					html+='                        </div>';
+					html+='                    </div>';
+					html+='                </div>                ';
+				}
+			} 
+		 
+			html+='            </div>';
+			html+='        </div>';
+			html+='        <div class="swiper-button-prev "></div>';
+			html+='        <div class="swiper-button-next "></div>';
+			html+='        <div class="swiper-pagination"></div>';
+			html+='    </div>';
+			//html+='</div>';
+			
+			$("#G082_51" +array[0]).append(html);
+		}
+		
+		if($("#G082_51" +template[i].planContSq).length){
+			array.shift();
+		}
+	}
+
+		
+}
 </script>
 		<script type="text/javascript">
 	    // 컨텐츠 호출
@@ -406,6 +571,33 @@ if(image != null || image != ''){
 					prevEl: '.dp_foot_banner .swiper-button-prev',
 				},
 			});
+            var dp_foot_banner_slide = new Swiper ('.dp_foot_banner .swiper-container', {
+                loop: false,
+                slidesPerView: 5,
+                spaceBetween: 20,
+                speed : 800,
+                navigation: {
+                    nextEl: '.dp_foot_banner .swiper-button-next',
+                    prevEl: '.dp_foot_banner .swiper-button-prev',
+                },
+            });
+
+            var dp_foot_banner_slide02 = new Swiper ('.dp_recommend_item .dp_lookbook_case2', {
+                loop: false,
+                slidesPerView: 2,
+                slidesPerGroup: 2,
+                spaceBetween: 0,
+                speed : 800,
+                navigation: {
+                    nextEl: '.dp_recommend_item .swiper-button-next',
+                    prevEl: '.dp_recommend_item .swiper-button-prev',
+                },
+                pagination: {
+                    el: '.dp_recommend_item .swiper-pagination',
+                    clickable: true,
+                },
+            });
+
             
             //내부앵커이동
             $(".bullet_sticky_nav li a").on("click", function(){