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

리뷰 수정, 핫딜 스크롤

sowon4187 преди 5 години
родител
ревизия
89ce17679d

+ 16 - 13
src/main/java/com/style24/front/biz/web/TsfMypageController.java

@@ -1524,10 +1524,10 @@ public class TsfMypageController extends TsfBaseController {
 		review.setSiteCd(TscConstants.Site.STYLE24.value());
 		// 작성가능한 리뷰 카운트
 		review.setReviewExpireDay(eventService.getGoodsReviewRegisterDays(TscConstants.Site.STYLE24.value()));
-		mav.addObject("completeReviewCount", reviewService.getCompleteReviewCount(review));
+		mav.addObject("completeReviewCount", reviewService.getCompleteReviewList(review).size());
 
 		// 작성한 리뷰 카운트
-		mav.addObject("alreadyReviewCount", reviewService.getAlreadyReviewCount(review));
+		mav.addObject("alreadyReviewCount", reviewService.getAlreadyReviewList(review).size());
 
 		// 관리자 댓글확인 
 		mav.addObject("adminCount", reviewService.getAdminConfirmCount(review));
@@ -1557,16 +1557,18 @@ public class TsfMypageController extends TsfBaseController {
 			review.setCustNo(TsfSession.getInfo().getCustNo());
 		}
 		GagaMap result = new GagaMap();
-
+		int reviewExpireDay = eventService.getGoodsReviewRegisterDays(TscConstants.Site.STYLE24.value());
+		review.setReviewExpireDay(reviewExpireDay);
+		result.set("completeReviewCount", reviewService.getCompleteReviewList(review).size());
 		TscPageRequest pageable = new TscPageRequest((review.getPageNo() > 0 ? review.getPageNo() - 1 : 0), review.getPageSize(), review.getPageUnit());
-		pageable.setTotalCount(reviewService.getCompleteReviewCount(review));
+		pageable.setTotalCount(reviewService.getCompleteReviewList(review).size());
 		review.setPageable(pageable);
 		log.info("pageable: {}", pageable);
 		log.info("totalCount {}", pageable.getTotalCount());
-		int reviewExpireDay = eventService.getGoodsReviewRegisterDays(TscConstants.Site.STYLE24.value());
-		review.setReviewExpireDay(reviewExpireDay);
-		result.set("paging", review);
-		result.set("completeReviewCount", reviewService.getCompleteReviewCount(review));
+		
+		result.set("paging1", review);
+		
+		
 		result.set("dataList1", reviewService.getCompleteReviewList(review));
 
 		return result;
@@ -1589,14 +1591,15 @@ public class TsfMypageController extends TsfBaseController {
 		if (TsfSession.isLogin()) {
 			review.setCustNo(TsfSession.getInfo().getCustNo());
 		}
-
-		TscPageRequest pageable2 = new TscPageRequest((review.getPageNo2() > 0 ? review.getPageNo2() - 1 : 0), review.getPageSize2(), review.getPageUnit2());
-		pageable2.setTotalCount(reviewService.getAlreadyReviewCount(review));
-
+		
 		review.setReviewExpireDay(eventService.getGoodsReviewPointExpireDays(TscConstants.Site.STYLE24.value()));
+		result.set("alreadyReviewCount", reviewService.getAlreadyReviewList(review).size());
+		
+		TscPageRequest pageable2 = new TscPageRequest((review.getPageNo2() > 0 ? review.getPageNo2() - 1 : 0), review.getPageSize2(), review.getPageUnit2());
+		pageable2.setTotalCount(reviewService.getAlreadyReviewList(review).size());
 		review.setPageable2(pageable2);
 		result.set("paging2", review);
-		result.set("alreadyReviewCount", reviewService.getAlreadyReviewCount(review));
+		
 		result.set("dataList2", reviewService.getAlreadyReviewList(review));
 
 		return result;

+ 18 - 3
src/main/java/com/style24/front/biz/web/TsfSocialController.java

@@ -6,14 +6,18 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.mobile.device.Device;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.servlet.ModelAndView;
 
+import com.gagaframework.web.parameter.GagaMap;
 import com.style24.core.support.env.TscConstants;
 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.Plan;
 import com.style24.persistence.domain.Social;
 
@@ -65,15 +69,26 @@ public class TsfSocialController extends TsfBaseController {
 	 * @author sowon
 	 * @since 2021. 4. 29
 	 */
-	@GetMapping("/list")
+	@PostMapping("/list")
 	@ResponseBody
-	public Collection<Social> getSocialList(Social social) {
+	public GagaMap getSocialList(@RequestBody Social social) {
+		GagaMap result = new GagaMap();
+		TscPageRequest pageable = new TscPageRequest((social.getPageNo() > 0 ? social.getPageNo() - 1 : 0), social.getPageSize(), social.getPageUnit());
 		social.setFrontGb(TsfSession.getFrontGb());
 		social.setCustGb(TsfSession.getCustGb());
 		social.setSiteCd(TscConstants.Site.STYLE24.value());
+		int totalCnt =  socialService.getSocialGoodsList(social).size();
+		pageable.setTotalCount(totalCnt);
+		social.setPageable(pageable);
 		
+		
+		
+		result.set("paging", social);
+		result.set("totalCnt", totalCnt);
+		result.set("endRow", pageable.getEndRow());
+		result.set("dataList", socialService.getSocialGoodsList(social));
 
-		return socialService.getSocialGoodsList(social);
+		return result;
 	}
 	
 

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

@@ -152,11 +152,11 @@ public class Review extends TscBaseDomain {
 	private TscPageRequest pageable2;
 
 	private int pageNo = 1;							// 페이지번호
-	private int pageSize = 5;						// 페이지목록수
+	private int pageSize = 10;						// 페이지목록수
 	private int pageUnit = 10;						// 페이지번호수
 
 	private int pageNo2 = 1;							// 페이지번호
-	private int pageSize2 = 5;						// 페이지목록수
+	private int pageSize2 = 10;						// 페이지목록수
 	private int pageUnit2 = 10;						// 페이지번호수
 
 }

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

@@ -92,7 +92,7 @@ public class Social extends TscBaseDomain{
 		// Pagination
 		private TscPageRequest pageable;
 		private int pageNo = 1;
-		private int pageSize = 50;
+		private int pageSize = 10;
 		private int pageUnit = 10;
 		
 }

+ 208 - 207
src/main/java/com/style24/persistence/mybatis/shop/TsfReview.xml

@@ -387,8 +387,9 @@
 		   	 , Z.ITEMKIND_CD 
              , Z.SIZE_GB 
              , Z.REMAIN_DT
-             , RANK() OVER(ORDER BY Z.PAY_DT DESC) AS RNUM
+             , ROW_NUMBER() OVER(ORDER BY Z.REG_DT DESC) AS RNUM
 		  FROM (SELECT O.ORD_NO
+		             , O.REG_DT 
 					 , DATE_FORMAT(O.ORD_DT, '%Y.%m.%d') AS ORD_DT
 					 , DATE_FORMAT(O.PAY_DT, '%Y-%m-%d') AS PAY_DT 
 					 , DATE_FORMAT(OD.DELV_EDDT, '%m/%d')								AS DELV_EDDT
@@ -904,212 +905,212 @@
 	<select id="getAlreadyReviewList" parameterType="Review" resultType="Goods">
 		/* TsfReivew.getAlreadyReviewList */
 		<include refid="selectForPagingHeader"/>
-	        SELECT GROUP_CONCAT(Z.ITEM_NM ORDER BY Z.ORD_DTL_ITEM_SQ SEPARATOR '!@!') AS ITEM_NM
-	             , GROUP_CONCAT(Z.COLOR_NM ORDER BY Z.ORD_DTL_ITEM_SQ) AS COLOR_NM
-	             , GROUP_CONCAT(Z.OPT_CD1 ORDER BY Z.ORD_DTL_ITEM_SQ) AS OPT_CD1
-	             , GROUP_CONCAT(Z.OPT_CD2 ORDER BY Z.ORD_DTL_ITEM_SQ) AS OPT_CD2
-	             , GROUP_CONCAT(Z.OPT_CD1_NM ORDER BY Z.ORD_DTL_ITEM_SQ) AS OPT_CD1_NM
-	             , Z.ORD_NO
-	             , Z.ORD_DT
-	             , Z.PAY_DT
-	             , Z.DELV_EDDT
-	             , Z.ORD_DTL_NO
-	             , Z.ORD_EXCH_GB
-	             , Z.GOODS_CD
-	             , Z.GOODS_NM
-	             , Z.LIST_PRICE
-	             , Z.GOODS_TYPE
-	             , Z.SYS_IMG_NM
-	             , Z.ORD_DTL_STAT
-	             , Z.ORD_QTY
-	             , Z.CNCL_RTN_QTY
-	             , Z.ORD_AMT
-	             , Z.REAL_ORD_AMT
-	             , Z.SAVE_PNT_AMT
-	             , Z.CNCL_RTN_AMT
-	             , Z.PNT_DC_AMT
-	             , Z.GFCD_USE_AMT
-	             , Z.INVOICE_NO
-	             , Z.SUPPLY_COMP_CD
-	             , Z.DELV_FEE_CD
-	             , Z.SHOT_DELV_YN
-	             , Z.CHANGEABLE_YN
-	             , Z.RETURNABLE_YN
-	             , Z.SELF_GOODS_YN
-	             , Z.BRAND_NM
-	             , Z.BRAND_ENM
-	             , Z.ORD_DTL_STAT_NM
-	             , Z.ORD_REQ_CHG_QTY
-	             , Z.ORD_CAN_CHG_QTY
-	             , Z.ITEMKIND_NM 
-	             , Z.ITEMKIND_CD 
-	             , Z.SIZE_GB 
-	             , Z.REMAIN_DT
-	             , Z.REVIEW_SQ
-	             , Z.REVIEW_GB
-	             , Z.REVIEW_CONTENT
-	             , Z.SCORE
-	             , Z.HEIGHT
-	             , Z.WEIGHT
-	             , Z.SCORE_SIZE
-	             , Z.SCORE_COLOR
-	             , Z.SCORE_FIT
-	             , Z.SCORE_THICK
-	             , Z.SCORE_WEIGHT
-	             , Z.SCORE_BALL
-	             , Z.GIVE_DUE_PNT
-	             , Z.PNT_GIVE_STAT
-	             , Z.BEST_YN
-	             , Z.GIVE_DUE_BPNT
-	             , Z.BPNT_GIVE_YN
-	             , Z.DISP_YN
-	             , Z.DEL_YN
-	             , Z.CONFIRM_YN
-	             , Z.CONFIRM_UNO
-	             , Z.CONFIRM_DT
-	             , Z.REG_NO
-	             , Z.REG_DT
-	             , Z.UPD_NO
-	             , Z.UPD_DT
-	             , Z.ADM_RPL
-	             , Z.ADM_RPL_REG_NO
-	             , Z.ADM_RPL_DT
-	             , RANK() OVER(ORDER BY Z.PAY_DT DESC) AS RNUM
-	       FROM (SELECT O.ORD_NO
-	                  , DATE_FORMAT(O.ORD_DT, '%Y.%m.%d') AS ORD_DT
-	                  , DATE_FORMAT(O.PAY_DT, '%Y-%m-%d') AS PAY_DT 
-	                  , DATE_FORMAT(OD.DELV_EDDT, '%m/%d')								AS DELV_EDDT
-	                  , OD.ORD_DTL_NO
-	                  , OD.ORD_EXCH_GB
-	                  , OD.GOODS_CD
-	                  , OD.GIFT_ADDR_INP_YN
-	                  , G.GOODS_NM
-	                  , IFNULL((SELECT COLOR_KNM FROM TB_COLOR C WHERE COLOR_CD = IFNULL(NULLIF(ODI.OPT_CD1,'') , G.MAIN_COLOR_CD ) AND USE_YN  = 'Y'), ODI.OPT_CD1) AS COLOR_NM
-	                  , (SELECT GOODS_NM FROM TB_GOODS WHERE GOODS_CD = ODI.ITEM_CD)		AS ITEM_NM
-	                  , ODI.ORD_DTL_ITEM_SQ
-	                  , ODI.OPT_CD1
-	                  , ODI.OPT_CD2
-	                  , IFNULL(C.COLOR_KNM, ODI.OPT_CD1) AS OPT_CD1_NM
-	                  , G.LIST_PRICE
-	                  , G.GOODS_TYPE
-	                  , CASE WHEN G.GOODS_TYPE != 'G056_S' AND G.SELF_GOODS_YN = 'Y' THEN (SELECT MAX(SYS_IMG_NM) FROM TB_GOODS_IMG WHERE GOODS_CD = G.GOODS_CD AND COLOR_CD = ODI.OPT_CD1 AND DEFAULT_IMG_YN = 'Y')
-	                         ELSE (SELECT MAX(SYS_IMG_NM) FROM TB_GOODS_IMG WHERE GOODS_CD = G.GOODS_CD AND COLOR_CD = IFNULL(G.MAIN_COLOR_CD,'XX') AND DEFAULT_IMG_YN = 'Y') END AS SYS_IMG_NM
-	                  , OD.ORD_DTL_STAT
-	                  , OD.ORD_QTY
-	                  , OD.CNCL_RTN_QTY
-	                  , OD.ORD_AMT
-	                  , OD.REAL_ORD_AMT
-	                  , OD.SAVE_PNT_AMT
-	                  , OD.CNCL_RTN_AMT
-	                  , OD.PNT_DC_AMT
-	                  , OD.GFCD_USE_AMT
-	                  , OD.INVOICE_NO
-	                  , OD.SUPPLY_COMP_CD
-	                  , OD.DELV_FEE_CD
-	                  , OD.SHOT_DELV_YN
-	                  , OD.CHANGEABLE_YN
-	                  , OD.RETURNABLE_YN
-	                  , G.SELF_GOODS_YN
-	                  , CONCAT(B.BRAND_ENM, ' ', B.BRAND_KNM)							AS BRAND_NM
-	                  , B.BRAND_ENM
-	                  , FN_GET_CODE_NM('G013', OD.ORD_DTL_STAT)							AS ORD_DTL_STAT_NM
-	                  , IFNULL(OCD.ORD_REQ_CHG_QTY, 0) AS ORD_REQ_CHG_QTY
-	                  , OD.ORD_QTY - OD.CNCL_RTN_QTY - IFNULL(OCD.ORD_REQ_CHG_QTY, 0)    AS ORD_CAN_CHG_QTY
-	                  , I.ITEMKIND_NM 
-	                  , I.ITEMKIND_CD 
-	                  , I.SIZE_GB 
-	                  , R.REVIEW_SQ
-	                  , R.REVIEW_GB
-	                  , R.REVIEW_CONTENT
-	                  , R.SCORE
-	                  , R.HEIGHT
-	                  , R.WEIGHT
-	                  , (CASE R.SCORE_SIZE   WHEN 1 THEN '작음' 
-	                                          WHEN 2 THEN '딱맞음'
-	                                         WHEN 3 THEN '큼'
-	                                                            END) AS SCORE_SIZE
-	                  , (CASE R.SCORE_COLOR  WHEN 1 THEN '밝음' 
-	                                         WHEN 2 THEN '똑같음'
-	                                         WHEN 3 THEN '어두움'   
-	                                                            END) AS SCORE_COLOR
-	                  , (CASE R.SCORE_FIT    WHEN 1 THEN '슬림' 
-	                                         WHEN 2 THEN '레귤러' 
-	                                         WHEN 3 THEN '오버' 
-	                                                            END) AS SCORE_FIT
-	                  , (CASE R.SCORE_THICK  WHEN 1 THEN '얇음' 
-	                                         WHEN 2 THEN '적당함' 
-	                                         WHEN 3 THEN '도톰함'
-	                                                            END) AS SCORE_THICK
-	                   , (CASE R.SCORE_WEIGHT WHEN 1 THEN '가벼움' 
-	                                         WHEN 2 THEN '적당함'
-	                                         WHEN 3 THEN '무거움'
-	                                                            END) AS SCORE_WEIGHT
-	                   , (CASE R.SCORE_BALL   WHEN 1 THEN '작음'
-	                                          WHEN 2 THEN '딱맞음'
-	                                          WHEN 3 THEN '큼' 
-	                                                            END) AS SCORE_BALL
-	                   , R.GIVE_DUE_PNT
-	                   , R.PNT_GIVE_STAT
-	                   , R.BEST_YN
-	                   , R.GIVE_DUE_BPNT
-	                   , R.BPNT_GIVE_YN
-	                   , R.DISP_YN
-	                   , R.DEL_YN
-	                   , R.CONFIRM_YN
-	                   , R.CONFIRM_UNO
-	                   , R.CONFIRM_DT
-	                   , R.REG_NO
-	                   , DATE_FORMAT(R.REG_DT , '%Y-%m-%d') AS REG_DT
-	                   , R.UPD_NO
-	                   , DATE_FORMAT(R.UPD_DT , '%Y-%m-%d') AS UPD_DT
-	                   , R.ADM_RPL
-	                   , R.ADM_RPL_REG_NO
-	                   , DATE_FORMAT(R.ADM_RPL_DT , '%Y-%m-%d %H:%i:%s') AS ADM_RPL_DT
-	                   , DATEDIFF( DATE_ADD(O.PAY_DT,INTERVAL  #{reviewExpireDay} DAY),NOW()) AS REMAIN_DT -- 남은시간
-	    FROM TB_ORDER O
-	   INNER JOIN TB_ORDER_DETAIL OD
-	      ON O.ORD_NO = OD.ORD_NO
-	      AND OD.ORD_DTL_STAT IN ('G013_70','G013_50','G013_60') -- 구매 확정인것만
-	   INNER JOIN TB_ORDER_DETAIL_ITEM ODI
-	      ON OD.ORD_NO = ODI.ORD_NO
-	     AND OD.ORD_DTL_NO = ODI.ORD_DTL_NO
-	      AND ODI.ORD_DTL_STAT IN('G013_70','G013_50','G013_60') -- 구매 확정인것만
-	   INNER JOIN TB_GOODS G
-	      ON OD.GOODS_CD = G.GOODS_CD
-	   INNER JOIN TB_BRAND B
-	      ON B.BRAND_CD = G.BRAND_CD
-	   INNER JOIN TB_REVIEW R ON R.ORD_NO = O.ORD_NO 
-	  	AND R.ORD_NO = O.ORD_NO
-	  	AND R.ORD_DTL_NO = OD.ORD_DTL_NO 
-	  	AND R.DEL_YN = 'N'
-	  	AND R.DISP_YN = 'Y'
-	   LEFT JOIN TB_ITEMKIND I 
-	      ON G.ITEMKIND_CD = I.ITEMKIND_CD 
-	    LEFT OUTER JOIN (SELECT OD.ORD_DTL_NO
-	                      	, SUM(OCD.CHG_QTY) AS ORD_REQ_CHG_QTY
-	                       FROM TB_ORDER_CHANGE_DETAIL OCD
-	                      INNER JOIN TB_ORDER_DETAIL OD
-	                         ON OCD.ORD_DTL_NO = OD.ORD_DTL_NO
-	                      WHERE OCD.DEL_YN = 'N'
-	                      GROUP BY OCD.ORD_DTL_NO
-	            ) OCD
-	      ON OD.ORD_DTL_NO = OCD.ORD_DTL_NO
-	  LEFT OUTER JOIN TB_COLOR C ON ODI.OPT_CD1 = C.COLOR_CD
-	                               AND C.USE_YN = 'Y'
-	     WHERE 1=1
-	   AND O.PAY_DT >  DATE_FORMAT(DATE_ADD(CURRENT_DATE(), INTERVAL  #{reviewExpireDay} DAY), '%Y%M%D%H%I%S') 
-	   AND O.CUST_NO =  #{custNo}
-	   AND O.DISP_YN = 'Y'
-	   AND O.SITE_CD =  #{siteCd}
-	   	) Z
-	 GROUP BY Z.ORD_NO, Z.ORD_DT, Z.DELV_EDDT, Z.ORD_DTL_NO, Z.ORD_EXCH_GB
-	        , Z.GOODS_CD, Z.GOODS_NM, Z.LIST_PRICE, Z.SYS_IMG_NM, Z.ORD_DTL_STAT, Z.ORD_QTY, Z.CNCL_RTN_QTY, Z.ORD_AMT, Z.REAL_ORD_AMT
-	        , Z.SAVE_PNT_AMT, Z.CNCL_RTN_AMT, Z.PNT_DC_AMT, Z.GFCD_USE_AMT, Z.INVOICE_NO
-	        , Z.SUPPLY_COMP_CD, Z.DELV_FEE_CD, Z.SHOT_DELV_YN, Z.CHANGEABLE_YN, Z.SELF_GOODS_YN, Z.BRAND_NM, Z.BRAND_ENM, Z.ORD_DTL_STAT_NM
-	        , Z.ORD_REQ_CHG_QTY, Z.ORD_CAN_CHG_QTY
-	ORDER BY Z.ORD_NO DESC, Z.ORD_DTL_STAT, Z.SELF_GOODS_YN DESC, Z.SHOT_DELV_YN DESC, Z.SUPPLY_COMP_CD
-	<include refid="selectForPagingFooter"/>
-	</select>
+		        SELECT GROUP_CONCAT(Z.ITEM_NM ORDER BY Z.ORD_DTL_ITEM_SQ SEPARATOR '!@!') AS ITEM_NM
+		             , GROUP_CONCAT(Z.COLOR_NM ORDER BY Z.ORD_DTL_ITEM_SQ) AS COLOR_NM
+		             , GROUP_CONCAT(Z.OPT_CD1 ORDER BY Z.ORD_DTL_ITEM_SQ) AS OPT_CD1
+		             , GROUP_CONCAT(Z.OPT_CD2 ORDER BY Z.ORD_DTL_ITEM_SQ) AS OPT_CD2
+		             , GROUP_CONCAT(Z.OPT_CD1_NM ORDER BY Z.ORD_DTL_ITEM_SQ) AS OPT_CD1_NM
+		             , Z.ORD_NO
+		             , Z.ORD_DT
+		             , Z.PAY_DT
+		             , Z.DELV_EDDT
+		             , Z.ORD_DTL_NO
+		             , Z.ORD_EXCH_GB
+		             , Z.GOODS_CD
+		             , Z.GOODS_NM
+		             , Z.LIST_PRICE
+		             , Z.GOODS_TYPE
+		             , Z.SYS_IMG_NM
+		             , Z.ORD_DTL_STAT
+		             , Z.ORD_QTY
+		             , Z.CNCL_RTN_QTY
+		             , Z.ORD_AMT
+		             , Z.REAL_ORD_AMT
+		             , Z.SAVE_PNT_AMT
+		             , Z.CNCL_RTN_AMT
+		             , Z.PNT_DC_AMT
+		             , Z.GFCD_USE_AMT
+		             , Z.INVOICE_NO
+		             , Z.SUPPLY_COMP_CD
+		             , Z.DELV_FEE_CD
+		             , Z.SHOT_DELV_YN
+		             , Z.CHANGEABLE_YN
+		             , Z.RETURNABLE_YN
+		             , Z.SELF_GOODS_YN
+		             , Z.BRAND_NM
+		             , Z.BRAND_ENM
+		             , Z.ORD_DTL_STAT_NM
+		             , Z.ORD_REQ_CHG_QTY
+		             , Z.ORD_CAN_CHG_QTY
+		             , Z.ITEMKIND_NM 
+		             , Z.ITEMKIND_CD 
+		             , Z.SIZE_GB 
+		             , Z.REMAIN_DT
+		             , Z.REVIEW_SQ
+		             , Z.REVIEW_GB
+		             , Z.REVIEW_CONTENT
+		             , Z.SCORE
+		             , Z.HEIGHT
+		             , Z.WEIGHT
+		             , Z.SCORE_SIZE
+		             , Z.SCORE_COLOR
+		             , Z.SCORE_FIT
+		             , Z.SCORE_THICK
+		             , Z.SCORE_WEIGHT
+		             , Z.SCORE_BALL
+		             , Z.GIVE_DUE_PNT
+		             , Z.PNT_GIVE_STAT
+		             , Z.BEST_YN
+		             , Z.GIVE_DUE_BPNT
+		             , Z.BPNT_GIVE_YN
+		             , Z.DISP_YN
+		             , Z.DEL_YN
+		             , Z.CONFIRM_YN
+		             , Z.CONFIRM_UNO
+		             , Z.CONFIRM_DT
+		             , Z.REG_NO
+		             , Z.REG_DT
+		             , Z.UPD_NO
+		             , Z.UPD_DT
+		             , Z.ADM_RPL
+		             , Z.ADM_RPL_REG_NO
+		             , Z.ADM_RPL_DT
+		             , ROW_NUMBER() OVER(ORDER BY Z.REG_DT DESC) AS RNUM
+		       FROM (SELECT O.ORD_NO
+		                  , DATE_FORMAT(O.ORD_DT, '%Y.%m.%d') AS ORD_DT
+		                  , DATE_FORMAT(O.PAY_DT, '%Y-%m-%d') AS PAY_DT 
+		                  , DATE_FORMAT(OD.DELV_EDDT, '%m/%d')								AS DELV_EDDT
+		                  , OD.ORD_DTL_NO
+		                  , OD.ORD_EXCH_GB
+		                  , OD.GOODS_CD
+		                  , OD.GIFT_ADDR_INP_YN
+		                  , G.GOODS_NM
+		                  , IFNULL((SELECT COLOR_KNM FROM TB_COLOR C WHERE COLOR_CD = IFNULL(NULLIF(ODI.OPT_CD1,'') , G.MAIN_COLOR_CD ) AND USE_YN  = 'Y'), ODI.OPT_CD1) AS COLOR_NM
+		                  , (SELECT GOODS_NM FROM TB_GOODS WHERE GOODS_CD = ODI.ITEM_CD)		AS ITEM_NM
+		                  , ODI.ORD_DTL_ITEM_SQ
+		                  , ODI.OPT_CD1
+		                  , ODI.OPT_CD2
+		                  , IFNULL(C.COLOR_KNM, ODI.OPT_CD1) AS OPT_CD1_NM
+		                  , G.LIST_PRICE
+		                  , G.GOODS_TYPE
+		                  , CASE WHEN G.GOODS_TYPE != 'G056_S' AND G.SELF_GOODS_YN = 'Y' THEN (SELECT MAX(SYS_IMG_NM) FROM TB_GOODS_IMG WHERE GOODS_CD = G.GOODS_CD AND COLOR_CD = ODI.OPT_CD1 AND DEFAULT_IMG_YN = 'Y')
+		                         ELSE (SELECT MAX(SYS_IMG_NM) FROM TB_GOODS_IMG WHERE GOODS_CD = G.GOODS_CD AND COLOR_CD = IFNULL(G.MAIN_COLOR_CD,'XX') AND DEFAULT_IMG_YN = 'Y') END AS SYS_IMG_NM
+		                  , OD.ORD_DTL_STAT
+		                  , OD.ORD_QTY
+		                  , OD.CNCL_RTN_QTY
+		                  , OD.ORD_AMT
+		                  , OD.REAL_ORD_AMT
+		                  , OD.SAVE_PNT_AMT
+		                  , OD.CNCL_RTN_AMT
+		                  , OD.PNT_DC_AMT
+		                  , OD.GFCD_USE_AMT
+		                  , OD.INVOICE_NO
+		                  , OD.SUPPLY_COMP_CD
+		                  , OD.DELV_FEE_CD
+		                  , OD.SHOT_DELV_YN
+		                  , OD.CHANGEABLE_YN
+		                  , OD.RETURNABLE_YN
+		                  , G.SELF_GOODS_YN
+		                  , CONCAT(B.BRAND_ENM, ' ', B.BRAND_KNM)							AS BRAND_NM
+		                  , B.BRAND_ENM
+		                  , FN_GET_CODE_NM('G013', OD.ORD_DTL_STAT)							AS ORD_DTL_STAT_NM
+		                  , IFNULL(OCD.ORD_REQ_CHG_QTY, 0) AS ORD_REQ_CHG_QTY
+		                  , OD.ORD_QTY - OD.CNCL_RTN_QTY - IFNULL(OCD.ORD_REQ_CHG_QTY, 0)    AS ORD_CAN_CHG_QTY
+		                  , I.ITEMKIND_NM 
+		                  , I.ITEMKIND_CD 
+		                  , I.SIZE_GB 
+		                  , R.REVIEW_SQ
+		                  , R.REVIEW_GB
+		                  , R.REVIEW_CONTENT
+		                  , R.SCORE
+		                  , R.HEIGHT
+		                  , R.WEIGHT
+		                  , (CASE R.SCORE_SIZE   WHEN 1 THEN '작음' 
+		                                          WHEN 2 THEN '딱맞음'
+		                                         WHEN 3 THEN '큼'
+		                                                            END) AS SCORE_SIZE
+		                  , (CASE R.SCORE_COLOR  WHEN 1 THEN '밝음' 
+		                                         WHEN 2 THEN '똑같음'
+		                                         WHEN 3 THEN '어두움'   
+		                                                            END) AS SCORE_COLOR
+		                  , (CASE R.SCORE_FIT    WHEN 1 THEN '슬림' 
+		                                         WHEN 2 THEN '레귤러' 
+		                                         WHEN 3 THEN '오버' 
+		                                                            END) AS SCORE_FIT
+		                  , (CASE R.SCORE_THICK  WHEN 1 THEN '얇음' 
+		                                         WHEN 2 THEN '적당함' 
+		                                         WHEN 3 THEN '도톰함'
+		                                                            END) AS SCORE_THICK
+		                   , (CASE R.SCORE_WEIGHT WHEN 1 THEN '가벼움' 
+		                                         WHEN 2 THEN '적당함'
+		                                         WHEN 3 THEN '무거움'
+		                                                            END) AS SCORE_WEIGHT
+		                   , (CASE R.SCORE_BALL   WHEN 1 THEN '작음'
+		                                          WHEN 2 THEN '딱맞음'
+		                                          WHEN 3 THEN '큼' 
+		                                                            END) AS SCORE_BALL
+		                   , R.GIVE_DUE_PNT
+		                   , R.PNT_GIVE_STAT
+		                   , R.BEST_YN
+		                   , R.GIVE_DUE_BPNT
+		                   , R.BPNT_GIVE_YN
+		                   , R.DISP_YN
+		                   , R.DEL_YN
+		                   , R.CONFIRM_YN
+		                   , R.CONFIRM_UNO
+		                   , R.CONFIRM_DT
+		                   , R.REG_NO
+		                   , DATE_FORMAT(R.REG_DT , '%Y-%m-%d') AS REG_DT
+		                   , R.UPD_NO
+		                   , DATE_FORMAT(R.UPD_DT , '%Y-%m-%d') AS UPD_DT
+		                   , R.ADM_RPL
+		                   , R.ADM_RPL_REG_NO
+		                   , DATE_FORMAT(R.ADM_RPL_DT , '%Y-%m-%d %H:%i:%s') AS ADM_RPL_DT
+		                   , DATEDIFF( DATE_ADD(O.PAY_DT,INTERVAL  #{reviewExpireDay} DAY),NOW()) AS REMAIN_DT -- 남은시간
+		    FROM TB_ORDER O
+		   INNER JOIN TB_ORDER_DETAIL OD
+		      ON O.ORD_NO = OD.ORD_NO
+		      AND OD.ORD_DTL_STAT IN ('G013_70','G013_50','G013_60') -- 구매 확정인것만
+		   INNER JOIN TB_ORDER_DETAIL_ITEM ODI
+		      ON OD.ORD_NO = ODI.ORD_NO
+		     AND OD.ORD_DTL_NO = ODI.ORD_DTL_NO
+		      AND ODI.ORD_DTL_STAT IN('G013_70','G013_50','G013_60') -- 구매 확정인것만
+		   INNER JOIN TB_GOODS G
+		      ON OD.GOODS_CD = G.GOODS_CD
+		   INNER JOIN TB_BRAND B
+		      ON B.BRAND_CD = G.BRAND_CD
+		   INNER JOIN TB_REVIEW R ON R.ORD_NO = O.ORD_NO 
+		  	AND R.ORD_NO = O.ORD_NO
+		  	AND R.ORD_DTL_NO = OD.ORD_DTL_NO 
+		  	AND R.DEL_YN = 'N'
+		  	AND R.DISP_YN = 'Y'
+		   LEFT JOIN TB_ITEMKIND I 
+		      ON G.ITEMKIND_CD = I.ITEMKIND_CD 
+		    LEFT OUTER JOIN (SELECT OD.ORD_DTL_NO
+		                      	, SUM(OCD.CHG_QTY) AS ORD_REQ_CHG_QTY
+		                       FROM TB_ORDER_CHANGE_DETAIL OCD
+		                      INNER JOIN TB_ORDER_DETAIL OD
+		                         ON OCD.ORD_DTL_NO = OD.ORD_DTL_NO
+		                      WHERE OCD.DEL_YN = 'N'
+		                      GROUP BY OCD.ORD_DTL_NO
+		            ) OCD
+		      ON OD.ORD_DTL_NO = OCD.ORD_DTL_NO
+		  LEFT OUTER JOIN TB_COLOR C ON ODI.OPT_CD1 = C.COLOR_CD
+		                               AND C.USE_YN = 'Y'
+		     WHERE 1=1
+		   AND O.PAY_DT >  DATE_FORMAT(DATE_ADD(CURRENT_DATE(), INTERVAL  #{reviewExpireDay} DAY), '%Y%M%D%H%I%S') 
+		   AND O.CUST_NO =  #{custNo}
+		   AND O.DISP_YN = 'Y'
+		   AND O.SITE_CD =  #{siteCd}
+		   	) Z
+		 GROUP BY Z.ORD_NO, Z.ORD_DT, Z.DELV_EDDT, Z.ORD_DTL_NO, Z.ORD_EXCH_GB
+		        , Z.GOODS_CD, Z.GOODS_NM, Z.LIST_PRICE, Z.SYS_IMG_NM, Z.ORD_DTL_STAT, Z.ORD_QTY, Z.CNCL_RTN_QTY, Z.ORD_AMT, Z.REAL_ORD_AMT
+		        , Z.SAVE_PNT_AMT, Z.CNCL_RTN_AMT, Z.PNT_DC_AMT, Z.GFCD_USE_AMT, Z.INVOICE_NO
+		        , Z.SUPPLY_COMP_CD, Z.DELV_FEE_CD, Z.SHOT_DELV_YN, Z.CHANGEABLE_YN, Z.SELF_GOODS_YN, Z.BRAND_NM, Z.BRAND_ENM, Z.ORD_DTL_STAT_NM
+		        , Z.ORD_REQ_CHG_QTY, Z.ORD_CAN_CHG_QTY
+		ORDER BY Z.ORD_NO DESC, Z.ORD_DTL_STAT, Z.SELF_GOODS_YN DESC, Z.SHOT_DELV_YN DESC, Z.SUPPLY_COMP_CD
+		<include refid="selectForPagingFooter"/>
+		</select>
 	
 	<select id="getReviewAttach" parameterType="Review" resultType="Review">
 		/* TsfReivew.getReviewAttach */

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

@@ -139,6 +139,9 @@
 		LEFT OUTER JOIN TB_WISHLIST W ON G.GOODS_CD = W.GOODS_CD
 		                             AND W.CUST_NO = #{custNo}
 		</if>
+		<if test="pageable != null">
+		WHERE G.NUMB BETWEEN #{pageable.startRow} AND #{pageable.endRow}
+		</if>
 	</select>
 	
 </mapper>

+ 16 - 14
src/main/webapp/WEB-INF/views/web/mypage/MypageReviewFormWeb.html

@@ -132,20 +132,7 @@
 		gagaPaging.init('searchForm2', fnSearchCallback2, 'paging2', 10);
 		gagaPaging.load(1);
 	})
-	
-	$(document).ready(function() {
 
-		// 마이페이지 LNB 설정
-		fnSetMypageLnbList(7);
-
-		// 마이페이지 location 설정
-		fnSetMypageLocation('리뷰', '_PAGE_MYPAGE_REVIEW');
-				
-		// 작성가능한 리뷰표시
-		$("#completeReview").trigger('click');
-	
-	});
-	
 	// 주문 목록 조회 콜백
 	var fnSearchCallback1 = function(result) {
 		$('#nodata1').hide();
@@ -207,7 +194,7 @@
 			$('#nodata1').show();
 		}
 		// Create pagination
-		gagaPaging.createPagination(result.paging.pageable);
+		gagaPaging.createPagination(result.paging1.pageable);
 	}
 	
 	// 주문 목록 조회 콜백
@@ -429,6 +416,21 @@
 		document.createReview.submit();
 		// cfnGoToPage(_PAGE_MYPAGE_CREATE_REVIEW + ordNo +'/'+ordDtlNo+'/'+goodsCd+'/'+reviewStat);
 	}
+	
+	
+	$(document).ready(function() {
+
+		// 마이페이지 LNB 설정
+		fnSetMypageLnbList(7);
+
+		// 마이페이지 location 설정
+		fnSetMypageLocation('리뷰', '_PAGE_MYPAGE_REVIEW');
+				
+		// 작성가능한 리뷰표시
+		$("#completeReview").trigger('click');
+	
+	});
+	
 	</script>
 	</th:block>
 

+ 0 - 2
src/main/webapp/WEB-INF/views/web/planning/PlanningDetailFormWeb.html

@@ -244,8 +244,6 @@ let planCornerList = [[${planCornerList}]];
 let _mall = [[${@environment.getProperty('domain.front')}]];
 let goodsView =[[${@environment.getProperty('upload.goods.view')}]]
 let imgUrl=[[${@environment.getProperty('upload.image.view')}]];
-console.log(planCornerList);
-console.log(planCornerGoodsList);
 if(planCornerList.length>0){
 	var html = '';
 	

+ 133 - 77
src/main/webapp/WEB-INF/views/web/social/SocialMainFormWeb.html

@@ -39,10 +39,19 @@
                         </div>
                     </div>  
                     <div class="list_content">
-                        <div class="itemsGrp rowtype" id="socialList"> <!-- itemsGrp rank hot deal --> <!-- rowtype 추가시 가로형태로 출력 -->
-                  
-                        </div>
+                        <div class="itemsGrp rowtype"> <!-- itemsGrp rank hot deal --> <!-- rowtype 추가시 가로형태로 출력 -->
+									<section id="infiniteContainer">
+										<div id="listBoxOuter">
+											<ul id="listBox">
+											</ul>
+										</div>
+									</section>
+								</div>
+                         <div class="last_page" id="divLastPage" style="display: none;">
+						<span>마지막 페이지입니다.</span>
+					</div>
                     </div>
+                   
                 </div>
 		    </div>
 		</th:block>
@@ -50,11 +59,17 @@
 
         </div>
     </div>   
-<script src="/ux/plugins/jquery/jquery.history.min.js"></script>
-<script src="/ux/plugins/gaga/gaga.infinite.scrollLayer.js"></script>
+<form id="socialForm" name="socialForm" action="#" th:action="@{'/social/list'}">
+	<input type="hidden" name="pageNo" id="pageNo" value ="1"/>
+	<input type="hidden" name="pageSize" value ="10"/>
+</form>
+<script src="/ux/plugins/gaga/gaga.infinite.scrollSession.js"></script>
+	<script src="/ux/plugins/jquery/jquery.history.min.js"></script>
 <script th:inline="javascript">
 let socialInfo = [[${socialInfo}]];
 let goodsView =[[${@environment.getProperty('upload.goods.view')}]]
+
+
 var socialAddCart = function (obj) {
 
 	let btnType = "C";
@@ -78,86 +93,109 @@ var socialAddCart = function (obj) {
 	} 
 }
 
-let fnGetSocialList = function() {
-	let actionUrl = '/social/list';
+let fnGetSocialList = function(result) {
+	var html = '';
+
+	$.each(result.dataList, function(idx, item) {
+		if (item.stockQtySum == 0) {
+			html += ' <div class="item_prod"class="item_prod sold_out">';
+		}else{
+			html += ' <div class="item_prod"class="item_prod">';
+		}
+		
+		html += '    <div class="item_state"> ';
+		if (item.likeIt == 'likeit') {
+			html += '        <button type="button" class="itemLike active" onclick="cfnPutWishList(this);" onClick="cfnPutWishList(this);" goodsCd=\''+item.goodsCd+'\', ithrCd=\'\', contentsLoc=\'\', planDtlSq=\'\'>관심상품 추가</button>';
+		}else{
+			html += '        <button type="button" class="itemLike" onclick="cfnPutWishList(this);" onClick="cfnPutWishList(this);" goodsCd=\''+item.goodsCd+'\', ithrCd=\'\', contentsLoc=\'\', planDtlSq=\'\'>관심상품 추가</button>';
+		}
+		
+		html += '        <a href="javascript:void(0);" class="itemLink" th:onclick="cfnGoToGoodsDetail(\''+item.goodsCd+'\')" >';
+		html += '            <div class="itemPic">';
+		html += '                <img alt="BLUE-a" class=" vLHTC pd_img" src="'+ goodsView +'/'+item.sysImgNm +'">';
+		html += '            </div>';
+		html += '            <div class="itemSpecialPrice"><span>특가</span></div>';
+		html += '            <p class="itemBrand">'+item.brandGroupNm+'</p>';
+		html += '            <div class="itemName">'+item.goodsNm+'</div>';
+		if(item.goodsTnm != null){
+			html += '           <div class="itemComment">'+item.goodsTnm+'</div>';
+		}
+
+		html += '            <p class="itemPrice">';
+		html += item.currPrice.addComma() +'원';
+		if (item.currPrice != item.listPrice) {
+			html += '                <span class="itemPrice_original">'+item.listPrice.addComma()+'원</span>';
+		}
+		if (item.dcRate != 0) {
+			html += '                                 <span class=" itemPercent">'+item.dcRate.addComma()+'%</span>';
+		}
+		html += '            </p>';
+		html += '        </a>';
+		html += '        	 <div class="shopBagBtn">';
+		html += '                <button type="button" class="btn btn_defalt" onclick="socialAddCart(this)" goodsCd=\''+item.goodsCd+'\', minOrdQty=\''+item.minOrdQty+'\', goodsType=\''+item.goodsType+'\', optCd=\''+item.optCd+'\'">';
+		html += '                    <span>쇼핑백 담기</span>';
+		html += '                </button>';
+		html += '            </div>';
+		html += '    </div>';
+		html += '</div>';
+	});
+	return html;
 	
-	$.getJSON(actionUrl
-		, function(result, status) {
-		html = '';
-			if (status == 'success') {
-				if (result.length > 0) {
-					$.each(result, function(idx, item) {
-						if (item.stockQtySum == 0) {
-							html += ' <div class="item_prod"class="item_prod sold_out">';
-						}else{
-							html += ' <div class="item_prod"class="item_prod">';
-						}
-						
-						html += '    <div class="item_state"> ';
-						if (item.likeIt == 'likeit') {
-							html += '        <button type="button" class="itemLike active" onclick="cfnPutWishList(this);" onClick="cfnPutWishList(this);" goodsCd=\''+item.goodsCd+'\', ithrCd=\'\', contentsLoc=\'\', planDtlSq=\'\'>관심상품 추가</button>';
-						}else{
-							html += '        <button type="button" class="itemLike" onclick="cfnPutWishList(this);" onClick="cfnPutWishList(this);" goodsCd=\''+item.goodsCd+'\', ithrCd=\'\', contentsLoc=\'\', planDtlSq=\'\'>관심상품 추가</button>';
-						}
-						
-						html += '        <a href="javascript:void(0);" class="itemLink" th:onclick="cfnGoToGoodsDetail(\''+item.goodsCd+'\')" >';
-						html += '            <div class="itemPic">';
-						html += '                <img alt="BLUE-a" class=" vLHTC pd_img" src="'+ goodsView +'/'+item.sysImgNm +'">';
-						html += '            </div>';
-						html += '            <div class="itemSpecialPrice"><span>특가</span></div>';
-						html += '            <p class="itemBrand">'+item.brandGroupNm+'</p>';
-						html += '            <div class="itemName">'+item.goodsNm+'</div>';
-						if(item.goodsTnm != null){
-							html += '           <div class="itemComment">'+item.goodsTnm+'</div>';
-						}
-
-						html += '            <p class="itemPrice">';
-						html += item.currPrice.addComma() +'원';
-						if (item.currPrice != item.listPrice) {
-							html += '                <span class="itemPrice_original">'+item.listPrice.addComma()+'원</span>';
-						}
-						if (item.dcRate != 0) {
-							html += '                                 <span class=" itemPercent">'+item.dcRate.addComma()+'%</span>';
-						}
-						html += '            </p>';
-						html += '        </a>';
-						html += '        	 <div class="shopBagBtn">';
-						html += '                <button type="button" class="btn btn_defalt" onclick="socialAddCart(this)" goodsCd=\''+item.goodsCd+'\', minOrdQty=\''+item.minOrdQty+'\', goodsType=\''+item.goodsType+'\', optCd=\''+item.optCd+'\'">';
-						html += '                    <span>쇼핑백 담기</span>';
-						html += '                </button>';
-						html += '            </div>';
-						html += '    </div>';
-						html += '</div>';
-					});
-					$("#socialList").html(html);
-					
-				} else {
-					html += '<div class="nodata" >';
-					html += '	<div class="txt_box">';
-					html += '		<p>';
-					html += '			진행하는 핫딜이 없습니다.';
-					html += '		</p>';
-					html += '	</div>';
-					html += '	<div class="btn_box">';
-					html += '		<button class="btn btn_default" onclick="cfnGoToPage(_PAGE_MAIN);"><span>홈으로 가기</span></button>';
-					html += '	</div>';
-					html += '</div>';	
-					
-					$("#socialList").html(html);
-					$('#eventTotCnt').html('<span>0</span>개의 이벤트');
-				}
-			}
-		});
 }
 
+
+var fnSocialListSearch = function() {
+	fnSocialInfiniteScrollInit();
+	gagaInfiniteScroll.getHistory();
+}
+// 인피니트 스크롤 초기화
+var fnSocialInfiniteScrollInit = function(){
+	sessionStorage.removeItem(document.location.href);
+	//History 초기화
+	$("#listBox").html("");
+}
+
+
 //인피니트 스크롤 이벤트 발생 시 데이터 가져오기
 var fnGetInfiniteScrollDataList = function(pageNum) {
-	// 콜백함수인 gagaInfiniteScroll.jsonToHtml 에서는 fnDrawInfiniteScrollData 함수를 호출한다.
-	gagajf.ajaxSubmitForm(document.searchForm, "/goods/list", "json", gagaInfiniteScroll.jsonToHtml);
+	$("#socialForm input[name=pageNo]").val(pageNum+1);
+	gagajf.ajaxFormSubmit("/social/list",document.socialForm, gagaInfiniteScroll.jsonToHtml);
 }
 
+var fnDrawInfiniteScrollData = function (result){
+	let totalCnt = result.totalCnt;
+	gagaInfiniteScroll.pageStatus.totalCount = result.totalCnt;
+
+	if (result.dataList != null && result.dataList.length > 0) {
+		let lastPage = result.paging.pageable.pageNo;
+		let endRow = result.endRow - result.paging.pageable.pageSize;
+		
+		var htm = fnGetSocialList(result, lastPage, endRow);
+		gagaInfiniteScroll.draw(htm);
+	}else{
+		if($("#socialForm input[name=pageNo]").val()==1){
+			var html = '';
+			html += '<div class="nodata" >';
+			html += '	<div class="txt_box">';
+			html += '		<p>';
+			html += '			진행하는 핫딜이 없습니다.';
+			html += '		</p>';
+			html += '	</div>';
+			html += '	<div class="btn_box">';
+			html += '		<button class="btn btn_default" onclick="cfnGoToPage(_PAGE_MAIN);"><span>홈으로 가기</span></button>';
+			html += '	</div>';
+			html += '</div>';	
+			
+			$('#listBox').html(html);
+		}
+		$("#divLastPage").show();
+		gagaInfiniteScroll.draw('not');
+	}
+}
+
+
 $(function(){
-	fnGetSocialList();
+	fnSocialListSearch();
        /* 핫딜 countDown */
        function hotdealTimer() {
            var endTime = new Date(socialInfo.socialEddt); // 남은시간 지정
@@ -186,6 +224,24 @@ $(function(){
        setInterval(function() { hotdealTimer(); }, 1000);
        /* countDown */
 });
+
+/* $(window).on("pageshow", function(event) {
+	if ( (event.originalEvent && event.originalEvent.persisted) || (window.performance && window.performance.navigation.type == 2)) {
+		var historyData = sessionStorage.getItem(document.location.href);
+		if(historyData!=null){
+			historyData = JSON.parse(historyData);
+		}else{
+			historyData = {};
+		}
+		fnSocialListSearch();
+	}else{
+
+		fnSocialListSearch();
+	}
+});
+ */
+
+
 </script>
 </th:block>
 

+ 1 - 1
src/main/webapp/ux/pc/css/common.css

@@ -1780,7 +1780,7 @@ button.alertCls {-webkit-appearance: none;padding: 0;cursor: pointer;background:
 
 
 /*  modal popup  */
-.blocker{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:auto;/*z-index:999999;*/ z-index:200; padding:0px;box-sizing:border-box;background-color:#000;background-color:rgba(0,0,0,0.75);text-align:center;}
+.blocker{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:auto;/*z-index:999999;*/ z-index:200; padding:0px;box-sizing:border-box;background-color:#000;background-color:rgba(0,0,0,0.75);text-align:center;pointer-events: none;}
 .blocker:before{content:"";display:inline-block;height:100%;vertical-align:middle;margin-right:-0.05em;}
 .blocker.behind{background-color:transparent;}
 .modal{

+ 9 - 5
src/main/webapp/ux/pc/css/layout.css

@@ -89,7 +89,7 @@ ul.maintabs li [class^='box_depth'] {display:none; position:absolute; left:100%;
 .more_category a.btn_more_cate {position:relative; display:inline-block; padding-right:16px; color:#888; font-size:16px; font-weight:300; z-index:8;}
 .more_category a.btn_more_cate:after {display:block; position:absolute; top:2px; right:0; width:6px; height:6px; border:2px solid #888; border-width:2px 2px 0 0; transform:rotate(135deg); -webkit-transform:rotate(135deg); content:''}
 .more_category.on a.btn_more_cate:after {top:5px; transform:rotate(-45deg); -webkit-transform:rotate(-45deg); content:''}
-.more_category .cate_list {display:none; position:absolute; left:-30px; top:-22px; background:#222; min-width:180px; padding:60px 25px 25px; box-sizing:initial; border:1px solid #aaa; z-index:2;}
+.more_category .cate_list {display:none; position:absolute; left:-30px; top:-22px; background:#222; min-width:180px; padding:60px 25px 25px; box-sizing:initial; border:1px solid #aaa; z-index:5;}
 .more_category .cate_list ul li {margin-top:14px; display: none;}
 .more_category .cate_list ul li:first-child {margin-top:0}
 .more_category .cate_list ul li a {display:block; padding:5px; color:#fff; font-size:19px;}
@@ -2679,7 +2679,7 @@ ul.maintabs li [class^='box_depth'] {display:none; position:absolute; left:100%;
 
 	.pd_detail .area_desc .desc_wrap {/*position:absolute; right:auto; top:0; background:#eee*/width:500px; z-index:2;}
 	.pd_detail .area_desc .desc_wrap.absbottom {position:absolute; top:auto; bottom:0px;}
-	.pd_detail .area_desc .desc_wrap.fixbottom {position:fixed; top:auto; bottom:0px;}
+	.pd_detail .area_desc .desc_wrap.fixbottom {position:fixed; top: 100px; bottom:0px;}
 	
 	.pd_detail .area_desc .desc_wrap .timer_box {position:relative; padding-bottom:30px;}
 	.pd_detail .area_desc .desc_wrap .timer_box::after{content:''; position:absolute; right:-12px; bottom:18px; border:12px solid transparent; border-top:12px solid #fff; transform:rotate(-45deg);}
@@ -2784,6 +2784,7 @@ ul.maintabs li [class^='box_depth'] {display:none; position:absolute; left:100%;
 	
 	/* pd_deal_옵션셀렉트 폼 */
 	.pd .option_box [class^="opt_"] {}
+	.pd .option_box [class^="opt_"] .select_custom .combo .list {height:170%;}
 	.option_box [class^="opt_"] .form_field {display:block; margin-top:10px;}
 	.option_box [class^="opt_"] .form_field:first-child {margin-top:0}
 	.option_box [class^="opt_"] .select_custom {min-height:52px;}
@@ -3071,7 +3072,7 @@ ul.maintabs li [class^='box_depth'] {display:none; position:absolute; left:100%;
 	.pd_desc_wrap .item_descrp .area_option .opt_wrap {width:500px; padding-left:60px; padding-top:30px;}
 	/* .pd_desc_wrap .item_descrp .area_option .opt_wrap.fixtop {position:fixed; right:70px; top:80px; width:500px;} */
 	.pd_desc_wrap .item_descrp .area_option .opt_wrap.fixtop {position:fixed; right:70px; top:80px; width:500px;height: calc(100% - 11%);}
-	.pd_desc_wrap .item_descrp .area_option .opt_wrap.fixtop .option_box {overflow-y: auto; height: calc(100% - 30%);}
+	.pd_desc_wrap .item_descrp .area_option .opt_wrap.fixtop .option_box {overflow-y: auto; height: calc(100% - 25%);}
 	.pd_desc_wrap .item_descrp .area_option .opt_wrap.absbottom {position:absolute; top:auto; bottom:0px; right:70px;}
 	@media screen and (max-width:1459px) {
 		.pd.deal .tab_detail_nav.fix ul {position:absolute; left:0; top:0; width:100%; height:60px; z-index:25;}
@@ -3841,7 +3842,7 @@ ul.maintabs li [class^='box_depth'] {display:none; position:absolute; left:100%;
 	.br_lookbook_view .swiper-button-next::after {background-position:100% 50%;}
 	.br_lookbook_view .swiper-button-prev::after {background-position:0% 50%;}
 
-	.content.br_lookbook_view.cont_visual {padding-bottom:120px;}
+	.content.br_lookbook_view.cont_visual {padding-bottom:80px;}
 	.br_lookbook_view.cont_visual .cont_head {margin-bottom:60px}
 	.br_lookbook_view.cont_visual .cont_body .area_slider {margin-left:-70px; margin-right:-70px;}
 	.br_lookbook_view.cont_visual .swiper-slide {width: auto; height: 660px;}
@@ -3857,7 +3858,10 @@ ul.maintabs li [class^='box_depth'] {display:none; position:absolute; left:100%;
 	.br_lookbook_view.cont_visual .swiper-button-prev {left:70px;}
 	.br_lookbook_view.cont_visual .swiper-button-next::after,
 	.br_lookbook_view.cont_visual .swiper-button-prev::after {filter:invert(100%);}
-	.br_lookbook_view.cont_visual .text_cont {margin-top:80px; color:#666; font-size:16px; font-weight:200; line-height:26px;}
+	/* .br_lookbook_view.cont_visual .text_cont {margin-top:80px; color:#666; font-size:16px; font-weight:200; line-height:26px;} */
+	
+	.br_lookbook_view.cont_txts {margin-bottom:120px;pointer-events: none;}
+	.br_lookbook_view.cont_txts .text_cont {color:#666; font-size:16px; font-weight:200; line-height:26px; background: #ffffff; pointer-events: none;}
 
 	.content.br_lookbook_view.cont_items {padding-top:120px; padding-bottom:120px; background:#f5f5f5;}
 	.br_lookbook_view.cont_items .cont_head h3 {margin-bottom:40px; color:#222; font-size:24px; font-weight:500;}

+ 6 - 5
src/main/webapp/ux/pc/css/main.css

@@ -86,9 +86,10 @@
 .post-visual .txtWrap dl.w,
 .post-visual .txtWrap dl.w + button {color:#ffffff; border-color:#fff;}
 .post-visual .txtWrap dt {font-size:18px; padding-bottom:20px; font-weight:200;}
-.post-visual .txtWrap dd {font-size:62px;line-height:1;font-weight:500; padding-bottom:5px;}
-.post-visual .txtWrap dd.txt_xs {font-size:18px;line-height:1;font-weight:200;padding:20px 0 0px 0;}
-.post-visual .vrt_txt{width:auto;height:auto;font-size:18px;color:#888888;position:absolute;left:-90px;bottom:-99px;top:0;-webkit-transform:rotate(-90deg);transform:rotate(-180deg); white-space: nowrap; -webkit-writing-mode:vertical-rl;-ms-writing-mode:tb-rl;writing-mode:vertical-rl;}
+.post-visual .txtWrap dd {font-size:62px;line-height:1;font-weight:500; padding-bottom:5px; display: -webkit-box;text-overflow: ellipsis;-webkit-line-clamp: 1;-webkit-box-orient: vertical; overflow:hidden;}
+.post-visual .txtWrap dd.txt_xs {font-size:18px;line-height:1;font-weight:200;padding:20px 0 0px 0; display: -webkit-box;text-overflow: ellipsis;-webkit-line-clamp: 1;-webkit-box-orient: vertical; max-height:37px; overflow:hidden;}
+/* .post-visual .vrt_txt{width:auto;height:auto;font-size:18px;color:#888888;position:absolute;left:-90px;bottom:-99px;top:0;-webkit-transform:rotate(-90deg);transform:rotate(-180deg); white-space: nowrap; -webkit-writing-mode:vertical-rl;-ms-writing-mode:tb-rl;writing-mode:vertical-rl;} */
+.post-visual .vrt_txt{width: 500px;height: 20px;box-sizing: content-box;display: inline-block;text-align: left;font-size: 18px;color: #888888;position: absolute;left: -80%;bottom: 160px;position: relative;left: -65%;bottom: -160px;top: auto;-webkit-transform: rotate(-90deg);transform: rotate(-90deg);white-space: nowrap;}
 .post-visual.swiper-container {margin-left:-30px;}
 .post-visual .swiper-pagination-bullets{bottom:0px;}
 .post-visual .swiper-wrapper{width:100%;height:750px; height:auto; margin:0px auto;padding-bottom:65px;filter:drop-shadow(0px 0px 10px rgba(0, 0, 0, 0.2));}
@@ -151,7 +152,7 @@
 		padding-left:0;
 	}
 
-	.post-visual .vrt_txt {bottom:-79px !important;}
+	.post-visual .vrt_txt {bottom:-120px !important;}
 	.post-visual.swiper-container {margin-left:0px;}
 	.main .post-visual .swiper-slide {padding-bottom:20px;}
 	.main .post-visual .swiper-slide-prev {}
@@ -221,7 +222,7 @@
 		*/
 	}   
 
-	.main .post-visual .swiper-slide .vrt_txt {left:-50px;}
+	.main .post-visual .swiper-slide .vrt_txt {left:-50%;left:-354px;}
 }
 
 .post-visual .swiper-slide img::after{

+ 17 - 4
src/main/webapp/ux/pc/js/common-ui.js

@@ -87,11 +87,13 @@ $(document).ready(function() {
 				var fileReader = new FileReader();
 				fileReader.onload = (function(e) {
 					var file = e.target;
+					console.log(file);
 					$("<span class=\"pics\">" +
 						"<img class=\"picsThumbs\" src=\"" + e.target.result + "\" title=\"" + file.name + "\"/>" +
 						"<br/><span class=\"removes\">Removes image</span>" +
 						"</span>").insertAfter("#fileAdd");
 					$(".removes").click(function(){
+						$(this).parent(".pics").closest(".imgUpload").children("input").val("");
 						$(this).parent(".pics").remove();
 						cmtLa.css('display', 'block');
 						cmtIn.css('display', 'block');
@@ -492,13 +494,24 @@ $(document).ready( function() {
 
 
 	
-	
+	//210428_카테고리 재클릭 시 사라짐
 	//상품 리스트_필터
+	var listFilNum = 0;
 	$('.filter_list ul li').click(function(){ 
-		$(".filter_list ul li").removeClass('on');
+		//$(".filter_list ul li").removeClass('on');
 		$(".dp_list .sort, .sch_result .sort").removeClass('on');
-		$(this).addClass('on');
-		$("."+$(this).data('id')).addClass('on');
+		if($(this).hasClass("on")){
+			$(this).removeClass('on');
+			$("."+$(this).data('id')).removeClass('on');
+			listFilNum = 0;
+		} else {
+			$(".filter_list ul li").removeClass('on');
+			$(this).addClass('on');
+			$("."+$(this).data('id')).addClass('on');
+			listFilNum = 1;
+		}
+		console.log();
+		
 		$('.sort ul li').removeClass('on');
 		$('.sort ul li div').hide();
 		$('.container .dp_list .fillter, .container .sch_result .fillter').show();

+ 2 - 2
src/main/webapp/ux/plugins/gaga/gaga.infinite.scrollLayer.js

@@ -131,9 +131,9 @@ var gagaInfiniteScroll = {
 			} else {
 			}
 
-			$addHtm.find('img.lazy').lazyload({root: null,
+			/*$addHtm.find('img.lazy').lazyload({root: null,
 						rootMargin: "100px",
-						threshold: 0});
+						threshold: 0});*/
 
 			$.each($imgs, function(index) {
 				$imgs.eq(index).on('load',function() {