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

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

jsh77b 5 лет назад
Родитель
Сommit
b2a38aaab8

+ 77 - 0
src/main/java/com/style24/core/biz/dao/TscLookbookDao.java

@@ -0,0 +1,77 @@
+package com.style24.core.biz.dao;
+
+import java.util.Collection;
+
+import org.springframework.stereotype.Repository;
+
+import com.style24.core.support.annotation.ShopDs;
+import com.style24.persistence.domain.Lookbook;
+import com.style24.persistence.domain.LookbookGoods;
+
+/**
+ * 룩북 Dao
+ *
+ * @author bin2107
+ * @since 2020. 03. 05
+ */
+@ShopDs
+@Repository
+public interface TscLookbookDao {
+    /**
+     * 룩북 등록/수정
+     * @return
+     * @author bin2107
+     * @since 2021. 3. 5
+     */
+    void saveLookbook(Lookbook lookbook);
+    
+
+    /**
+     * 룩북 리스트 카운트
+     * @return
+     * @author bin2107
+     * @since 2021. 3. 5
+     */
+    int getLookbookListCount(Lookbook lookbook);
+
+    /**
+     * 룩북 리스트
+     * @return
+     * @author bin2107
+     * @since 2021. 3. 5
+     */
+    Collection<Lookbook> getLookbookList(Lookbook lookbook);
+
+    /**
+     * 룩북 삭제
+     * @return
+     * @author bin2107
+     * @since 2021. 3. 5
+     */
+    void deleteLookbook(Lookbook lookbook);
+    
+    
+    /**
+     *  front 영역
+     */
+    
+    /**
+	 * 룩북 베너 목록
+	 *
+	 * @param lookbook
+	 * @return
+	 * @author eskim
+	 * @date 2021. 2. 18
+	 */
+	Collection<Lookbook> getLookbookBannerList(Lookbook lookbook);
+	
+	/**
+	 * 룩북 베너별 상품 목록
+	 *
+	 * @param lookbook
+	 * @return
+	 * @author eskim
+	 * @date 2021. 2. 18
+	 */
+	Collection<LookbookGoods> getLookbookBannerGoodsList(Lookbook lookbook);
+}

+ 122 - 0
src/main/java/com/style24/core/biz/service/TscLookbookService.java

@@ -0,0 +1,122 @@
+package com.style24.core.biz.service;
+
+import java.io.File;
+import java.util.Collection;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.core.env.Environment;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.StringUtils;
+
+import com.style24.core.biz.dao.TscLookbookDao;
+import com.style24.persistence.domain.Lookbook;
+
+import lombok.extern.slf4j.Slf4j;
+
+import com.gagaframework.web.util.GagaDateUtil;
+import com.gagaframework.web.util.GagaFileUtil;
+
+/**
+ * 룩북 Service
+ *
+ * @author bin2107
+ * @since 2020. 03. 05
+ */
+@Service
+@Slf4j
+public class TscLookbookService {
+    @Autowired
+    private TscLookbookDao lookbookDao;
+
+    @Autowired
+    private Environment env;
+
+    /**
+     * 팝업관리 저장
+     * @return
+     * @author bin2107
+     * @since 2021. 3. 3
+     */
+    @Transactional("shopTxnManager")
+    public void saveLookbook(Lookbook lookbook) {
+        if(!StringUtils.isEmpty(lookbook.getNewSysTnfileNm())){
+            String bannerUploadPath = env.getProperty("upload.default.target.path");
+            bannerUploadPath = bannerUploadPath + "/display";
+            String yearMonth = GagaDateUtil.getToday().substring(0, 6);
+            bannerUploadPath = GagaFileUtil.getConcatenationPath(bannerUploadPath, "/lookbook/thumbnail");
+            File newFile = new File(GagaFileUtil.getConcatenationPath(bannerUploadPath, lookbook.getNewSysTnfileNm()));
+            bannerUploadPath = GagaFileUtil.getConcatenationPath(bannerUploadPath, yearMonth);
+            String newFilename = "LOOKBOOK_" + GagaDateUtil.getTodayDateTime() + "." + StringUtils.getFilenameExtension(lookbook.getNewSysTnfileNm());
+            File uniqueFile = GagaFileUtil.getUniqueFile(new File(GagaFileUtil.getConcatenationPath(bannerUploadPath, newFilename)));
+//          Rename a file
+            File path = new File(bannerUploadPath);
+            if (!path.exists()) {
+                path.mkdir();
+            }
+            newFile.renameTo(uniqueFile);
+
+            lookbook.setOrgTnfileNm("/lookbook/thumbnail/" + yearMonth + "/" + newFilename);
+            lookbook.setSysTnfileNm("/lookbook/thumbnail/" + yearMonth + "/" + newFilename);
+        }
+
+        lookbookDao.saveLookbook(lookbook);
+    }
+
+
+    /**
+     * 룩북 리스트 카운트
+     * @return
+     * @author bin2107
+     * @since 2021. 3. 5
+     */
+    public int getLookbookListCount(Lookbook lookbook) {
+        return lookbookDao.getLookbookListCount(lookbook);
+    }
+
+    /**
+     * 룩북 리스트
+     * @return
+     * @author bin2107
+     * @since 2021. 3. 5
+     */
+    public Collection<Lookbook> getLookbookList(Lookbook lookbook){
+        return lookbookDao.getLookbookList(lookbook);
+    }
+
+    /**
+     * 룩북 삭제
+     * @return
+     * @author bin2107
+     * @since 2021. 3. 5
+     */
+    @Transactional("shopTxnManager")
+    public void deleteLookbook(Lookbook lookbook){
+        for(String lookbookSq : lookbook.getSelectDataArr()){
+            lookbook.setLookbookSq(Integer.parseInt(lookbookSq));
+            lookbookDao.deleteLookbook(lookbook);
+        }
+    }
+    
+    /**
+     * front 영역
+     */
+    
+    /**
+	 * 룩북
+	 *
+	 * @param lookbook
+	 * @return
+	 * @author eskim
+	 * @since 2021. 2. 18
+	 */
+	public Collection<Lookbook> getLookbookListForGoods(Lookbook lookbook) {
+		Collection<Lookbook> lookbookBannerList = lookbookDao.getLookbookBannerList(lookbook);
+		
+		for (Lookbook tempLookbook : lookbookBannerList) {
+			tempLookbook.setLookbookGoodsList(lookbookDao.getLookbookBannerGoodsList(tempLookbook));
+		}
+		
+		return lookbookBannerList;
+	}
+}

+ 0 - 3
src/main/java/com/style24/persistence/domain/Customer.java

@@ -129,18 +129,15 @@ public class Customer extends TscBaseDomain {
 	}
 
 	public String getMaskingCustNm() {
-		this.custNm = CryptoUtils.decryptAES(this.custNm);
 		return TscSession.getAttribute("maskingYn").equals("Y") ? MaskingUtils.name(this.custNm) : this.custNm;
 
 	}
 
 	public String getMaskingCellPhnno() {
-		this.cellPhnno = CryptoUtils.decryptAES(this.cellPhnno);
 		return TscSession.getAttribute("maskingYn").equals("Y") ? MaskingUtils.phoneNo(this.cellPhnno) : this.cellPhnno;
 	}
 
 	public String getMaskingEmail() {
-		this.email = CryptoUtils.decryptAES(this.email);
 		return TscSession.getAttribute("maskingYn").equals("Y") ? MaskingUtils.email(this.email) : this.email;
 	}
 

+ 54 - 0
src/main/java/com/style24/persistence/domain/Lookbook.java

@@ -0,0 +1,54 @@
+package com.style24.persistence.domain;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.style24.persistence.TscBaseDomain;
+
+import com.style24.persistence.TscPageRequest;
+import lombok.Data;
+
+/**
+ * 룩북 도메인
+ * @author bin2107
+ * @since 2021-03-05
+ */
+@SuppressWarnings("serial")
+@Data
+public class Lookbook extends TscBaseDomain {
+    private Integer lookbookSq;     //룩분일련번호
+    private String  brandCd;        //브랜드
+    private String  fyear;
+    private String  tyear;
+    private String  seasonStr;
+    private String  title;          //타이틀
+    private String  orgTnfileNm;    //원본썸네일명
+    private String  sysTnfileNm;    //시스템썸네일명
+    private String  newSysTnfileNm;
+    private String  dispStdt;       //전시시작일
+    private String  dispStTime;
+    private String  dispEddt;       //전시종료일
+    private String  dispEdTime;
+    private String  dispYn;         //표시여부
+    private Integer dispOrd;        //표시순서
+    private String  mainDispYn;     //메인노출여부
+    
+    private Integer lookbookbSq;	// 룩북배너일련번호
+	private String orgFileNm;		// 원본파일명
+	private String sysFileNm;		// 시스템파일명
+
+	Collection<LookbookGoods> lookbookGoodsList;	//베너별 상품목록
+	
+	private String goodsCd; 		// 상품상세검색용
+	private String frontGb; 		// 상품상세검색용
+	private String custGb; 			// 상품상세검색용
+    
+    @JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
+    private String[] selectDataArr;
+
+    // Pagination
+    private TscPageRequest pageable;
+    private int pageNo = 1;
+    private int pageSize = 50;
+    private int pageUnit = 10;
+   
+}

+ 21 - 0
src/main/java/com/style24/persistence/domain/LookbookBanner.java

@@ -0,0 +1,21 @@
+package com.style24.persistence.domain;
+
+import com.style24.persistence.TscBaseDomain;
+import lombok.Data;
+
+/**
+ * 룩북 배너 도메인
+ * @author bin2107
+ * @since 2021-03-05
+ */
+@SuppressWarnings("serial")
+@Data
+public class LookbookBanner extends TscBaseDomain {
+    private Integer lookbookbSq;        //룩북배너일련번호
+    private Integer lookbookSq;         //룩북일련번호
+    private String  orgFileNm;          //원본파일명
+    private String  sysFileNm;          //시스템파일명
+    private String  imgDesc;            //이미지설명
+    private String  dispYn;             //표시여부
+    private int     dispOrd;            //표시순서
+}

+ 18 - 0
src/main/java/com/style24/persistence/domain/LookbookGoods.java

@@ -0,0 +1,18 @@
+package com.style24.persistence.domain;
+
+import com.style24.persistence.TscBaseDomain;
+import lombok.Data;
+
+/**
+ * 룩북 상품 도메인
+ * @author bin2107
+ * @since 2021-03-05
+ */
+@SuppressWarnings("serial")
+@Data
+public class LookbookGoods extends TscBaseDomain {
+    private Integer lookbookbSq;    //룩북배너일련번호
+    private String  goodsCd;        //상품코드
+    private int     dispOrd;        //표시순서
+    private String  delYn;          //삭제여부
+}

+ 22 - 0
src/main/java/com/style24/persistence/domain/LookbookPicker.java

@@ -0,0 +1,22 @@
+package com.style24.persistence.domain;
+
+import com.style24.persistence.TscBaseDomain;
+import lombok.Data;
+
+/**
+ * 룩북 피커 도메인
+ * @author bin2107
+ * @since 2021-03-05
+ */
+@SuppressWarnings("serial")
+@Data
+public class LookbookPicker extends TscBaseDomain {
+    private Integer lbPickerSq;     //룩북피커일련번호
+    private Integer lookbookbSq;    //룩북배너일련번호
+    private Integer lookbookSq;     //룩북일련번호
+    private float   xlim;           //X좌표
+    private float   ylim;           //Y좌표
+    private String  goodsCd;        //상품코드
+    private int     dispOrd;        //표시순서
+    private String  useYn;          //사용여부
+}

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

@@ -28,7 +28,7 @@ public class Popup extends TscBaseDomain {
     private String  linkUrl4;
     private String  linkUrl5;
     private String  viewPage;
-    private Integer cate1No;
+    private Integer cateNo;
     private String  brandCd;
     private Integer planSq;
     private String  dispStdt;

+ 199 - 0
src/main/java/com/style24/persistence/mybatis/shop/TscLookbook.xml

@@ -0,0 +1,199 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.style24.core.biz.dao.TscLookbookDao">
+
+	<!-- 룩북 저장/수정 -->
+	<insert id="saveLookbook" parameterType="Lookbook" keyProperty="lookbookSq">
+		/* TscLookbook.saveLookbook */
+		INSERT	INTO	TB_LOOKBOOK(
+			LOOKBOOK_SQ
+			,BRAND_CD
+			,TITLE
+			,ORG_TNFILE_NM
+			,SYS_TNFILE_NM
+			,DISP_STDT
+			,DISP_EDDT
+			,DISP_YN
+			,DISP_ORD
+			,MAIN_DISP_YN
+			,REG_NO
+			,REG_DT
+			,UPD_NO
+			,UPD_DT
+		) VALUES (
+			#{lookbookSq}
+			,#{brandCd}
+			,#{title}
+			,#{orgTnfileNm}
+			,#{sysTnfileNm}
+			,#{dispStdt}
+			,#{dispEddt}
+		 	,#{dispYn}
+			,#{dispOrd}
+			,#{mainDispYn}
+			,#{regNo}
+			,NOW()
+			,#{updNo}
+			,NOW()
+		)
+	</insert>
+	
+	<!-- 룩북 리스트 카운트 -->
+	<select id="getLookbookListCount" parameterType="Lookbook" resultType="int">
+		/* TscLookbook.getLookbookListCount */
+		SELECT	COUNT(*) AS TOTCNT
+		FROM	TB_LOOKBOOK
+		WHERE	1=1
+		AND 	DISP_YN = 'Y'
+		<if test="dispEddt != null and dispEddt !=''">
+		<![CDATA[
+		AND DISP_STDT <= STR_TO_DATE(CONCAT(#{dispEddt},#{dispEdTime}),'%Y-%m-%d %H:%i:%S')
+		]]>
+		</if>
+		<if test="dispStdt != null and dispStdt !=''">
+		<![CDATA[
+		AND DISP_STDT >= STR_TO_DATE(CONCAT(#{dispStdt},#{dispStTime}),'%Y-%m-%d %H:%i:%S')
+		]]>
+		</if>
+		<if test='brandCd != null and brandCd != ""'>
+		AND	BRAND_CD = #{brandCd}
+		</if>
+	</select>
+
+	<!-- 룩북 리스트 -->
+	<select id="getLookbookList" parameterType="Lookbook" resultType="Lookbook">
+		/* TscLookbook.getLookbookList */
+		SELECT	LOOKBOOK_SQ
+				,BRAND_CD
+				,TITLE
+				,ORG_TNFILE_NM
+				,SYS_TNFILE_NM
+				,DISP_STDT
+				,DISP_EDDT
+				,DISP_YN
+				,DISP_ORD
+				,MAIN_DISP_YN
+				,REG_NO
+				, FN_GET_USER_NM(REG_NO) AS REG_NM
+				,REG_DT
+				,UPD_NO
+				, FN_GET_USER_NM(UPD_NO) AS UPD_NM
+				,UPD_DT
+		FROM	TB_LOOKBOOK
+		WHERE	1=1
+		AND 	DISP_YN = 'Y'
+		<if test="dispEddt != null and dispEddt !=''">
+			<![CDATA[
+		AND DISP_STDT <= STR_TO_DATE(CONCAT(#{dispEddt},#{dispEdTime}),'%Y-%m-%d %H:%i:%S')
+		]]>
+		</if>
+		<if test="dispStdt != null and dispStdt !=''">
+			<![CDATA[
+		AND DISP_STDT >= STR_TO_DATE(CONCAT(#{dispStdt},#{dispStTime}),'%Y-%m-%d %H:%i:%S')
+		]]>
+		</if>
+		<if test='brandCd != null and brandCd != ""'>
+			AND	BRAND_CD = #{brandCd}
+		</if>
+	</select>
+
+	<!-- 룩북 노출안함 처리 -->
+	<update id="deleteLookbook" parameterType="Lookbook">
+		/* TscLookbook.deleteLookbook */
+		UPDATE	TB_LOOKBOOK
+		SET 	DISP_YN = 'N'
+		WHERE	LOOKBOOK_SQ = #{lookbookSq}
+	</update>
+	
+	
+	<!-- front 영역-->
+	
+	<!-- 룩북 베너 목록 조회 -->
+	<select id="getLookbookBannerList" parameterType="Lookbook" resultType="Lookbook">
+		/* TsfGoods.getLookbookBannerList */
+		SELECT A.LOOKBOOK_SQ
+		     , A.BRAND_CD
+		     , A.TITLE
+		     , B.LOOKBOOKB_SQ
+		     , B.SYS_FILE_NM
+		FROM TB_LOOKBOOK A
+		INNER JOIN TB_LOOKBOOK_BANNER B ON A.LOOKBOOK_SQ = B.LOOKBOOK_SQ 
+			                            AND B.DISP_YN = 'Y'
+			                            AND B.LOOKBOOKB_SQ IN (SELECT LOOKBOOKB_SQ FROM TB_LOOKBOOK_GOODS WHERE  GOODS_CD = #{goodsCd} AND DEL_YN  ='N')
+		WHERE NOW() BETWEEN A.DISP_STDT AND A.DISP_EDDT
+		AND A.DISP_YN  = 'Y'
+		ORDER BY A.DISP_ORD, B.DISP_ORD
+	</select>
+	
+	<!-- 룩북 베너 상품 목록 조회 -->
+	<select id="getLookbookBannerGoodsList" parameterType="Lookbook" resultType="Lookbook">
+		/* TsfGoods.getLookbookBannerGoodsList */
+		SELECT Z.*
+		     , 100 - ROUND((CURR_PRICE / LIST_PRICE) * 100 ,0) AS DC_RATE
+		FROM (
+		      SELECT A.LOOKBOOK_SQ
+		           , B.LOOKBOOKB_SQ 
+		           , C.GOODS_CD 
+		           , RANK() OVER(PARTITION BY A.LOOKBOOK_SQ, B.LOOKBOOKB_SQ  ORDER BY C.DISP_ORD ) RNUM 
+		           , C.DISP_ORD 
+		           , G.GOODS_NM
+		           , CONCAT(IF(IFNULL(G.GOODS_GB,'') IN ('G073_11','G073_15', ''), '',IFNULL(CONCAT('[',FN_GET_CODE_NM('G073',G.GOODS_GB),']'),'') )
+		                   ,IF(G.FOREIGN_BUY_YN='N','[해외구매대행]','' )
+		                   ,IF(G.PARALLEL_IMPORT_YN = 'Y','[병행수입]','')
+		                   ,IF(G.ORDER_MADE_YN='Y','[주문제작]','')
+		                   ,G.GOODS_NM ) AS GOODS_FULL_NM
+		          , G.GOODS_STAT
+		          , G.MIN_ORD_QTY 
+		          , (CASE WHEN D.DISP_NM_LANG = 'EN' THEN D.BRAND_ENM ELSE D.BRAND_KNM END) AS BRAND_NM
+		          , G.LIST_PRICE
+		          , FN_GET_BENEFIT_PRICE(#{frontGb},G.GOODS_CD, G.CURR_PRICE,#{custGb}) AS CURR_PRICE
+		          , G.MAIN_COLOR_CD
+		          , (SELECT MAX(SYS_IMG_NM) FROM TB_GOODS_IMG WHERE GOODS_CD = G.GOODS_CD AND COLOR_CD = IFNULL(G.MAIN_COLOR_CD,'00') 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,'00') AND MOUSEOVER_IMG_YN = 'Y') AS SYS_IMG_NM2
+		          , S.STOCK_QTY
+		          , S.SOLDOUT_YN
+		          , V.VIDEO_GB_M
+		          , V.VIDEO_VAL_M
+		          , V.VIDEO_GB_S
+		          , V.VIDEO_VAL_S
+		      FROM TB_LOOKBOOK A
+		      INNER JOIN TB_LOOKBOOK_BANNER B ON A.LOOKBOOK_SQ = B.LOOKBOOK_SQ 
+		                                      AND B.DISP_YN = 'Y'
+		                                      AND B.LOOKBOOKB_SQ = #{lookbookbSq}
+		      INNER JOIN TB_LOOKBOOK_GOODS C ON B.LOOKBOOKB_SQ  = C.LOOKBOOKB_SQ 
+		      INNER JOIN TB_GOODS G ON C.GOODS_CD = G.GOODS_CD
+		                            AND G.GOODS_STAT = 'G008_90'
+		      INNER JOIN TB_BRAND D ON G.BRAND_CD = D.BRAND_CD
+		                    AND D.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
+		                       FROM VW_STOCK
+		                       WHERE DISP_YN = 'Y'
+		                       GROUP BY GOODS_CD) S ON G.GOODS_CD = S.GOODS_CD
+		      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  VIDEO_VAL END) AS  VIDEO_VAL_M
+		                             , MAX(CASE WHEN  RNUM = 2 THEN  VIDEO_GB END) AS  VIDEO_GB_S
+		                             , MAX(CASE WHEN  RNUM = 2 THEN  VIDEO_VAL END) AS  VIDEO_VAL_S
+		                       FROM (
+		                             SELECT A.DISPLOC_VAL AS GOODS_CD
+		                                  , B.VIDEO_GB 
+		                                  , B.VIDEO_VAL 
+		                                  , A.REG_DT 
+		                                  , RANK() OVER(PARTITION BY A.DISPLOC_VAL ORDER BY A.REG_DT ) RNUM 
+		                             FROM TB_VIDEO_DISPLOC  A
+		                             INNER JOIN  TB_VIDEO B ON A.VIDEO_SQ = B.VIDEO_SQ 
+		                                                    AND B.DISP_YN ='Y'
+		                             WHERE A.DISPLOC_GB ='G'
+		                             AND A.DISP_YN = 'Y'
+		                            ) V
+		                       ) V ON G.GOODS_CD = V.GOODS_CD
+		      WHERE NOW() BETWEEN A.DISP_STDT AND A.DISP_EDDT
+		      AND A.DISP_YN  = 'Y'
+		      AND A.LOOKBOOK_SQ = #{lookbookSq}
+		) Z
+	</select>
+</mapper>

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

@@ -6,8 +6,8 @@
 	<select id="getPopupListCount" parameterType="Popup" resultType="int">
 		/* TscPopup.getPopupListCount */
 		SELECT	COUNT(*) AS TOTCNT
-		FROM	TB_POPUP A
-		LEFT OUTER JOIN TB_POPUP_FRONT B
+		FROM	TB_POPUP_PREVIEW A
+		LEFT OUTER JOIN TB_POPUP B
 		ON 	A.POPUP_SQ = B.POPUP_SQ
 		WHERE	1=1
 		AND A.USE_YN = 'Y'
@@ -48,7 +48,7 @@
 			, A.LINK_URL5
 			, A.VIEW_PAGE
 			, (SELECT CD_NM FROM TB_COMMON_CODE WHERE CD_GB = 'G037' AND CD = A.VIEW_PAGE) AS VIEW_PAGE_NM
-			, A.CATE1_NO
+			, A.CATE_NO
 			, A.BRAND_CD
 			, A.PLAN_SQ
 			, A.DISP_ORD
@@ -65,8 +65,8 @@
 			, A.REG_NO
 			, FN_GET_USER_NM(A.REG_NO) AS REG_NM
 			, DATE_FORMAT(A.REG_DT,'%Y-%m-%d %H:%i:%S') AS REG_DT
-		FROM	TB_POPUP A
-		LEFT OUTER JOIN TB_POPUP_FRONT B
+		FROM	TB_POPUP_PREVIEW A
+		LEFT OUTER JOIN TB_POPUP B
 		ON 	A.POPUP_SQ = B.POPUP_SQ
 		WHERE	1=1
 		AND A.USE_YN = 'Y'
@@ -92,7 +92,7 @@
 	<!-- 팝업관리 등록/수정 -->
 	<insert id="savePopup" parameterType="Popup" keyProperty="popupSq">
 		/* TscPopup.savePopup */
-		INSERT INTO TB_POPUP(
+		INSERT INTO TB_POPUP_PREVIEW(
 			POPUP_SQ
 			,SITE_CD
 			,FRONT_GB
@@ -100,8 +100,8 @@
 			,IMG_URL1
 			,LINK_URL1
 			,VIEW_PAGE
-		<if test='cate1No != null and cate1No != ""'>
-			,CATE1_NO
+		<if test='cateNo != null and cateNo != ""'>
+			,CATE_NO
 		</if>
 		<if test='brandCd != null and brandCd != ""'>
 			,BRAND_CD
@@ -126,8 +126,8 @@
 			,#{sysFileNm}
 			,#{linkUrl1}
 			,#{viewPage}
-		<if test='cate1No != null and cate1No != ""'>
-			,#{cate1No}
+		<if test='cateNo != null and cateNo != ""'>
+			,#{cateNo}
 		</if>
 		<if test='brandCd != null and brandCd != ""'>
 			,#{brandCd}
@@ -149,8 +149,8 @@
 			,IMG_URL1	= #{sysFileNm}
 			,LINK_URL1	= #{linkUrl1}
 			,VIEW_PAGE	= #{viewPage}
-		<if test='cate1No != null and cate1No != ""'>
-		    ,CATE1_NO	= #{cate1No}
+		<if test='cateNo != null and cateNo != ""'>
+		    ,CATE_NO	= #{cateNo}
 		</if>
 		<if test='brandCd != null and brandCd != ""'>
 			,BRAND_CD	= #{brandCd}
@@ -170,7 +170,7 @@
 	<!-- 팝업관리 팝업 삭제 -->
 	<update id="deletePopup" parameterType="Popup">
 		/* TscPopup.deletePopup */
-		UPDATE TB_POPUP
+		UPDATE TB_POPUP_PREVIEW
 		SET UPD_NO = #{updNo}
 		  , UPD_DT = NOW()
 		  , USE_YN = 'N'
@@ -180,9 +180,9 @@
 	<!-- 팝업관리 프론트 삭제 -->
 	<update id="deletePopupFront" parameterType="Popup">
 		/* TscPopup.deletePopupFront */
-		UPDATE TB_POPUP_FRONT
+		UPDATE TB_POPUP
 		SET UPD_NO = #{updNo}
-		  , UPD_DT = (SELECT UPD_DT FROM TB_POPUP WHERE POPUP_SQ = #{popupSq})
+		  , UPD_DT = (SELECT UPD_DT FROM TB_POPUP_PREVIEW WHERE POPUP_SQ = #{popupSq})
 		  , USE_YN = 'N'
 		WHERE POPUP_SQ = #{popupSq}
 	</update>
@@ -190,14 +190,14 @@
 	<!-- 팝업관리 프론트 적용 -->
 	<insert id="savePopupFront" parameterType="Popup">
 		/* TscPopup.savePopupFront */
-		INSERT INTO TB_POPUP_FRONT ( POPUP_SQ
+		INSERT INTO TB_POPUP ( POPUP_SQ
 								   , SITE_CD
 								   , FRONT_GB
 								   , POPUP_GB
 								   , IMG_URL1
 								   , LINK_URL1
 								   , VIEW_PAGE
-								   , CATE1_NO
+								   , CATE_NO
 								   , BRAND_CD
 								   , PLAN_SQ
 								   , DISP_STDT
@@ -219,7 +219,7 @@
 							  , IMG_URL1
 							  , LINK_URL1
 							  , VIEW_PAGE
-							  , CATE1_NO
+							  , CATE_NO
 							  , BRAND_CD
 							  , PLAN_SQ
 							  , DISP_STDT
@@ -231,7 +231,7 @@
 							  , NOW()		AS REG_DT
 							  , #{updNo}	AS UPD_NO
 							  , NOW()		AS UPD_DT
-						 FROM TB_POPUP
+						 FROM TB_POPUP_PREVIEW
 						 WHERE POPUP_SQ = #{popupSq}
 					 ) B
 			) ON DUPLICATE KEY
@@ -242,7 +242,7 @@
 			,IMG_URL1 = B.IMG_URL1
 			,LINK_URL1 = B.LINK_URL1
 			,VIEW_PAGE = B.VIEW_PAGE
-			,CATE1_NO = B.CATE1_NO
+			,CATE_NO = B.CATE_NO
 			,BRAND_CD = B.BRAND_CD
 			,PLAN_SQ = B.PLAN_SQ
 			,DISP_STDT = B.DISP_STDT