ソースを参照

상품평 도메인 score 변경으로 인한 수정

eskim 5 年 前
コミット
f3d8955e8a

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

@@ -65,6 +65,7 @@ public class Review extends TscBaseDomain {
 	private String photoYn;			// 포토상품평유무
 	private String goodsType;		// 상품유형
 	private String selfGoodsYn;		// 자사상품여부
+	private int iscore;				// 구매평점(상품상세용)
 	private int rownum;
 	
 	private String reviewScore;		// 상품평 검색조건 평점

+ 10 - 7
src/main/java/com/style24/persistence/domain/ReviewAttach.java

@@ -14,11 +14,14 @@ import lombok.Data;
 @Data
 public class ReviewAttach extends TscBaseDomain {
 
-	private Integer rvAtcSq; 	//상품평첨부파일일련번호
-	private Integer reviewSq; 	//상품평일련번호
-	private String fileGb;		//첨부파일종류(M:동영상,I:이미지)
-	private String orgFileNm;	//원본파일명
-	private String sysFileNm;	//시스템파일명
-	private String delYn;		//삭제여부
-	
+	// 상품평 첨부파일
+	private Integer rvAtcSq;	// 상품평첨부파일일련번호
+	private Integer reviewSq;	// 상품평일련번호
+	private String fileGb;		// 첨부파일종류(M:동영상,I:이미지)
+	private String orgFileNm;	// 원본파일명
+	private String sysFileNm;	// 시스템파일명
+	private String kufKey;		// Kollus업로드파일키
+	private String kmcKey;		// Kollus미디어컨텐츠키
+	private String delYn;		// 삭제여부
+
 }

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

@@ -401,6 +401,7 @@
 		FROM TB_GOODS_VIDEO A
 		WHERE A.GOODS_CD = #{goodsCd} 
 		AND A.DISP_YN = 'Y'
+		AND A.KMC_KEY IS NOT NULL
 		ORDER BY A.VIDEO_SQ DESC
 		<if test="maxRownum != null and maxRownum > 0">
 		LIMIT #{maxRownum}
@@ -671,125 +672,135 @@
 	<!-- 상품 다다익선 목록 -->
 	<select id="getTmtbGoodsList" parameterType="Goods" resultType="Goods">
 		/* TsfGoods.getTmtbGoodsList */
+		WITH  TAB_MASTER_GOODS AS (
+		SELECT  Z.*
+		FROM (
+		    SELECT @rownum := @rownum + 1 AS RNUM
+		         , B.GOODS_CD
+		         , G.GOODS_NM
+		         , G.GOODS_GB
+		         , G.FOREIGN_BUY_YN
+		         , G.PARALLEL_IMPORT_YN
+		         , G.ORDER_MADE_YN
+		         , G.GOODS_STAT
+		         , G.GOODS_TYPE
+		         , G.MAIN_COLOR_CD
+		         , G.MIN_ORD_QTY
+		         , (CASE WHEN E.DISP_NM_LANG = 'EN' THEN E.BRAND_GROUP_ENM ELSE E.BRAND_GROUP_KNM END) AS BRAND_GROUP_NM
+		         , G.LIST_PRICE
+		         , G.CURR_PRICE
+		         , GS.STOCK_QTY
+		    FROM TB_TMTB A
+		    JOIN ( SELECT @rownum := 0) R
+		    INNER JOIN TB_TMTB_APPLY_GOODS B ON A.TMTB_SQ  = B.TMTB_SQ
+		                                     AND B.DEL_YN = 'N'
+		                                     AND B.GOODS_GB IN ( 'G800_10', 'G800_20')  -- 기본과 적용상품
+		    LEFT OUTER JOIN TB_TMTB_APPLY_GOODS BB ON B.TMTB_SQ  = BB.TMTB_SQ
+		                                     AND BB.DEL_YN = 'N'
+		                                     AND B.GOODS_CD = BB.GOODS_CD
+		                                     AND BB.GOODS_GB = 'G800_30'  -- 제외상품
+		                                     AND BB.GOODS_CD IS NULL
+		    INNER JOIN TB_GOODS G ON B.GOODS_CD = G.GOODS_CD
+		                          AND G.GOODS_STAT = 'G008_90'
+		                          AND G.SELF_MALL_YN = 'Y'
+		                          AND NOW() BETWEEN G.SELL_STDT AND G.SELL_EDDT
+		                          <![CDATA[
+		                          AND B.GOODS_CD <> #{goodsCd}  -- 자기상품은 제외
+		                          ]]>
+		    INNER JOIN TB_BRAND D ON G.BRAND_CD = D.BRAND_CD
+		                  AND D.USE_YN = 'Y'
+		    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
+		                          AND E.USE_YN = 'Y'
+		    INNER JOIN TB_GOODS_STOCK GS ON G.GOODS_CD = GS.GOODS_CD
+		                                 AND GS.STOCK_QTY > 0
+		    WHERE NOW() BETWEEN A.TMTB_ST_DT AND A.TMTB_ED_DT
+		    AND A.TMTB_STAT ='G232_11'
+		     <![CDATA[
+		    AND A.TMTB_SQ IN (SELECT TMTB_SQ FROM TB_TMTB_APPLY_GOODS WHERE GOODS_CD = #{goodsCd} AND DEL_YN = 'N' AND GOODS_GB IN ( 'G800_10', 'G800_20')) -- 기본과 적용상품
+		    AND A.TMTB_SQ NOT IN (SELECT TMTB_SQ FROM TB_TMTB_APPLY_GOODS WHERE GOODS_CD = #{goodsCd} AND DEL_YN = 'N' AND GOODS_GB = 'G800_30') -- 제외상품
+		     ]]>
+		    ORDER BY A.TMTB_SQ DESC
+		    ) Z
+		WHERE RNUM <![CDATA[<= ]]>#{maxRownum}
+		)
+		, TAB_GOODS AS (
+		    SELECT G.GOODS_CD
+		         , G.GOODS_NM
+		         , FN_GET_GOODS_NM(GOODS_NM,GOODS_GB,FOREIGN_BUY_YN,PARALLEL_IMPORT_YN,ORDER_MADE_YN) AS GOODS_FULL_NM /*상품FULL명*/
+		         -- , G.GOODS_GB
+		         -- , G.FOREIGN_BUY_YN
+		         -- , G.PARALLEL_IMPORT_YN
+		         -- , G.ORDER_MADE_YN
+		         , G.GOODS_STAT
+		         , G.GOODS_TYPE
+		         , G.MAIN_COLOR_CD
+		         , G.MIN_ORD_QTY
+		         , G.BRAND_GROUP_NM
+		         , G.LIST_PRICE
+		         , G.STOCK_QTY
+		         , FN_GET_BENEFIT_PRICE(#{frontGb},G.GOODS_CD, G.CURR_PRICE,#{custGb}) AS CURR_PRICE
+		         , (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') AS SYS_IMG_NM
+		         , (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 MOUSEOVER_IMG_YN = 'Y') AS SYS_IMG_NM2
+		         , (CASE WHEN G.GOODS_CD IS NULL THEN 'N' ELSE 'Y' END) AS WISH_YN
+		    FROM TAB_MASTER_GOODS G
+		    LEFT OUTER JOIN TB_WISHLIST W ON G.GOODS_CD = W.GOODS_CD
+		                                  AND IFNULL(#{custNo}, 0) = W.CUST_NO
+		)
 		SELECT Z.*
 		     , 100 - ROUND((CURR_PRICE / LIST_PRICE) * 100 ,0) AS DC_RATE
-		     , FN_GET_GOODS_NM(GOODS_NM,GOODS_GB,FOREIGN_BUY_YN,PARALLEL_IMPORT_YN,ORDER_MADE_YN) AS GOODS_FULL_NM /*상품FULL명*/
-		     , (SELECT MAX(SYS_IMG_NM) FROM TB_GOODS_IMG WHERE GOODS_CD = Z.GOODS_CD AND COLOR_CD = IFNULL(Z.MAIN_COLOR_CD,'XX') AND DEFAULT_IMG_YN = 'Y') AS SYS_IMG_NM
-		     , (SELECT MAX(SYS_IMG_NM) FROM TB_GOODS_IMG WHERE GOODS_CD = Z.GOODS_CD AND COLOR_CD = IFNULL(Z.MAIN_COLOR_CD,'XX') AND MOUSEOVER_IMG_YN = 'Y') AS SYS_IMG_NM2
-		     , V.VIDEO_GB_M
-		     , V.VIDEO_VAL_M
-		     , V.VIDEO_GB_S
-		     , V.VIDEO_VAL_S
-		     , (CASE WHEN W.GOODS_CD IS NULL THEN 'N' ELSE 'Y' END) AS WISH_YN
-		FROM (
-		      SELECT B.GOODS_CD 
-		           , G.GOODS_NM
-		           , G.GOODS_GB
-		           , G.FOREIGN_BUY_YN
-		           , G.PARALLEL_IMPORT_YN
-		           , G.ORDER_MADE_YN
-		           , G.GOODS_STAT
-		           , G.GOODS_TYPE
-		           , G.MAIN_COLOR_CD
-		           , G.MIN_ORD_QTY 
-		           , (CASE WHEN E.DISP_NM_LANG = 'EN' THEN E.BRAND_GROUP_ENM ELSE E.BRAND_GROUP_KNM END) AS BRAND_GROUP_NM
-		           , G.LIST_PRICE
-		           , FN_GET_BENEFIT_PRICE(#{frontGb},G.GOODS_CD, G.CURR_PRICE,#{custGb}) AS CURR_PRICE
-		           , S.STOCK_QTY
-		           , S.SOLDOUT_YN
-		           , S.OPT_CD
-		      FROM TB_TMTB A
-		      INNER JOIN TB_TMTB_APPLY_GOODS B ON A.TMTB_SQ  = B.TMTB_SQ
-		                                       AND B.DEL_YN = 'N'
-		                                       AND B.GOODS_GB IN ( 'G800_10', 'G800_20')  -- 기본과 적용상품
-		      LEFT OUTER JOIN TB_TMTB_APPLY_GOODS BB ON B.TMTB_SQ  = BB.TMTB_SQ
-		                                       AND BB.DEL_YN = 'N'
-		                                       AND B.GOODS_CD = BB.GOODS_CD
-		                                       AND BB.GOODS_GB = 'G800_30'  -- 제외상품
-		                                       AND BB.GOODS_CD IS NULL
-		      INNER JOIN TB_GOODS G ON B.GOODS_CD = G.GOODS_CD
-		                            AND G.GOODS_STAT = 'G008_90'
-		                            AND G.SELF_MALL_YN = 'Y'
-		                            AND NOW() BETWEEN G.SELL_STDT AND G.SELL_EDDT
-		                            <![CDATA[
-		                            AND B.GOODS_CD <> #{goodsCd}  -- 자기상품은 제외
-		                            ]]>
-		      INNER JOIN TB_BRAND D ON G.BRAND_CD = D.BRAND_CD
-		                    AND D.USE_YN = 'Y'
-		      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
-		                            AND E.USE_YN = 'Y'
-		      LEFT OUTER JOIN (SELECT GOODS_CD
-		                            , SUM(CASE WHEN SOLDOUT_YN = 'Y' THEN 0
-		                                       ELSE CURR_STOCK_QTY END) AS STOCK_QTY
-		                            , MIN(SOLDOUT_YN) AS SOLDOUT_YN
-		                            , MIN(CASE WHEN SOLDOUT_YN = 'N' THEN OPT_CD 
-		                                       ELSE 'XXX' END) AS OPT_CD 
-		                       FROM VW_STOCK
-		                       WHERE DISP_YN = 'Y'
-		                       GROUP BY GOODS_CD) S ON G.GOODS_CD = S.GOODS_CD
-		      WHERE NOW() BETWEEN A.TMTB_ST_DT AND A.TMTB_ED_DT
-		      AND A.TMTB_STAT ='G232_11'
-		       <![CDATA[
-		      AND A.TMTB_SQ IN (SELECT TMTB_SQ FROM TB_TMTB_APPLY_GOODS WHERE GOODS_CD = #{goodsCd} AND DEL_YN = 'N' AND GOODS_GB IN ( 'G800_10', 'G800_20')) -- 기본과 적용상품
-		      AND A.TMTB_SQ NOT IN (SELECT TMTB_SQ FROM TB_TMTB_APPLY_GOODS WHERE GOODS_CD = #{goodsCd} AND DEL_YN = 'N' AND GOODS_GB = 'G800_30') -- 제외상품
-		       ]]>
-		      ORDER BY A.TMTB_SQ 
-		) Z
-		LEFT OUTER JOIN (SELECT MAX(GOODS_CD) AS GOODS_CD 
-		                       , MAX(CASE WHEN  RNUM = 1 THEN  VIDEO_GB END) AS  VIDEO_GB_M
-		                       , MAX(CASE WHEN  RNUM = 1 THEN  KMC_KEY END) AS  VIDEO_VAL_M
-		                       , MAX(CASE WHEN  RNUM = 2 THEN  VIDEO_GB END) AS  VIDEO_GB_S
-		                       , MAX(CASE WHEN  RNUM = 2 THEN  KMC_KEY END) AS  VIDEO_VAL_S
-		                 FROM (
-		                       SELECT A.GOODS_CD
-		                            , A.VIDEO_GB 
-		                            , A.KMC_KEY 
-		                            , A.REG_DT 
-		                            , RANK() OVER(PARTITION BY A.GOODS_CD ORDER BY A.REG_DT ) RNUM 
-		                       FROM TB_GOODS_VIDEO A
-		                       WHERE A.DISP_YN = 'Y'
-		                      ) V
-		                 ) V ON Z.GOODS_CD = V.GOODS_CD
-		LEFT OUTER JOIN TB_WISHLIST W ON Z.GOODS_CD = W.GOODS_CD
-		                        AND IFNULL(#{custNo}, 0) = W.CUST_NO
-		LIMIT #{maxRownum}
+		--     , V.VIDEO_GB_M
+		--     , V.VIDEO_VAL_M
+		--     , V.VIDEO_GB_S
+		--     , V.VIDEO_VAL_S
+		FROM TAB_GOODS Z
+		-- LEFT OUTER JOIN (SELECT MAX(GOODS_CD) AS GOODS_CD
+		--                       , MAX(CASE WHEN  RNUM = 1 THEN  VIDEO_GB END) AS  VIDEO_GB_M
+		--                       , MAX(CASE WHEN  RNUM = 1 THEN  KMC_KEY END) AS  VIDEO_VAL_M
+		--                       , MAX(CASE WHEN  RNUM = 2 THEN  VIDEO_GB END) AS  VIDEO_GB_S
+		--                       , MAX(CASE WHEN  RNUM = 2 THEN  KMC_KEY END) AS  VIDEO_VAL_S
+		--                 FROM (
+		--                       SELECT A.GOODS_CD
+		--                            , A.VIDEO_GB
+		--                            , A.KMC_KEY
+		--                            , A.REG_DT
+		--                            , RANK() OVER(PARTITION BY A.GOODS_CD ORDER BY A.REG_DT, A.KMC_KEY ) RNUM
+		--                       FROM TAB_GOODS G
+		--                       INNER JOIN TB_GOODS_VIDEO A ON G.GOODS_CD = A.GOODS_CD
+		--                       WHERE A.DISP_YN = 'Y'
+		--                       AND A.KMC_KEY IS NOT NULL
+		--                      ) V
+		--                 ) V ON Z.GOODS_CD = V.GOODS_CD
 	</select>
 	
 	<!--  추천상품 목록 -->
 	<select id="getRecommendGoodsList" parameterType="Goods" resultType="Goods">
 		/* TsfGoods.getRecommendGoodsList */
-		SELECT Z.*
-		     , 100 - ROUND((CURR_PRICE / LIST_PRICE) * 100 ,0) AS DC_RATE
-		     , FN_GET_GOODS_NM(GOODS_NM,GOODS_GB,FOREIGN_BUY_YN,PARALLEL_IMPORT_YN,ORDER_MADE_YN) AS GOODS_FULL_NM /*상품FULL명*/
-		     , (SELECT MAX(SYS_IMG_NM) FROM TB_GOODS_IMG WHERE GOODS_CD = Z.GOODS_CD AND COLOR_CD = IFNULL(Z.MAIN_COLOR_CD,'XX') AND DEFAULT_IMG_YN = 'Y') AS SYS_IMG_NM
-		     , (SELECT MAX(SYS_IMG_NM) FROM TB_GOODS_IMG WHERE GOODS_CD = Z.GOODS_CD AND COLOR_CD = IFNULL(Z.MAIN_COLOR_CD,'XX') AND MOUSEOVER_IMG_YN = 'Y') AS SYS_IMG_NM2
-		     , V.VIDEO_GB_M
-		     , V.VIDEO_VAL_M
-		     , V.VIDEO_GB_S
-		     , V.VIDEO_VAL_S
-		     , (CASE WHEN W.GOODS_CD IS NULL THEN 'N' ELSE 'Y' END) AS WISH_YN
+		WITH  TAB_MASTER_GOODS AS (
+		SELECT  Z.*
 		FROM (
-		      SELECT G.GOODS_CD 
-		           , G.GOODS_NM
-		           , G.GOODS_GB
-		           , G.FOREIGN_BUY_YN
-		           , G.PARALLEL_IMPORT_YN
-		           , G.ORDER_MADE_YN
-		           , G.GOODS_STAT
-		           , G.GOODS_TYPE
-		           , G.MAIN_COLOR_CD
-		           , G.MIN_ORD_QTY 
-		           , (CASE WHEN E.DISP_NM_LANG = 'EN' THEN E.BRAND_GROUP_ENM ELSE E.BRAND_GROUP_KNM END) AS BRAND_GROUP_NM
-		           , G.LIST_PRICE
-		           , FN_GET_BENEFIT_PRICE(#{frontGb},G.GOODS_CD, G.CURR_PRICE,#{custGb}) AS CURR_PRICE
-		           , GS.STOCK_QTY
-		           , A.DISP_ORD
-		      FROM (
+		    SELECT  @rownum := @rownum + 1 AS RNUM
+		         , G.GOODS_CD
+		         , G.GOODS_NM
+		         , G.GOODS_GB
+		         , G.FOREIGN_BUY_YN
+		         , G.PARALLEL_IMPORT_YN
+		         , G.ORDER_MADE_YN
+		         , G.GOODS_STAT
+		         , G.GOODS_TYPE
+		         , G.MAIN_COLOR_CD
+		         , G.MIN_ORD_QTY
+		         , (CASE WHEN E.DISP_NM_LANG = 'EN' THEN E.BRAND_GROUP_ENM ELSE E.BRAND_GROUP_KNM END) AS BRAND_GROUP_NM
+		         , G.LIST_PRICE
+		         , G.CURR_PRICE
+		         , GS.STOCK_QTY
+		         , A.DISP_ORD
+		    FROM (
 		             ${goodsSql}
 		           ) A
+		      JOIN ( SELECT @rownum := 0) R     
 		      INNER JOIN TB_GOODS G ON A.GOODS_CD = G.GOODS_CD
 		      INNER JOIN TB_BRAND D ON G.BRAND_CD = D.BRAND_CD
 		                            AND D.USE_YN = 'Y'
@@ -800,55 +811,39 @@
 		                                  AND E.USE_YN = 'Y'
 		      INNER JOIN TB_GOODS_STOCK GS ON G.GOODS_CD = GS.GOODS_CD
 		                                   AND GS.STOCK_QTY > 0
-		      WHERE 1 = 1
-		      AND G.GOODS_STAT = 'G008_90'
+		     WHERE G.GOODS_STAT = 'G008_90'
 		      AND G.SELF_MALL_YN = 'Y'
 		      AND NOW() BETWEEN G.SELL_STDT AND G.SELL_EDDT
 		      <![CDATA[
 		      AND G.GOODS_CD <> #{goodsCd}  -- 자기상품은 제외
 		      ]]>
-		      <choose>
-		      <when test="arrGoodsCd != null and arrGoodsCd.length>0">
-		      AND UPPER(G.GOODS_CD) IN
-		          <foreach collection="arrGoodsCd" item="item" index="index"  open="(" close=")" separator=",">
-		           UPPER(#{item})
-		          </foreach>
-		      </when>
-		      <otherwise>
-		      AND 1 = 2   -- 실행안되게
-		      </otherwise>
-		      </choose>
-		) Z
-		LEFT OUTER JOIN (SELECT MAX(GOODS_CD) AS GOODS_CD 
-		                      , MAX(CASE WHEN  RNUM = 1 THEN  VIDEO_GB END) AS  VIDEO_GB_M
-		                      , MAX(CASE WHEN  RNUM = 1 THEN  KMC_KEY END) AS  VIDEO_VAL_M
-		                      , MAX(CASE WHEN  RNUM = 2 THEN  VIDEO_GB END) AS  VIDEO_GB_S
-		                      , MAX(CASE WHEN  RNUM = 2 THEN  KMC_KEY END) AS  VIDEO_VAL_S
-		                 FROM (
-		                       SELECT A.GOODS_CD
-		                            , A.VIDEO_GB 
-		                            , A.KMC_KEY 
-		                            , A.REG_DT 
-		                            , RANK() OVER(PARTITION BY A.GOODS_CD ORDER BY A.REG_DT ) RNUM 
-		                       FROM TB_GOODS_VIDEO A
-		                       WHERE A.DISP_YN = 'Y'
-		                       <choose>
-		                       <when test="arrGoodsCd != null and arrGoodsCd.length>0">
-		                       AND UPPER(A.GOODS_CD) IN
-		                           <foreach collection="arrGoodsCd" item="item" index="index"  open="(" close=")" separator=",">
-		                            UPPER(#{item})
-		                           </foreach>
-		                       </when>
-		                       <otherwise>
-		                       AND 1 = 2   -- 실행안되게
-		                       </otherwise>
-		                       </choose>
-		                      ) V
-		                 ) V ON Z.GOODS_CD = V.GOODS_CD
-		LEFT OUTER JOIN TB_WISHLIST W ON Z.GOODS_CD = W.GOODS_CD
-		                        AND IFNULL(#{custNo}, 0) = W.CUST_NO
+		    ) Z
+		WHERE RNUM <![CDATA[<= ]]>#{maxRownum}
+		)
+		, TAB_GOODS AS (
+		    SELECT G.GOODS_CD
+		         , G.GOODS_NM
+		         , FN_GET_GOODS_NM(GOODS_NM,GOODS_GB,FOREIGN_BUY_YN,PARALLEL_IMPORT_YN,ORDER_MADE_YN) AS GOODS_FULL_NM /*상품FULL명*/
+		         , G.GOODS_STAT
+		         , G.GOODS_TYPE
+		         , G.MAIN_COLOR_CD
+		         , G.MIN_ORD_QTY
+		         , G.BRAND_GROUP_NM
+		         , G.LIST_PRICE
+		         , G.STOCK_QTY
+		         , G.DISP_ORD
+		         , FN_GET_BENEFIT_PRICE(#{frontGb},G.GOODS_CD, G.CURR_PRICE,#{custGb}) AS CURR_PRICE
+		         , (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') AS SYS_IMG_NM
+		         , (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 MOUSEOVER_IMG_YN = 'Y') AS SYS_IMG_NM2
+		         , (CASE WHEN G.GOODS_CD IS NULL THEN 'N' ELSE 'Y' END) AS WISH_YN
+		    FROM TAB_MASTER_GOODS G
+		    LEFT OUTER JOIN TB_WISHLIST W ON G.GOODS_CD = W.GOODS_CD
+		                                  AND IFNULL(#{custNo}, 0) = W.CUST_NO
+		)
+		SELECT Z.*
+		     , 100 - ROUND((CURR_PRICE / LIST_PRICE) * 100 ,0) AS DC_RATE
+		FROM TAB_GOODS Z
 		ORDER BY DISP_ORD
-		LIMIT #{maxRownum}
 	</select>
 	
 	<!-- 재입고 알림 미 알림 조회 -->
@@ -1244,6 +1239,7 @@
 		                 , TB_GOODS_VIDEO VD
 		            WHERE  G.GOODS_CD = VD.GOODS_CD
 		            AND    VD.DISP_YN = 'Y'
+		            AND    VD.KMC_KEY IS NOT NULL
 		           ) Z
 		    GROUP  BY GOODS_CD
 		)
@@ -1393,6 +1389,7 @@
 		                 , TB_GOODS_VIDEO VD
 		            WHERE  G.GOODS_CD = VD.GOODS_CD
 		            AND    VD.DISP_YN = 'Y'
+		            AND    VD.KMC_KEY IS NOT NULL
 		           ) Z
 		    GROUP  BY GOODS_CD
 		)

+ 1 - 0
src/main/java/com/style24/persistence/mybatis/shop/TsfReview.xml

@@ -113,6 +113,7 @@
 		     , R.REVIEW_TITLE
 		     , R.REVIEW_CONTENT
 		     , R.SCORE
+		     , CAST(R.SCORE AS UNSIGNED) AS ISCORE
 		     , R.HEIGHT
 		     , R.WEIGHT
 		     , R.SCORE_SIZE

+ 1 - 1
src/main/webapp/WEB-INF/views/mob/goods/GoodsDetailFormMob.html

@@ -498,7 +498,7 @@
 								<!-- 베스트 리뷰 등록시 노출 -->
 								<div class="best_review">
 									<a href="javascript:void(0);" th:onclick="cfGoodsReviewDetail([[${goodsInfo.goodsCd}]],'Y', '',[[${bestReview.reviewSq}]])">
-										<div class="star_score" th:with="starScore=${#numbers.formatDecimal((bestReview.score*100/5), 0,0)}">
+										<div class="star_score" th:with="starScore=${#numbers.formatDecimal((bestReview.iscore*100/5), 0,0)}">
 											<span class="star">
 												<em class="progbar" th:style="${'width:'+starScore+'%;' }"></em> <!-- 평점 style로 표기 -->
 											</span>

+ 1 - 1
src/main/webapp/WEB-INF/views/mob/goods/GoodsDetailReviewFormMob.html

@@ -415,7 +415,7 @@
 						<div class="swiper-slide" th:each="bestReview, status : ${bestReviewList}">
 							<div class="best_review">
 								<a href="javascript:void(0);">
-									<div class="star_score" th:with="starScore=${#numbers.formatDecimal((bestReview.score*100/5), 0,0)}">
+									<div class="star_score" th:with="starScore=${#numbers.formatDecimal((bestReview.iscore*100/5), 0,0)}">
 										<span class="star">
 											<em class="progbar" th:style="${'width:'+starScore+'%;' }"></em> <!-- 평점 style로 표기 -->
 										</span>

+ 1 - 1
src/main/webapp/WEB-INF/views/mob/goods/GoodsReviewDetailFormMob.html

@@ -67,7 +67,7 @@
 								<li>
 									<div class="review">
 										<div class="info_box">
-											<div class="star_score" h:with="starScore=${#numbers.formatDecimal((review.score*100/5), 0,0)}">
+											<div class="star_score" th:with="starScore=${#numbers.formatDecimal((review.iscore*100/5), 0,0)}">
 												<span class="star">
 													<em class="progbar" th:style="${'width:'+starScore+'%;' }"></em> <!-- 평점 style로 표기 -->
 												</span>

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

@@ -394,7 +394,7 @@
 													<span class="thumb" th:classAppend="${(reviewAttach.fileGb == 'M') ? 'mov' :''}" th:style="${'background-image:url('+imgUrl+ reviewAttach.sysFileNm+');'}"></span><!-- 동영상의 썸네일일 경우 mov 클래스 추가 -->
 													</th:block>
 												</div>
-												<div class="star_score" th:with="starScore=${#numbers.formatDecimal((bestReview.score*100/5), 0,0)}">
+												<div class="star_score" th:with="starScore=${#numbers.formatDecimal((bestReview.iscore*100/5), 0,0)}">
 													<span class="star">
 														<em class="progbar" th:style="${'width:'+starScore+'%;' }"></em> <!-- 평점 style로 표기 -->
 													</span>

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

@@ -307,7 +307,7 @@
 								<span class="thumb" th:style="${'background-image:url('+imgGoodsUrl+ '/'+goodsInfo.sysImgNm+'?RS=365);'}">
 								</span>
 							</div>
-							<div class="star_score" th:with="starScore=${#numbers.formatDecimal((bestReview.score*100/5), 0,0)}">
+							<div class="star_score" th:with="starScore=${#numbers.formatDecimal((bestReview.iscore*100/5), 0,0)}">
 								<span class="star">
 									<em class="progbar" th:style="${'width:'+starScore+'%;' }"></em> <!-- 평점 style로 표기 -->
 								</span>
@@ -461,7 +461,7 @@
 			$('#goodsReviewForm  input[name="secretYn"]').val('N');
 		} */
 		// Initialize a pagination
-		gagaPaging.init('goodsReviewForm', fnGetListCallback, 'pageNav', 1);
+		gagaPaging.init('goodsReviewForm', fnGetListCallback, 'pageNav', 20);
 
 		// Load data
 		gagaPaging.load(1);

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

@@ -56,7 +56,7 @@
 								<div class="review_cont">
 									<div class="box_wrap">
 										<div class="star_box">
-											<div class="star_score" th:with="starScore=${#numbers.formatDecimal((review.score*100/5), 0,0)}">
+											<div class="star_score" th:with="starScore=${#numbers.formatDecimal((review.iscore*100/5), 0,0)}">
 												<span class="star">
 													<em class="progbar" th:style="${'width:'+starScore+'%;' }"></em> <!-- 평점 style로 표기 -->
 												</span>