From 6cf31b67f259ee44eef9d31ce4c050dae231115f Mon Sep 17 00:00:00 2001 From: SeoJin Kim Date: Tue, 20 Jul 2021 19:56:43 +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][29]=20=EC=83=81=ED=92=88?= =?UTF-8?q?=20=EC=9D=B4=EB=AF=B8=EC=A7=80=20=EC=88=98=EC=A0=95=20-=203(?= =?UTF-8?q?=EC=84=9C=EB=B2=84=EC=B2=98=EB=A6=AC)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://kimvampa.tistory.com/237 --- .../main/java/com/vam/mapper/AdminMapper.java | 3 +++ .../com/vam/service/AdminServiceImpl.java | 19 ++++++++++++++--- .../resources/com/vam/mapper/AdminMapper.xml | 7 +++++++ .../WEB-INF/views/admin/goodsModify.jsp | 2 +- .../java/com/vam/mapper/AdminMapperTests.java | 14 +++++++++++-- .../classes/com/vam/mapper/AdminMapper.xml | 7 +++++++ .../maven/com.vam/controller/pom.properties | 2 +- .../main/java/com/vam/mapper/AdminMapper.java | 3 +++ .../com/vam/service/AdminServiceImpl.java | 21 +++++++++++++++---- .../resources/com/vam/mapper/AdminMapper.xml | 7 +++++++ .../WEB-INF/views/admin/goodsModify.jsp | 2 +- .../java/com/vam/mapper/AdminMapperTests.java | 10 +++++++++ .../classes/com/vam/mapper/AdminMapper.xml | 7 +++++++ .../maven/com.vam/controller/pom.properties | 2 +- 14 files changed, 93 insertions(+), 13 deletions(-) diff --git a/VamPa/src/main/java/com/vam/mapper/AdminMapper.java b/VamPa/src/main/java/com/vam/mapper/AdminMapper.java index d29abf6..5e1b328 100644 --- a/VamPa/src/main/java/com/vam/mapper/AdminMapper.java +++ b/VamPa/src/main/java/com/vam/mapper/AdminMapper.java @@ -33,4 +33,7 @@ public interface AdminMapper { /* 이미지 등록 */ public void imageEnroll(AttachImageVO vo); + /* 지정 상품 이미지 전체 삭제 */ + public void deleteImageAll(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 863fb6c..798406e 100644 --- a/VamPa/src/main/java/com/vam/service/AdminServiceImpl.java +++ b/VamPa/src/main/java/com/vam/service/AdminServiceImpl.java @@ -80,13 +80,26 @@ public class AdminServiceImpl implements AdminService { } /* 상품 정보 수정 */ + @Transactional @Override public int goodsModify(BookVO vo) { + + int result = adminMapper.goodsModify(vo); - log.info("goodsModify........"); - - return adminMapper.goodsModify(vo); + if(result == 1 && vo.getImageList() != null && vo.getImageList().size() > 0) { + + adminMapper.deleteImageAll(vo.getBookId()); + + vo.getImageList().forEach(attach -> { + + attach.setBookId(vo.getBookId()); + adminMapper.imageEnroll(attach); + + }); + + } + return result; } /* 상품 정보 삭제 */ diff --git a/VamPa/src/main/resources/com/vam/mapper/AdminMapper.xml b/VamPa/src/main/resources/com/vam/mapper/AdminMapper.xml index 2773fde..e69f0ec 100644 --- a/VamPa/src/main/resources/com/vam/mapper/AdminMapper.xml +++ b/VamPa/src/main/resources/com/vam/mapper/AdminMapper.xml @@ -94,5 +94,12 @@ insert into vam_image(bookId, fileName, uploadPath, uuid) values (#{bookId}, #{fileName}, #{uploadPath}, #{uuid}) + + + + + delete FROM vam_image where bookId = #{bookId} + + \ No newline at end of file diff --git a/VamPa/src/main/webapp/WEB-INF/views/admin/goodsModify.jsp b/VamPa/src/main/webapp/WEB-INF/views/admin/goodsModify.jsp index 29be4c0..bfb9e9d 100644 --- a/VamPa/src/main/webapp/WEB-INF/views/admin/goodsModify.jsp +++ b/VamPa/src/main/webapp/WEB-INF/views/admin/goodsModify.jsp @@ -629,7 +629,7 @@ $("input[type='file']").on("change", function(e){ /* 이미지 존재시 삭제 */ - if($(".imgDeleteBtn").length > 0){ + if($("#result_card").length > 0){ deleteFile(); } diff --git a/VamPa/src/test/java/com/vam/mapper/AdminMapperTests.java b/VamPa/src/test/java/com/vam/mapper/AdminMapperTests.java index 2d2b4ca..95833d5 100644 --- a/VamPa/src/test/java/com/vam/mapper/AdminMapperTests.java +++ b/VamPa/src/test/java/com/vam/mapper/AdminMapperTests.java @@ -19,7 +19,7 @@ public class AdminMapperTests { private AdminMapper mapper; /* 상품 등록 */ - + /* @Test public void bookEnrollTest() throws Exception{ @@ -43,7 +43,7 @@ public class AdminMapperTests { System.out.println("After BookVO :" + book); } - + */ /* 카테고리 리스트 */ /* @@ -151,6 +151,16 @@ public class AdminMapperTests { } */ + /* 지정 상품 이미지 삭제 */ + @Test + public void deleteImageAllTest() { + + int bookId = 3124; + + mapper.deleteImageAll(bookId); + + } + } diff --git a/VamPa/target/classes/com/vam/mapper/AdminMapper.xml b/VamPa/target/classes/com/vam/mapper/AdminMapper.xml index 2773fde..e69f0ec 100644 --- a/VamPa/target/classes/com/vam/mapper/AdminMapper.xml +++ b/VamPa/target/classes/com/vam/mapper/AdminMapper.xml @@ -94,5 +94,12 @@ insert into vam_image(bookId, fileName, uploadPath, uuid) values (#{bookId}, #{fileName}, #{uploadPath}, #{uuid}) + + + + + delete FROM vam_image where bookId = #{bookId} + + \ 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 d096ce3..6ca05fc 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 -#Tue Jul 13 15:56:55 KST 2021 +#Tue Jul 20 15:40: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/mapper/AdminMapper.java b/VamPa_MySQL/src/main/java/com/vam/mapper/AdminMapper.java index fa004ff..caf7707 100644 --- a/VamPa_MySQL/src/main/java/com/vam/mapper/AdminMapper.java +++ b/VamPa_MySQL/src/main/java/com/vam/mapper/AdminMapper.java @@ -33,4 +33,7 @@ public interface AdminMapper { /* 이미지 등록 */ public void imageEnroll(AttachImageVO vo); + /* 지정 상품 이미지 전체 삭제 */ + public void deleteImageAll(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 a83ef83..4c2554f 100644 --- a/VamPa_MySQL/src/main/java/com/vam/service/AdminServiceImpl.java +++ b/VamPa_MySQL/src/main/java/com/vam/service/AdminServiceImpl.java @@ -75,14 +75,27 @@ public class AdminServiceImpl implements AdminService { } /* 상품 정보 수정 */ + @Transactional @Override public int goodsModify(BookVO vo) { + + int result = adminMapper.goodsModify(vo); - log.info("goodsModify........"); + if(result == 1 && vo.getImageList() != null && vo.getImageList().size() > 0) { + + adminMapper.deleteImageAll(vo.getBookId()); + + vo.getImageList().forEach(attach -> { + + attach.setBookId(vo.getBookId()); + adminMapper.imageEnroll(attach); + + }); + + } - return adminMapper.goodsModify(vo); - - } + return result; + } /* 상품 정보 삭제 */ @Override 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 3fc68d7..7ba04a6 100644 --- a/VamPa_MySQL/src/main/resources/com/vam/mapper/AdminMapper.xml +++ b/VamPa_MySQL/src/main/resources/com/vam/mapper/AdminMapper.xml @@ -84,5 +84,12 @@ insert into vam_image(bookId, fileName, uploadPath, uuid) values (#{bookId}, #{fileName}, #{uploadPath}, #{uuid}) + + + + + delete FROM vam_image where bookId = #{bookId} + + \ No newline at end of file diff --git a/VamPa_MySQL/src/main/webapp/WEB-INF/views/admin/goodsModify.jsp b/VamPa_MySQL/src/main/webapp/WEB-INF/views/admin/goodsModify.jsp index 7246cd0..45622e9 100644 --- a/VamPa_MySQL/src/main/webapp/WEB-INF/views/admin/goodsModify.jsp +++ b/VamPa_MySQL/src/main/webapp/WEB-INF/views/admin/goodsModify.jsp @@ -627,7 +627,7 @@ $("input[type='file']").on("change", function(e){ /* 이미지 존재시 삭제 */ - if($(".imgDeleteBtn").length > 0){ + if($("#result_card").length > 0){ deleteFile(); } 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 20745be..c8e8c45 100644 --- a/VamPa_MySQL/src/test/java/com/vam/mapper/AdminMapperTests.java +++ b/VamPa_MySQL/src/test/java/com/vam/mapper/AdminMapperTests.java @@ -150,4 +150,14 @@ public class AdminMapperTests { } */ + /* 지정 상품 이미지 삭제 */ + @Test + public void deleteImageAllTest() { + + int bookId = 3124; + + mapper.deleteImageAll(bookId); + + } + } diff --git a/VamPa_MySQL/target/classes/com/vam/mapper/AdminMapper.xml b/VamPa_MySQL/target/classes/com/vam/mapper/AdminMapper.xml index 3fc68d7..7ba04a6 100644 --- a/VamPa_MySQL/target/classes/com/vam/mapper/AdminMapper.xml +++ b/VamPa_MySQL/target/classes/com/vam/mapper/AdminMapper.xml @@ -84,5 +84,12 @@ insert into vam_image(bookId, fileName, uploadPath, uuid) values (#{bookId}, #{fileName}, #{uploadPath}, #{uuid}) + + + + + delete FROM vam_image where bookId = #{bookId} + + \ 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 1fe7f9b..f61e169 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 -#Tue Jul 13 15:56:56 KST 2021 +#Tue Jul 20 15:40:20 KST 2021 m2e.projectLocation=C\:\\Users\\sjinj\\git\\Blog_Project2\\VamPa_MySQL m2e.projectName=VamPa_MySQL groupId=com.vam