From 89fdadbdadcce2d1fef90d9edee2c1c7f1e19381 Mon Sep 17 00:00:00 2001 From: SeoJin Kim Date: Wed, 11 Aug 2021 11:35:45 +0900 Subject: [PATCH] =?UTF-8?q?[Spring][=EC=87=BC=ED=95=91=EB=AA=B0=20?= =?UTF-8?q?=ED=94=84=EB=A1=9C=EC=A0=9D=ED=8A=B8][30]=20(=EC=9D=B4=EB=AF=B8?= =?UTF-8?q?=EC=A7=80=20=EC=A1=B4=EC=9E=AC)=20=EC=83=81=ED=92=88=20?= =?UTF-8?q?=EC=A0=95=EB=B3=B4=20=EC=82=AD=EC=A0=9C=20=EC=BD=94=EB=93=9C=20?= =?UTF-8?q?=EB=B3=B4=EC=99=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://kimvampa.tistory.com/243 --- .../com/vam/controller/AdminController.java | 26 ++++++++++++++++++ .../main/java/com/vam/mapper/AdminMapper.java | 3 +++ .../java/com/vam/service/AdminService.java | 4 +++ .../com/vam/service/AdminServiceImpl.java | 15 +++++++++++ .../resources/com/vam/mapper/AdminMapper.xml | 7 +++++ .../java/com/vam/mapper/AdminMapperTests.java | 17 +++++++++++- .../classes/com/vam/mapper/AdminMapper.xml | 7 +++++ .../maven/com.vam/controller/pom.properties | 2 +- .../com/vam/controller/AdminController.java | 27 +++++++++++++++++++ .../main/java/com/vam/mapper/AdminMapper.java | 3 +++ .../java/com/vam/service/AdminService.java | 4 +++ .../com/vam/service/AdminServiceImpl.java | 13 +++++++++ .../resources/com/vam/mapper/AdminMapper.xml | 7 +++++ .../java/com/vam/mapper/AdminMapperTests.java | 17 ++++++++++++ .../classes/com/vam/mapper/AdminMapper.xml | 7 +++++ .../maven/com.vam/controller/pom.properties | 2 +- 16 files changed, 158 insertions(+), 3 deletions(-) diff --git a/VamPa/src/main/java/com/vam/controller/AdminController.java b/VamPa/src/main/java/com/vam/controller/AdminController.java index fc41500..80f072b 100644 --- a/VamPa/src/main/java/com/vam/controller/AdminController.java +++ b/VamPa/src/main/java/com/vam/controller/AdminController.java @@ -5,6 +5,8 @@ import java.io.File; import java.io.IOException; import java.net.URLDecoder; import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; @@ -139,6 +141,30 @@ public class AdminController { logger.info("goodsDeletePOST.........."); + List fileList = adminService.getAttachInfo(bookId); + + if(fileList != null) { + + List pathList = new ArrayList(); + + fileList.forEach(vo ->{ + + // 원본 이미지 + Path path = Paths.get("C:\\upload", vo.getUploadPath(), vo.getUuid() + "_" + vo.getFileName()); + pathList.add(path); + + // 섬네일 이미지 + path = Paths.get("C:\\upload", vo.getUploadPath(), "s_" + vo.getUuid()+"_" + vo.getFileName()); + pathList.add(path); + + }); + + pathList.forEach(path ->{ + path.toFile().delete(); + }); + + } + int result = adminService.goodsDelete(bookId); rttr.addFlashAttribute("delete_result", result); diff --git a/VamPa/src/main/java/com/vam/mapper/AdminMapper.java b/VamPa/src/main/java/com/vam/mapper/AdminMapper.java index ad5c610..b858372 100644 --- a/VamPa/src/main/java/com/vam/mapper/AdminMapper.java +++ b/VamPa/src/main/java/com/vam/mapper/AdminMapper.java @@ -39,4 +39,7 @@ public interface AdminMapper { /* 어제자 날짜 이미지 리스트 */ public List checkFileList(); + /* 지정 상품 이미지 정보 얻기 */ + public List getAttachInfo(int bookId); + } diff --git a/VamPa/src/main/java/com/vam/service/AdminService.java b/VamPa/src/main/java/com/vam/service/AdminService.java index 11e884b..a89962a 100644 --- a/VamPa/src/main/java/com/vam/service/AdminService.java +++ b/VamPa/src/main/java/com/vam/service/AdminService.java @@ -2,6 +2,7 @@ package com.vam.service; import java.util.List; +import com.vam.model.AttachImageVO; import com.vam.model.BookVO; import com.vam.model.CateVO; import com.vam.model.Criteria; @@ -29,4 +30,7 @@ public interface AdminService { /* 상품 정보 삭제 */ public int goodsDelete(int bookId); + /* 지정 상품 이미지 정보 얻기 */ + public List getAttachInfo(int bookId); + } diff --git a/VamPa/src/main/java/com/vam/service/AdminServiceImpl.java b/VamPa/src/main/java/com/vam/service/AdminServiceImpl.java index 798406e..71157eb 100644 --- a/VamPa/src/main/java/com/vam/service/AdminServiceImpl.java +++ b/VamPa/src/main/java/com/vam/service/AdminServiceImpl.java @@ -102,13 +102,28 @@ public class AdminServiceImpl implements AdminService { return result; } + /* 상품 정보 삭제 */ @Override + @Transactional public int goodsDelete(int bookId) { log.info("goodsDelete.........."); + adminMapper.deleteImageAll(bookId); + return adminMapper.goodsDelete(bookId); } + + /* 지정 상품 이미지 정보 얻기 */ + @Override + public List getAttachInfo(int bookId) { + + log.info("getAttachInfo........"); + + return adminMapper.getAttachInfo(bookId); + } + + } diff --git a/VamPa/src/main/resources/com/vam/mapper/AdminMapper.xml b/VamPa/src/main/resources/com/vam/mapper/AdminMapper.xml index 4fd6e02..5dab7ff 100644 --- a/VamPa/src/main/resources/com/vam/mapper/AdminMapper.xml +++ b/VamPa/src/main/resources/com/vam/mapper/AdminMapper.xml @@ -108,5 +108,12 @@ select * from vam_image where uploadpath = to_char(sysdate -1, 'yyyy\mm\dd') + + + \ No newline at end of file diff --git a/VamPa/src/test/java/com/vam/mapper/AdminMapperTests.java b/VamPa/src/test/java/com/vam/mapper/AdminMapperTests.java index da8d69b..713dfa5 100644 --- a/VamPa/src/test/java/com/vam/mapper/AdminMapperTests.java +++ b/VamPa/src/test/java/com/vam/mapper/AdminMapperTests.java @@ -1,6 +1,8 @@ package com.vam.mapper; +import java.util.List; + import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; @@ -8,7 +10,6 @@ import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import com.vam.model.AttachImageVO; -import com.vam.model.BookVO; @RunWith(SpringJUnit4ClassRunner.class) @@ -164,12 +165,26 @@ public class AdminMapperTests { */ /* 어제자 날짜 이미지 리스트 */ + /* @Test public void checkImageListTest() { mapper.checkFileList(); } + */ + + /* 지정 상품 이미지 정보 얻기 */ + @Test + public void getAttachInfoTest() { + + int bookId = 3141; + + List list = mapper.getAttachInfo(bookId); + + System.out.println("list : " + list); + + } diff --git a/VamPa/target/classes/com/vam/mapper/AdminMapper.xml b/VamPa/target/classes/com/vam/mapper/AdminMapper.xml index 4fd6e02..5dab7ff 100644 --- a/VamPa/target/classes/com/vam/mapper/AdminMapper.xml +++ b/VamPa/target/classes/com/vam/mapper/AdminMapper.xml @@ -108,5 +108,12 @@ select * from vam_image where uploadpath = to_char(sysdate -1, 'yyyy\mm\dd') + + + \ No newline at end of file diff --git a/VamPa/target/m2e-wtp/web-resources/META-INF/maven/com.vam/controller/pom.properties b/VamPa/target/m2e-wtp/web-resources/META-INF/maven/com.vam/controller/pom.properties index 9eb479e..85731f8 100644 --- a/VamPa/target/m2e-wtp/web-resources/META-INF/maven/com.vam/controller/pom.properties +++ b/VamPa/target/m2e-wtp/web-resources/META-INF/maven/com.vam/controller/pom.properties @@ -1,5 +1,5 @@ #Generated by Maven Integration for Eclipse -#Sun Jul 25 23:04:40 KST 2021 +#Wed Aug 11 10:43:19 KST 2021 m2e.projectLocation=C\:\\Users\\sjinj\\git\\Blog_Project2\\VamPa m2e.projectName=VamPa groupId=com.vam diff --git a/VamPa_MySQL/src/main/java/com/vam/controller/AdminController.java b/VamPa_MySQL/src/main/java/com/vam/controller/AdminController.java index 43b0f62..17295fb 100644 --- a/VamPa_MySQL/src/main/java/com/vam/controller/AdminController.java +++ b/VamPa_MySQL/src/main/java/com/vam/controller/AdminController.java @@ -5,6 +5,8 @@ import java.io.File; import java.io.IOException; import java.net.URLDecoder; import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; @@ -139,6 +141,31 @@ public class AdminController { logger.info("goodsDeletePOST.........."); + + List fileList = adminService.getAttachInfo(bookId); + + if(fileList != null) { + + List pathList = new ArrayList(); + + fileList.forEach(vo ->{ + + // 원본 이미지 + Path path = Paths.get("C:\\upload", vo.getUploadPath(), vo.getUuid() + "_" + vo.getFileName()); + pathList.add(path); + + // 섬네일 이미지 + path = Paths.get("C:\\upload", vo.getUploadPath(), "s_" + vo.getUuid()+"_" + vo.getFileName()); + pathList.add(path); + + }); + + pathList.forEach(path ->{ + path.toFile().delete(); + }); + + } + int result = adminService.goodsDelete(bookId); rttr.addFlashAttribute("delete_result", result); diff --git a/VamPa_MySQL/src/main/java/com/vam/mapper/AdminMapper.java b/VamPa_MySQL/src/main/java/com/vam/mapper/AdminMapper.java index 11364e4..6f0d126 100644 --- a/VamPa_MySQL/src/main/java/com/vam/mapper/AdminMapper.java +++ b/VamPa_MySQL/src/main/java/com/vam/mapper/AdminMapper.java @@ -39,4 +39,7 @@ public interface AdminMapper { /* 어제자 날짜 이미지 리스트 */ public List checkFileList(); + /* 지정 상품 이미지 정보 얻기 */ + public List getAttachInfo(int bookId); + } diff --git a/VamPa_MySQL/src/main/java/com/vam/service/AdminService.java b/VamPa_MySQL/src/main/java/com/vam/service/AdminService.java index e6b1893..a694369 100644 --- a/VamPa_MySQL/src/main/java/com/vam/service/AdminService.java +++ b/VamPa_MySQL/src/main/java/com/vam/service/AdminService.java @@ -2,6 +2,7 @@ package com.vam.service; import java.util.List; +import com.vam.model.AttachImageVO; import com.vam.model.BookVO; import com.vam.model.CateVO; import com.vam.model.Criteria; @@ -29,4 +30,7 @@ public interface AdminService { /* 상품 정보 삭제 */ public int goodsDelete(int bookId); + /* 지정 상품 이미지 정보 얻기 */ + public List getAttachInfo(int bookId); + } diff --git a/VamPa_MySQL/src/main/java/com/vam/service/AdminServiceImpl.java b/VamPa_MySQL/src/main/java/com/vam/service/AdminServiceImpl.java index 4c2554f..3b97089 100644 --- a/VamPa_MySQL/src/main/java/com/vam/service/AdminServiceImpl.java +++ b/VamPa_MySQL/src/main/java/com/vam/service/AdminServiceImpl.java @@ -7,6 +7,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import com.vam.mapper.AdminMapper; +import com.vam.model.AttachImageVO; import com.vam.model.BookVO; import com.vam.model.CateVO; import com.vam.model.Criteria; @@ -99,11 +100,23 @@ public class AdminServiceImpl implements AdminService { /* 상품 정보 삭제 */ @Override + @Transactional public int goodsDelete(int bookId) { log.info("goodsDelete.........."); + adminMapper.deleteImageAll(bookId); + return adminMapper.goodsDelete(bookId); } + /* 지정 상품 이미지 정보 얻기 */ + @Override + public List getAttachInfo(int bookId) { + + log.info("getAttachInfo........"); + + return adminMapper.getAttachInfo(bookId); + } + } diff --git a/VamPa_MySQL/src/main/resources/com/vam/mapper/AdminMapper.xml b/VamPa_MySQL/src/main/resources/com/vam/mapper/AdminMapper.xml index bfd5691..285ba61 100644 --- a/VamPa_MySQL/src/main/resources/com/vam/mapper/AdminMapper.xml +++ b/VamPa_MySQL/src/main/resources/com/vam/mapper/AdminMapper.xml @@ -97,6 +97,13 @@ select * from vam_image where uploadpath = DATE_FORMAT(DATE_ADD(NOW(), INTERVAL -1 DAY), '%Y\%m\%d') + + + + \ No newline at end of file diff --git a/VamPa_MySQL/src/test/java/com/vam/mapper/AdminMapperTests.java b/VamPa_MySQL/src/test/java/com/vam/mapper/AdminMapperTests.java index 60dd1c5..7057862 100644 --- a/VamPa_MySQL/src/test/java/com/vam/mapper/AdminMapperTests.java +++ b/VamPa_MySQL/src/test/java/com/vam/mapper/AdminMapperTests.java @@ -1,11 +1,14 @@ package com.vam.mapper; +import java.util.List; + import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import com.vam.model.AttachImageVO; import com.vam.model.BookVO; @RunWith(SpringJUnit4ClassRunner.class) @@ -164,12 +167,26 @@ public class AdminMapperTests { */ /* 어제자 날짜 이미지 리스트 */ + /* @Test public void checkImageListTest() { mapper.checkFileList(); } + */ + + /* 지정 상품 이미지 정보 얻기 */ + @Test + public void getAttachInfoTest() { + + int bookId = 3076; + + List list = mapper.getAttachInfo(bookId); + + System.out.println("list : " + list); + + } diff --git a/VamPa_MySQL/target/classes/com/vam/mapper/AdminMapper.xml b/VamPa_MySQL/target/classes/com/vam/mapper/AdminMapper.xml index bfd5691..285ba61 100644 --- a/VamPa_MySQL/target/classes/com/vam/mapper/AdminMapper.xml +++ b/VamPa_MySQL/target/classes/com/vam/mapper/AdminMapper.xml @@ -97,6 +97,13 @@ select * from vam_image where uploadpath = DATE_FORMAT(DATE_ADD(NOW(), INTERVAL -1 DAY), '%Y\%m\%d') + + + + \ No newline at end of file diff --git a/VamPa_MySQL/target/m2e-wtp/web-resources/META-INF/maven/com.vam/controller/pom.properties b/VamPa_MySQL/target/m2e-wtp/web-resources/META-INF/maven/com.vam/controller/pom.properties index 076ecac..a419e89 100644 --- a/VamPa_MySQL/target/m2e-wtp/web-resources/META-INF/maven/com.vam/controller/pom.properties +++ b/VamPa_MySQL/target/m2e-wtp/web-resources/META-INF/maven/com.vam/controller/pom.properties @@ -1,5 +1,5 @@ #Generated by Maven Integration for Eclipse -#Sun Jul 25 23:15:48 KST 2021 +#Wed Aug 11 10:43:21 KST 2021 m2e.projectLocation=C\:\\Users\\sjinj\\git\\Blog_Project2\\VamPa_MySQL m2e.projectName=VamPa_MySQL groupId=com.vam