Преглед изворни кода

Merge remote-tracking branch 'origin/develop' into xodud1202

xodud1202 пре 5 година
родитељ
комит
4110d67d47

+ 22 - 10
src/main/java/com/style24/front/biz/service/TsfGoodsService.java

@@ -3,14 +3,6 @@ package com.style24.front.biz.service;
 import java.util.ArrayList;
 import java.util.Collection;
 
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-import com.style24.core.support.env.TscConstants;
-import com.style24.front.biz.dao.TsfGoodsDao;
-import com.style24.front.support.security.session.TsfSession;
 import com.style24.persistence.domain.CardPromotion;
 import com.style24.persistence.domain.Cate4Srch;
 import com.style24.persistence.domain.Delivery;
@@ -22,11 +14,21 @@ import com.style24.persistence.domain.GoodsNotiInfo;
 import com.style24.persistence.domain.GoodsSafeNo;
 import com.style24.persistence.domain.GoodsStock;
 import com.style24.persistence.domain.GoodsViewHst;
+import com.style24.persistence.domain.GoodsSearch;
 import com.style24.persistence.domain.Measurement;
 import com.style24.persistence.domain.Notice;
 import com.style24.persistence.domain.ReinboundInform;
 import com.style24.persistence.domain.SizeInfo;
 import com.style24.persistence.domain.VideoDisploc;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import com.style24.core.support.env.TscConstants;
+import com.style24.front.biz.dao.TsfGoodsDao;
+import com.style24.front.biz.dao.TsfDisplayDao;
+import com.style24.front.support.security.session.TsfSession;
 
 import lombok.extern.slf4j.Slf4j;
 
@@ -46,6 +48,9 @@ public class TsfGoodsService {
 	@Autowired
 	private TsfCouponService couponService;
 
+	@Autowired
+	private TsfDisplayDao displayDao;
+
 	/**
 	 * 상품뷰이력 생성
 	 *
@@ -711,8 +716,7 @@ public class TsfGoodsService {
 
 		Collection<Goods> goodsList = new ArrayList<>();
 
-		if (cate.getContentsLoc().equals("SCM002") || cate.getContentsLoc().equals("SBM007") || cate.getContentsLoc().equals("SBM013")
-				|| cate.getContentsLoc().equals("SMM003")) { // 신상품인 경우
+		if (cate.getContentsLoc().equals("SCM002") || cate.getContentsLoc().equals("SBM007") || cate.getContentsLoc().equals("SMM003")) { // 신상품인 경우
 			goodsList = goodsDao.getContentsCategoryGoodsList(cate);
 
 			// 조회된 데이터가 없거나 건수가 20개 미만이면 신규상품(=정상상품) 조회
@@ -734,6 +738,14 @@ public class TsfGoodsService {
 
 			// 추천솔루션 데이터가 없으면 베스트로 등록된 상품 조회
 			goodsList = goodsDao.getContentsCategoryGoodsList(cate);
+		} else if(cate.getContentsLoc().equals("SBM013")){
+			GoodsSearch goodsSearch = new GoodsSearch();
+			goodsSearch.setSiteCd(TscConstants.Site.STYLE24.value());
+			goodsSearch.setCustNo(cate.getCustNo());
+			goodsSearch.setBrandGroupNo(cate.getBrandGroupNo());
+			goodsSearch.setMaxRow(cate.getMaxRow());
+			goodsSearch.setContentsLoc(cate.getContentsLoc());
+			goodsList = displayDao.getCategoryGoodsList(goodsSearch);
 		}else{
 			goodsList = goodsDao.getContentsCategoryGoodsList(cate);
 		}

+ 3 - 4
src/main/java/com/style24/front/biz/service/TsfReviewService.java

@@ -7,11 +7,9 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import com.gagaframework.web.parameter.GagaMap;
 import com.style24.front.biz.dao.TsfReviewDao;
 import com.style24.front.support.security.session.TsfSession;
 import com.style24.persistence.domain.Goods;
-import com.style24.persistence.domain.Order;
 import com.style24.persistence.domain.Review;
 
 import lombok.extern.slf4j.Slf4j;
@@ -153,8 +151,9 @@ public class TsfReviewService {
 	public void saveMypageReview(Review review) {
 		review.setDispYn("Y");
 		review.setDelYn("N");
-		review.setRegNo(review.getCustNo());
-		review.setUpdNo(review.getCustNo());
+		review.setRegNo(TsfSession.getInfo().getCustNo());
+		review.setUpdNo(TsfSession.getInfo().getCustNo());
+		
 		reviewDao.saveMypageReview(review);
 	}
 	

+ 25 - 14
src/main/java/com/style24/front/biz/web/TsfDisplayController.java

@@ -7,6 +7,18 @@ import java.util.HashMap;
 
 import javax.servlet.http.HttpServletResponse;
 
+import com.style24.persistence.domain.BrandGroup;
+import com.style24.persistence.domain.Cate4Srch;
+import com.style24.persistence.domain.Contents;
+import com.style24.persistence.domain.GnbTab;
+import com.style24.persistence.domain.Goods;
+import com.style24.persistence.domain.GoodsSearch;
+import com.style24.persistence.domain.Lookbook;
+import com.style24.persistence.domain.MainLayout;
+import com.style24.persistence.domain.Plan;
+import com.style24.persistence.domain.Popup;
+import com.style24.persistence.domain.Social;
+import com.style24.persistence.domain.Login;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.mobile.device.Device;
@@ -30,17 +42,6 @@ import com.style24.front.biz.service.TsfSocialService;
 import com.style24.front.support.controller.TsfBaseController;
 import com.style24.front.support.security.session.TsfSession;
 import com.style24.persistence.TscPageRequest;
-import com.style24.persistence.domain.BrandGroup;
-import com.style24.persistence.domain.Cate4Srch;
-import com.style24.persistence.domain.Contents;
-import com.style24.persistence.domain.GnbTab;
-import com.style24.persistence.domain.Goods;
-import com.style24.persistence.domain.GoodsSearch;
-import com.style24.persistence.domain.Lookbook;
-import com.style24.persistence.domain.MainLayout;
-import com.style24.persistence.domain.Plan;
-import com.style24.persistence.domain.Popup;
-import com.style24.persistence.domain.Social;
 
 import lombok.extern.slf4j.Slf4j;
 
@@ -87,13 +88,22 @@ public class TsfDisplayController extends TsfBaseController {
 	@GetMapping("/mall/main/form")
 	public ModelAndView mallMain(Device device, @RequestParam HashMap<String, String> paramMap) {
 		ModelAndView mav = new ModelAndView();
+		MainLayout mallMainLayout = new MainLayout();
+		// 로그인 유무 확인 (로그인이 되어 있지 않으면 regNo 를 0으로 장바구니에 저장한다.)
+		Login login = new Login();
+		if(TsfSession.isLogin()) {
+			login = TsfSession.getInfo();
+		} else {
+			login.setCustNo(0);
+		}
+
 		String mainCateNo = "";
 		if (device.isMobile() || "Y".equals(paramMap.get("mobileYn"))) {
 			mainCateNo = "1720";
 		} else {
 			mainCateNo = "1700";
 		}
-		MainLayout mallMainLayout = new MainLayout();
+
 		mallMainLayout.setCateNo(Integer.parseInt(mainCateNo));
 		Collection<MainLayout> mainLayoutCollection = displayService.getMainLayout(mallMainLayout);
 
@@ -112,6 +122,7 @@ public class TsfDisplayController extends TsfBaseController {
 
 			Cate4Srch cate4Srch = new Cate4Srch();
 			cate4Srch.setContentsLoc(contentsLoc);
+			cate4Srch.setCustNo(login.getCustNo());
 			cate4Srch = displayService.getCate4srch(cate4Srch);
 			mainLayout.setCate4Srch(cate4Srch);
 
@@ -253,7 +264,7 @@ public class TsfDisplayController extends TsfBaseController {
 			if ("C".equals(brandMain.getContentsYn())) {
 				if (contentsLoc.equals("SBM013")) {
 					cate4Srch.setBrandGroupNo(brandMain.getBrandGroupNo());
-					cate4Srch.setMaxRow(5);
+					cate4Srch.setMaxRow(50);
 					Collection<Goods> goodsList = goodsService.getContentsCategoryGoodsList(cate4Srch);
 					brandMain.setGoodsList(goodsList);
 				}
@@ -281,7 +292,7 @@ public class TsfDisplayController extends TsfBaseController {
 				plan.setBrandGroupNo(Integer.parseInt(paramMap.get("brandGroupNo")));
 				plan.setMaxRow(6);
 				plan.setFrontGb(TsfSession.getFrontGb());
-				plan.setSiteCd("G000_10");
+				plan.setSiteCd(TscConstants.Site.STYLE24.value());
 				brandMain.setPlanningList(planningService.getPlanningMainList(plan));
 			}
 

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

@@ -160,8 +160,8 @@ public class TsfGoodsController extends TsfBaseController {
 		// 상품 기본정보
 		mav.addObject("goodsInfo", goods);
 		// 상품 네비정보
-		paramsGoods.setCateGb("G032_101"); 		//by item
-		mav.addObject("goodsNavigation", goodsService.getGoodsNavigation(paramsGoods));
+//		paramsGoods.setCateGb("G032_101"); 		//by item
+//		mav.addObject("goodsNavigation", goodsService.getGoodsNavigation(paramsGoods));
 		// 상품 이미지정보
 		mav.addObject("goodsImgList", goodsService.getGoodsImgList(paramsGoods));
 		// 상품 동영상정보

+ 5 - 3
src/main/java/com/style24/front/biz/web/TsfMypageController.java

@@ -17,9 +17,6 @@ import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.servlet.ModelAndView;
 
-import com.gagaframework.web.parameter.GagaMap;
-import com.gagaframework.web.rest.server.GagaResponse;
-import com.gagaframework.web.rest.server.GagaResponseStatus;
 import com.style24.core.biz.service.TscCouponService;
 import com.style24.core.biz.service.TscCustomerService;
 import com.style24.core.biz.service.TscKakaoPayService;
@@ -59,6 +56,10 @@ import com.style24.persistence.domain.WishList;
 
 import lombok.extern.slf4j.Slf4j;
 
+import com.gagaframework.web.parameter.GagaMap;
+import com.gagaframework.web.rest.server.GagaResponse;
+import com.gagaframework.web.rest.server.GagaResponseStatus;
+
 /**
  * 마이페이지 Controller
  * 
@@ -1318,6 +1319,7 @@ public class TsfMypageController extends TsfBaseController {
 	public GagaMap mypageReviewSave(@RequestBody Review review) {
 
 		GagaMap result = new GagaMap();
+		review.setCustNo(TsfSession.getInfo().getCustNo());
 		if(reviewService.reviewDeleteConfirm(review).getCount() > 0) {
 			review.setReviewSq(reviewService.reviewDeleteConfirm(review).getReviewSq());
 		}

+ 2 - 0
src/main/java/com/style24/persistence/domain/GoodsSearch.java

@@ -64,4 +64,6 @@ public class GoodsSearch extends TscBaseDomain {
     private int pageUnit = 10;
     private String sortGb;
 
+    private String contentsLoc;
+    private int maxRow;
 }

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

@@ -151,14 +151,14 @@ public class Plan extends TscBaseDomain {
 	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 float dcRate;				// 할인율
+	private int listPrice;			// 최소 소비자가
+	private int tagPrice;			// tag 가
+	private int currPrice;			// 판매가
 	private String supplyCompCd;		// 업체코드
 	private String supplyCompNm;		// 업체명
 	private String formalGb;			// 정상/이월 여부
-	private String currStockQty;		// 재고
+	private int currStockQty;		// 재고
 	private String pageYn;				// 페이징 사용 여부
 	private String changeGb;			// 순서변경 updown 구분
 	private int stockQtySum;			// 재고

+ 20 - 3
src/main/java/com/style24/persistence/mybatis/shop/TsfDisplay.xml

@@ -690,6 +690,7 @@
 		  AND S.STOCK_QTY > 0 /*재고있는상품*/
 	</select>
 
+	<!-- 카테고리별 상품 총 리스트 -->
 	<select id="getCategoryGoodsList" parameterType="GoodsSearch" resultType="Goods">
 		/* TsfDisplay.getCategoryGoodsList */
 		WITH TAB_GOODS AS (
@@ -721,9 +722,14 @@
 		               , G.LIST_PRICE                                             /*정상가(최초판매가)*/
 		               , G.CURR_PRICE                                             /*현재판매가*/
 		               , G.REG_DT                                                 /*등록일시*/
-		               , ROW_NUMBER() OVER(ORDER BY CG.DISP_ORD
-		                                          , G.REG_DT DESC
-		                                          , G.GOODS_CD) AS NUMB
+		               <choose>
+		                   <when test="contentsLoc == 'SBM013'">
+		               , ROW_NUMBER() OVER(ORDER BY G.REG_DT DESC) 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_GOODS G
 		          JOIN	TB_CATE_GOODS CG ON G.GOODS_CD = CG.GOODS_CD
 		          JOIN	TB_BRAND B ON G.BRAND_CD = B.BRAND_CD AND B.USE_YN = 'Y'
@@ -745,7 +751,9 @@
 		                        AND SITE_CD = #{siteCd}
 		                        AND CATE_GB = 'G032_101' /*BY ITEM*/
 		                        AND CATE_TYPE = 'G031_10'
+		                        <if test="cate1No != null and cate1No != ''">
 		                        AND CATE1_NO = #{cate1No}
+		                        </if>
 		                        <if test="cate2No != null and cate2No != ''">
 		                        AND CATE2_NO = #{cate2No}
 		                        </if>
@@ -759,15 +767,24 @@
 		                        AND CATE5_NO = #{cate5No}
 		                        </if>
 		              )
+		          <if test="brandGroupNo != null and brandGroupNo != ''">
+		          AND BG.BRAND_GROUP_NO = #{brandGroupNo}
+		          </if>
 		          AND G.GOODS_STAT = 'G008_90' /*승인완료상품*/
 		          AND G.SELF_MALL_YN = 'Y' /*몰노출상품*/
 		          AND NOW() BETWEEN G.SELL_STDT AND G.SELL_EDDT /*판매기간*/
 		          AND S.STOCK_QTY > 0 /*재고있는상품*/
+		          <if test="contentsLoc == 'SBM013'">
+		          GROUP BY G.GOODS_CD
+		          </if>
 		          ) G
 		     WHERE  1=1
 		     <if test="pageable != null and pageable.endRow != null and pageable.endRow > 0">
 		     AND  G.NUMB BETWEEN #{pageable.startRow} AND #{pageable.endRow}
 		     </if>
+		     <if test="maxRow != null and maxRow !=''">
+		     AND  G.NUMB <![CDATA[<=]]> #{maxRow}
+		     </if>
 		)
 		, TAB_GOODS_IMG AS (
 		/* 상품의 이미지 */

+ 57 - 14
src/main/webapp/WEB-INF/views/web/display/BrandMainFormWeb.html

@@ -97,7 +97,7 @@
 													<a href="javascript:void(0);" class="itemLink" th:onclick="cfnGoToGoodsDetail([[${goodsData.goodsCd}]], '', '', 'SBM007');">
 														<div class=" itemPic">
 															<img alt="BLUE-a" class=" vLHTC pd_img" th:src="${@environment.getProperty('upload.goods.view') + '/' + goodsData.sysImgNm}">
-															<button type="button" class="itemLike" th:classappend="${goodsData.likeIt}">관심상품 추가</button>
+															<button type="button" class="itemLike" th:classappend="${goodsData.likeIt == 'likeit'}? 'likeit' : ''"  onclick="cfnPutWishList(this);" th:attr="goodsCd=${goodsData.goodsCd}, ithrCd='', contentsLoc='SBM007', planDtlSq=''">관심상품 추가</button>
 														</div>
 														<p class="itemBrand" th:text="${goodsData.brandGroupNm}"></p>
 														<div class=" itemName" th:text="${goodsData.goodsFullNm}"></div>
@@ -166,7 +166,7 @@
 														<div class="shape ranker"><span th:text="${goodsStat.index+1}"></span></div>
 														<div class="itemPic">
 															<img alt="BLACK-a" class="vLHTC pd_img" th:src="${@environment.getProperty('upload.goods.view') + '/' + goodsData.sysImgNm}">
-															<button type="button" class="itemLike" th:classappend="${goodsData.likeIt}">관심상품 추가</button>
+															<button type="button" class="itemLike" th:classappend="${goodsData.likeIt == 'likeit'}? 'likeit' : ''"  onclick="cfnPutWishList(this);" th:attr="goodsCd=${goodsData.goodsCd}, ithrCd='', contentsLoc='SBM008', planDtlSq=''">관심상품 추가</button>
 														</div>
 														<p class="itemBrand" th:text="${goodsData.brandGroupNm}"></p>
 														<div class="itemName" th:text="${goodsData.goodsFullNm}"></div>
@@ -200,9 +200,6 @@
 							<div class="swiper-container">
 								<div class="swiper-wrapper">
 									<th:block th:each="LookbookData, LookbookStat : ${brandMainLayoutData.lookbookList}">
-										<form >
-										</form>
-
 										<div class="swiper-slide">
 											<div class="bt_lb_item">
 												<img class="vLHTC lb_img" th:src="${@environment.getProperty('domain.image')+LookbookData.sysFileNm}" alt="BLUE-a" />
@@ -244,7 +241,7 @@
 												<a href="javascript:void(0);" class="itemLink" th:onclick="cfnGoToGoodsDetail([[${goodsData.goodsCd}]], '', '', 'SBM009');">
 													<div class="itemPic">
 														<img alt="BLACK-a" class=" vLHTC pd_img" th:src="${@environment.getProperty('upload.goods.view') + '/' + goodsData.sysImgNm}">
-														<button type="button" class="itemLike" th:classappend="${goodsData.likeIt}">관심상품 추가</button>
+														<button type="button" class="itemLike" th:classappend="${goodsData.likeIt == 'likeit'}? 'likeit' : ''"  onclick="cfnPutWishList(this);" th:attr="goodsCd=${goodsData.goodsCd}, ithrCd='', contentsLoc='SBM009', planDtlSq=''">관심상품 추가</button>
 													</div>
 													<p class=" itemBrand" th:text="${goodsData.brandGroupNm}">BRAND NAME</p>
 													<div class=" itemName" th:text="${goodsData.goodsFullNm}">남성 로고 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건</div>
@@ -310,9 +307,9 @@
 																			<img alt="BLACK-a" class=" vLHTC pd_img" th:src="${@environment.getProperty('upload.goods.view') + '/' + planningGoods.sysImgNm}">
 																		</div>
 																		<div class="itemName" th:text="${planningGoods.goodsNm}">남성 로고 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건</div>
-																		<p class="itemPrice" th:text="${#numbers.formatInteger(planningGoods.currPrice,1,'COMMA')}">80,100
+																		<p class="itemPrice">[[${#numbers.formatInteger(planningGoods.currPrice,0,'COMMA')} + 원]]
 																			<span class="itemPrice_original" th:text="${#numbers.formatInteger(planningGoods.listPrice,1,'COMMA')}">89,000</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>
+																			<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>
 																	</a>
 																</div>
@@ -330,14 +327,13 @@
 					</div>
 				</th:block>
 
-
 				<!-- brand_product -->
 				<th:block th:if="${contentsLoc=='013'}">
-					<div class="content brand_product" style="display: none;">
+					<div class="content brand_product" th:if="${brandMainLayoutData.goodsList != null and !brandMainLayoutData.goodsList.empty}">
 						<div class="cont_head">
 							<p class="displayH t_c" th:text="${contentsTitle}"></p>
 						</div>
-						<div class="cont_body" th:if="${brandMainLayoutData.goodsList != null}">
+						<div class="cont_body">
 							<div class="itemsGrp">
 								<th:block th:each="goodsData, goodsStat : ${brandMainLayoutData.goodsList}">
 									<div class="item_prod" th:if="${goodsStat.index<5}">
@@ -345,11 +341,11 @@
 											<a href="javascript:void(0);" class="itemLink" th:onclick="cfnGoToGoodsDetail([[${goodsData.goodsCd}]], '', '', 'SBM013');">
 												<div class="itemPic">
 													<img alt="BLACK-a" class=" vLHTC pd_img" th:src="${@environment.getProperty('upload.goods.view') + '/' + goodsData.sysImgNm}">
-													<button type="button" class="itemLike" th:classappend="${goodsData.likeIt}">관심상품 추가</button>
+													<button type="button" class="itemLike" th:classappend="${goodsData.likeIt == 'likeit'}? 'likeit' : ''"  onclick="cfnPutWishList(this);" th:attr="goodsCd=${goodsData.goodsCd}, ithrCd='', contentsLoc='SBM013', planDtlSq=''">관심상품 추가</button>
 												</div>
 												<p class=" itemBrand" th:text="${goodsData.brandGroupNm}"></p>
 												<div class="itemName" th:text="${goodsData.goodsFullNm}"></div>
-												<p class="itemPrice" th:text="${#numbers.formatInteger(goodsData.currPrice,1,'COMMA')}">80,100
+												<p class="itemPrice">[[${#numbers.formatInteger(goodsData.currPrice,0,'COMMA')} + 원]]
 													<span class="itemPrice_original" th:text="${#numbers.formatInteger(goodsData.listPrice,1,'COMMA')}">89,000</span>
 													<span class=" itemPercent" th:if="${goodsData.currPrice != goodsData.listPrice}" th:text="${(goodsData.listPrice == 0 ? 0 : #numbers.formatDecimal((goodsData.listPrice - goodsData.currPrice) / (goodsData.listPrice * 1.0) * 100, 1, 0)) + '%'}">10%</span>
 												</p>
@@ -375,9 +371,56 @@
 						</div>
 					</div>
 				</th:block>
-
 			</th:block>
 		</th:block>
+		<!-- main_tv -->
+		<div class="content wide main_tv">
+			<div class="cont_head">
+				<p class="displayH t_c">TBJ`S TV</p>
+			</div>
+			<div class="cont_body">
+				<div class="slide_wrap">
+					<div class="swiper-container post-tv">
+						<div class="swiper-wrapper">
+							<div class="swiper-slide">
+								<div class="movbox">
+									<iframe width="100%" height="100%" src="https://www.youtube.com/embed/hqryeW6scd0?rel=0" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
+								</div>
+							</div>
+							<div class="swiper-slide">
+								<div class="movbox">
+									<iframe width="100%" height="100%" src="https://www.youtube.com/embed/J7nowE2iTIM?rel=0" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
+								</div>
+							</div>
+							<div class="swiper-slide">
+								<div class="movbox">
+									<iframe width="100%" height="100%" src="https://www.youtube.com/embed/cRiKrFk7FTM?rel=0" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
+								</div>
+							</div>
+							<div class="swiper-slide">
+								<div class="movbox">
+									<iframe width="100%" height="100%" src="https://www.youtube.com/embed/hqryeW6scd0?rel=0" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
+								</div>
+							</div>
+							<div class="swiper-slide">
+								<div class="movbox">
+									<iframe width="100%" height="100%" src="https://www.youtube.com/embed/J7nowE2iTIM?rel=0" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
+								</div>
+							</div>
+							<div class="swiper-slide">
+								<div class="movbox">
+									<iframe width="100%" height="100%" src="https://www.youtube.com/embed/cRiKrFk7FTM?rel=0" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
+								</div>
+							</div>
+						</div>
+						<div class="swiper-button-prev white"></div><!-- 클래스명 white 추가 -->
+						<div class="swiper-button-next white"></div>
+					</div>
+					<div class="swiper-pagination"></div>
+				</div>
+			</div>
+		</div>
+		<!-- //main_tv -->
 	</div>
 </div>
 

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

@@ -113,7 +113,7 @@
 										<div class="swiper-slide">
 											<div class="item_prod">
 												<div class="item_state">
-													<button type="button" class="itemLike" th:classappend="${goodsData.likeIt}">관심상품 추가</button>
+													<button type="button" class="itemLike" th:classappend="${goodsData.likeIt == 'likeit'}? 'likeit' : ''"  onclick="cfnPutWishList(this);" th:attr="goodsCd=${goodsData.goodsCd}, ithrCd='', contentsLoc='SMM003', planDtlSq=''">관심상품 추가</button>
 													<a href="javascript:void(0);" class="itemLink" th:onclick="cfnGoToGoodsDetail([[${goodsData.goodsCd}]], '', '', 'SMM003');">
 														<div class=" itemPic">
 															<img alt="BLUE-a" class=" vLHTC pd_img" th:src="${@environment.getProperty('upload.goods.view') + '/' + goodsData.sysImgNm}">
@@ -204,7 +204,7 @@
 											<div class="swiper-slide">
 												<div class="item_prod">
 													<div class="item_state">
-														<button type="button" class="itemLike" th:classappend="${goodsData.likeIt}">관심상품 추가</button>
+														<button type="button" class="itemLike" th:classappend="${goodsData.likeIt == 'likeit'}? 'likeit' : ''"  onclick="cfnPutWishList(this);" th:attr="goodsCd=${goodsData.goodsCd}, ithrCd='', contentsLoc='SMM006', planDtlSq=''">관심상품 추가</button>
 														<a href="javascript:void(0);" class="itemLink" th:onclick="cfnGoToGoodsDetail([[${goodsData.goodsCd}]], '', '', 'SMM006');">
 															<div class="itemPic">
 																<img alt="" class="pd_img" th:src="${@environment.getProperty('upload.goods.view') + '/' + goodsData.sysImgNm}">
@@ -279,7 +279,7 @@
 												<th:block th:each="goodsData, goodsStat : ${brandPickData.goodsList}">
 													<div class="item_prod" th:if="${goodsStat.count<4}">
 														<div class="item_state">
-															<button type="button" class="itemLike" tabindex="0">관심상품 추가</button>
+															<button type="button" class="itemLike" tabindex="0" th:classappend="${goodsData.likeIt == 'likeit'}? 'likeit' : ''"  onclick="cfnPutWishList(this);" th:attr="goodsCd=${goodsData.goodsCd}, ithrCd='', contentsLoc='SMM007', planDtlSq=''">관심상품 추가</button>
 															<a href="javascript:void(0);" class="itemLink" th:onclick="cfnGoToGoodsDetail([[${goodsData.goodsCd}]], '', '', 'SMM007');">
 																<div class="itemPic">
 																	<img alt="BLACK-a" class=" vLHTC pd_img" th:src="${@environment.getProperty('upload.goods.view') + '/' + goodsData.sysImgNm}">
@@ -366,7 +366,7 @@
 														<div class="swiper-slide">
 															<div class="item_prod">
 																<div class="item_state">
-																	<button type="button" class="itemLike" th:classappend="${goodsData.likeIt}">관심상품 추가</button>
+																	<button type="button" class="itemLike" tabindex="0" th:classappend="${goodsData.likeIt == 'likeit'}? 'likeit' : ''"  onclick="cfnPutWishList(this);" th:attr="goodsCd=${goodsData.goodsCd}, ithrCd='', contentsLoc='SMM009', planDtlSq=''">관심상품 추가</button>
 																	<a href="javascript:void(0);" class="itemLink" th:onclick="cfnGoToGoodsDetail([[${goodsData.goodsCd}]], '', '', 'SMM009');">
 																		<div class="itemPic">
 																			<img alt="" class=" vLHTC pd_img" th:src="${@environment.getProperty('upload.goods.view') + '/' + goodsData.sysImgNm}">

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

@@ -20,7 +20,7 @@
 <th:block layout:fragment="content">
 <div id="container" class="container pd" th:with="imgGoodsUrl=${@environment.getProperty('upload.goods.view')}, uxImgUrl=${@environment.getProperty('domain.uximage')}, imgUrl=${@environment.getProperty('upload.image.view')}">
 <script src="https://developers.kakao.com/sdk/js/kakao.min.js"></script>
-	<th:block th:include="~{web/goods/GoodsIncludeFormWeb :: goodsNaviForm}"></th:block>
+	<!-- <th:block th:include="~{web/goods/GoodsIncludeFormWeb :: goodsNaviForm}"></th:block> -->
 	
 	<div class="wrap">
 		<!-- 상품 대표설명 -->

+ 1 - 0
src/main/webapp/WEB-INF/views/web/goods/GoodsDetailReviewFormWeb.html

@@ -353,6 +353,7 @@
 	<input type="hidden" name="pageSize" value ="20"/>
 	<input type="hidden" name="goodsCd" th:value ="${goodsInfo.goodsCd}"/>
 	<input type="hidden" name="goodsType" th:value ="${goodsInfo.goodsType}"/>
+	<input type="hidden" name="selfGoodsYn" th:value ="${goodsInfo.selfGoodsYn}"/>
 	<input type="hidden" name="reviewScore" />
 	<input type="hidden" name="reviewOption" />
 	<input type="hidden" name="reviewHeight" />

+ 4 - 4
src/main/webapp/WEB-INF/views/web/goods/GoodsIncludeFormWeb.html

@@ -22,7 +22,7 @@
 				<th:block th:if="${goodsNavigation.formalGb == '20'}">
 			<li><a href="javascript:void(0);" onclick="cfnGoToOutletMain('300')" >아울렛</a></li>
 			<li th:if="${goodsNavigation.cate1No}">
-				<a href="javascript:void(0);" th:onclick="cfnGoToCategoryGoodsList('','',[[${goodsNavigation.formalGb}]],[[${goodsNavigation.cate1No}]])" th:text="${goodsNavigation.cate1Nm}">cate</a>
+				<a href="javascript:void(0);" th:onclick="cfnGoToGoodsList('0',[[${goodsNavigation.cateGb}]],[[${goodsNavigation.cate1No}]])" th:text="${goodsNavigation.cate1Nm}">cate</a>
 			</li>
 				</th:block>
 				<th:block th:unless="${goodsNavigation.formalGb == '20'}">
@@ -33,21 +33,21 @@
 				</th:block>
 			<li th:if="${goodsNavigation.cate2No}">
 				<th:block th:if="${goodsNavigation.cate3No}">
-				<a href="javascript:void(0);" th:onclick="cfnGoToCategoryGoodsList('','',[[${goodsNavigation.formalGb}]],[[${goodsNavigation.cate1No}]], [[${goodsNavigation.cate2No}]])"
+				<a href="javascript:void(0);" th:onclick="cfnGoToGoodsList('0',[[${goodsNavigation.cateGb}]],[[${goodsNavigation.cate1No}]], [[${goodsNavigation.cate2No}]])"
 				th:text="${goodsNavigation.cate2Nm}">cate</a>
 				</th:block>
 				<th:block th:unless="${goodsNavigation.cate3No}"><strong th:text="${goodsNavigation.cate2Nm}">cate</strong></th:block>
 			</li>
 			<li th:if="${goodsNavigation.cate3No }">
 				<th:block th:if="${goodsNavigation.cate4No}">
-				<a href="javascript:void(0);" th:onclick="cfnGoToCategoryGoodsList('','',[[${goodsNavigation.formalGb}]],[[${goodsNavigation.cate1No}]], [[${goodsNavigation.cate2No}]], [[${goodsNavigation.cate3No}]])"
+				<a href="javascript:void(0);" th:onclick="cfnGoToGoodsList('0',[[${goodsNavigation.cateGb}]],[[${goodsNavigation.cate1No}]], [[${goodsNavigation.cate2No}]], [[${goodsNavigation.cate3No}]])"
 				th:text="${goodsNavigation.cate3Nm}">cate</a>
 				</th:block>
 				<th:block th:unless="${goodsNavigation.cate4No}"><strong th:text="${goodsNavigation.cate3Nm}">cate</strong></th:block>
 			</li>
 			<li th:if="${goodsNavigation.cate4No }">
 				<th:block th:if="${goodsNavigation.cate5No}">
-				<a href="javascript:void(0);" th:onclick="cfnGoToCategoryGoodsList('','',[[${goodsNavigation.formalGb}]],[[${goodsNavigation.cate1No}]], [[${goodsNavigation.cate2No}]], [[${goodsNavigation.cate3No}]], [[${goodsNavigation.cate4No}]])"
+				<a href="javascript:void(0);" th:onclick="cfnGoToGoodsList('0',[[${goodsNavigation.cateGb}]],[[${goodsNavigation.cate1No}]], [[${goodsNavigation.cate2No}]], [[${goodsNavigation.cate3No}]], [[${goodsNavigation.cate4No}]])"
 				th:text="${goodsNavigation.cate4Nm}">cate</a>
 				</th:block>
 				<th:block th:unless="${goodsNavigation.cate5No}"><strong th:text="${goodsNavigation.cate4Nm}">cate</strong></th:block>

+ 15 - 15
src/main/webapp/WEB-INF/views/web/mypage/MypageReviewCreateFormWeb.html

@@ -430,47 +430,47 @@ var reviewCreate = function () {
 	if($("#reviewForm input[name=weight]").val() == '' || $("#reviewForm input[name=weight]").val() == null){
 		mcxDialog.alert('몸무게를 입력하세요.');
 		return;
-	}
+	} 
 	
 	
 	if(reviewList.sizeGb == 'T' || reviewList.sizeGb == 'B' || reviewList.sizeGb == 'S'){
-		if($('#reviewForm input:radio[name=scoreSize]').prop('checked') == false){
+		if($('#reviewForm input:radio[name=scoreSize]:checked').length == 0){
 			mcxDialog.alert('상품 사이즈를 평가해주세요.');
-			return;
+			return false;
 		}
 		
-		if($('#reviewForm input:radio[name=scoreColor]').prop('checked') == false){
+		if($('#reviewForm input:radio[name=scoreColor]:checked').length == 0){
 			mcxDialog.alert('상품 컬러를 평가해주세요.');
-			return;
+			return false;
 		}
 	}
 	
 	if(reviewList.sizeGb == 'T' || reviewList.sizeGb == 'B'){
-		if($('#reviewForm input:radio[name=scoreFit]').prop('checked') == false){
+		if($('#reviewForm input:radio[name=scoreFit]:checked').length == 0){
 			mcxDialog.alert('상품 핏을 평가해주세요.');
-			return;
+			return false;
 		}
-		if($('#reviewForm input:radio[name=scoreThick]').prop('checked') == false){
+		if($('#reviewForm input:radio[name=scoreThick]:checked').length == 0){
 			mcxDialog.alert('상품 두께감을 평가해주세요.');
-			return;
+			return false;
 		}	
 	}
 	
 	if(reviewList.sizeGb == 'S' ){
-		if($('#reviewForm input:radio[name=scoreWeight]').prop('checked') == false){
+		if($('#reviewForm input:radio[name=scoreWeight]:checked').length == 0){
 			mcxDialog.alert('상품 무게감을 평가해주세요.');
-			return;
+			return false;
 		}
 		
-		if($('#reviewForm input:radio[name=scoreBall]').prop('checked') == false){
+		if($('#reviewForm input:radio[name=scoreBall]:checked').length == 0){
 			mcxDialog.alert('상품 볼넓이를 평가해주세요.');
-			return;
+			return false;
 		}
 	}
-
+	
 	if($('#reviewContent').val().length<10){
 		mcxDialog.alert("리뷰 내용을 10자 이상 입력해주세요.");
-		return;
+		return false;
 	}