ソースを参照

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

card007 5 年 前
コミット
07cd3006bd

+ 16 - 0
src/main/java/com/style24/core/biz/dao/TscPopupDao.java

@@ -31,4 +31,20 @@ public interface TscPopupDao {
      * @since 2021. 3. 3
      */
     Collection<Popup> getPopupList(Popup popup);
+
+    /**
+     * 팝업 등록/수정
+     * @return
+     * @author bin2107
+     * @since 2021. 3. 3
+     */
+    void savePopup(Popup popup);
+
+    /**
+     * 팝업 프런트 화면 삭제
+     * @return
+     * @author bin2107
+     * @since 2021. 3. 3
+     */
+    void deletePopupFront(Popup popup);
 }

+ 47 - 0
src/main/java/com/style24/core/biz/service/TscPopupService.java

@@ -1,11 +1,18 @@
 package com.style24.core.biz.service;
 
+import com.gagaframework.web.util.GagaDateUtil;
+import com.gagaframework.web.util.GagaFileUtil;
 import com.style24.core.biz.dao.TscPopupDao;
 import com.style24.persistence.domain.Popup;
 import lombok.extern.slf4j.Slf4j;
 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 java.io.File;
+import java.io.IOException;
 import java.util.Collection;
 
 /**
@@ -20,6 +27,9 @@ public class TscPopupService {
     @Autowired
     private TscPopupDao popupDao;
 
+    @Autowired
+    private Environment env;
+
     /**
      * 팝업 리스트 카운트
      * @return
@@ -39,4 +49,41 @@ public class TscPopupService {
     public Collection<Popup> getPopupList(Popup popup){
         return popupDao.getPopupList(popup);
     }
+
+    /**
+     * 팝업관리 저장
+     * @return
+     * @author bin2107
+     * @since 2021. 3. 3
+     */
+    @Transactional("shopTxnManager")
+    public void savePopup(Popup popup) {
+        String popupImgNm = "";
+        String displayUploadPath = env.getProperty("upload.default.target.path");
+
+        if(!StringUtils.isEmpty(popup.getNewImgFileNm1())){
+            String newFilename = "POPUP_" + GagaDateUtil.getTodayDateTime() + "." + StringUtils.getFilenameExtension(popup.getNewImgFileNm1());
+
+            // 기존이미지 삭제
+            try{
+                GagaFileUtil.deleteFile(GagaFileUtil.getConcatenationPath(displayUploadPath, popup.getOrgFileNm()));
+            }catch (IOException e){
+                //  nothing
+                log.info("[savePopup POPUP 기존 이미지 삭제중 error]");
+                //e.printStackTrace();
+            }
+
+            File uniqueFile = GagaFileUtil.getUniqueFile(new File(GagaFileUtil.getConcatenationPath(displayUploadPath, newFilename)));
+            File file = new File(GagaFileUtil.getConcatenationPath(displayUploadPath, popup.getNewImgFileNm1()));
+
+            // Rename a file
+            file.renameTo(uniqueFile);
+
+            popup.setOrgFileNm(newFilename);
+            popup.setSysFileNm(newFilename);
+        }
+        popupDao.savePopup(popup);
+        popupDao.deletePopupFront(popup);
+    }
+
 }

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

@@ -47,6 +47,8 @@ public class Popup extends TscBaseDomain {
     private String  newImgFileNm3;
     private String  newImgFileNm4;
     private String  newImgFileNm5;
+    private String  orgFileNm;
+    private String  sysFileNm;
 
     // Pagination
     private TscPageRequest pageable;

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

@@ -87,4 +87,84 @@
 		ORDER BY A.FRONT_GB, A.DISP_ORD, A.POPUP_SQ DESC
 	</select>
 
+	<!-- 팝업관리 등록/수정 -->
+	<insert id="savePopup" parameterType="Popup" keyProperty="popupSq">
+		/* TscPopup.savePopup */
+		INSERT INTO TB_POPUP(
+			POPUP_SQ
+			,SITE_CD
+			,FRONT_GB
+			,POPUP_GB
+			,IMG_URL1
+			,LINK_URL1
+			,VIEW_PAGE
+		<if test='cate1No != null and cate1No != ""'>
+			,CATE1_NO
+		</if>
+		<if test='brandCd != null and brandCd != ""'>
+			,BRAND_CD
+		</if>
+		<if test='planSq != null and planSq != ""'>
+			,PLAN_SQ
+		</if>
+			,DISP_STDT
+			,DISP_EDDT
+			,UNEXP_DAYS
+			,DISP_ORD
+			,REG_NO
+			,REG_DT
+		) VALUES (
+			#{popupSq}
+			,#{siteCd}
+			,#{frontGb}
+			,#{popupGb}
+			,#{imgUrl1}
+			,#{linkUrl1}
+			,#{viewPage}
+		<if test='cate1No != null and cate1No != ""'>
+			,#{cate1No}
+		</if>
+		<if test='brandCd != null and brandCd != ""'>
+			,#{brandCd}
+		</if>
+		<if test='planSq != null and planSq != ""'>
+			,#{planSq}
+		</if>
+			,#{dispStdt}
+			,#{dispEddt}
+			,#{unexpDays}
+			,#{dispOrd}
+			,#{regNo}
+			,NOW()
+		) ON DUPLICATE KEY UPDATE
+			FRONT_GB	= #{frontGb}
+			,IMG_URL1	= #{imgUrl1}
+			,LINK_URL1	= #{linkUrl1}
+			,VIEW_PAGE	= #{viewPage}
+		<if test='cate1No != null and cate1No != ""'>
+		    ,CATE1_NO	= #{cate1No}
+		</if>
+		<if test='brandCd != null and brandCd != ""'>
+			,BRAND_CD	= #{brandCd}
+		</if>
+		<if test='planSq != null and planSq != ""'>
+			,PLAN_SQ	= #{planSq}
+		</if>
+			,DISP_STDT	= #{dispStdt}
+			,DISP_EDDT	= #{dispEddt}
+			,UNEXP_DAYS	= #{unexpDays}
+			,DISP_ORD	= #{dispOrd}
+			,UPD_NO = #{updNo}
+			,UPD_DT = NOW()
+	</insert>
+
+	<!-- 팝업관리 프론트 삭제 -->
+	<delete id="deletePopupFront" parameterType="Popup">
+		/* TscPopup.deletePopupFront */
+		UPDATE TB_POPUP_FRONT
+		SET UPD_ID = #{updNo}
+		  , UPD_DT = (SELECT UPD_DT FROM TB_POPUP WHERE POPUP_SQ = #{popupSq})
+		  , USE_YN = 'N'
+		WHERE POPUP_SQ = #{popupSq}
+	</delete>
 </mapper>