diff --git a/VamPa/src/main/java/com/vam/controller/AdminController.java b/VamPa/src/main/java/com/vam/controller/AdminController.java index 83d090b..b8ba3c6 100644 --- a/VamPa/src/main/java/com/vam/controller/AdminController.java +++ b/VamPa/src/main/java/com/vam/controller/AdminController.java @@ -41,10 +41,25 @@ public class AdminController { } - /* 상품 등록 페이지 접속 */ + /* 상품 관리(상품목록) 페이지 접속 */ @RequestMapping(value = "goodsManage", method = RequestMethod.GET) - public void goodsManageGET() throws Exception{ - logger.info("상품 등록 페이지 접속"); + public void goodsManageGET(Criteria cri, Model model) throws Exception{ + + logger.info("상품 관리(상품목록) 페이지 접속"); + + /* 상품 리스트 데이터 */ + List list = adminService.goodsGetList(cri); + + if(!list.isEmpty()) { + model.addAttribute("list", list); + } else { + model.addAttribute("listCheck", "empty"); + return; + } + + /* 페이지 인터페이스 데이터 */ + model.addAttribute("pageMaker", new PageDTO(cri, adminService.goodsGetTotal(cri))); + } /* 상품 등록 페이지 접속 */ diff --git a/VamPa/src/main/java/com/vam/mapper/AdminMapper.java b/VamPa/src/main/java/com/vam/mapper/AdminMapper.java index 167a572..dbd2734 100644 --- a/VamPa/src/main/java/com/vam/mapper/AdminMapper.java +++ b/VamPa/src/main/java/com/vam/mapper/AdminMapper.java @@ -4,6 +4,7 @@ import java.util.List; import com.vam.model.BookVO; import com.vam.model.CateVO; +import com.vam.model.Criteria; public interface AdminMapper { @@ -13,4 +14,10 @@ public interface AdminMapper { /* 카테고리 리스트 */ public List cateList(); + /* 상품 리스트 */ + public List goodsGetList(Criteria cri); + + /* 상품 총 개수 */ + public int goodsGetTotal(Criteria cri); + } diff --git a/VamPa/src/main/java/com/vam/service/AdminService.java b/VamPa/src/main/java/com/vam/service/AdminService.java index fa62261..1a73b50 100644 --- a/VamPa/src/main/java/com/vam/service/AdminService.java +++ b/VamPa/src/main/java/com/vam/service/AdminService.java @@ -4,6 +4,7 @@ import java.util.List; import com.vam.model.BookVO; import com.vam.model.CateVO; +import com.vam.model.Criteria; public interface AdminService { @@ -13,4 +14,10 @@ public interface AdminService { /* 카테고리 리스트 */ public List cateList(); + /* 상품 리스트 */ + public List goodsGetList(Criteria cri); + + /* 상품 총 개수 */ + public int goodsGetTotal(Criteria cri); + } diff --git a/VamPa/src/main/java/com/vam/service/AdminServiceImpl.java b/VamPa/src/main/java/com/vam/service/AdminServiceImpl.java index 2ff4784..036a874 100644 --- a/VamPa/src/main/java/com/vam/service/AdminServiceImpl.java +++ b/VamPa/src/main/java/com/vam/service/AdminServiceImpl.java @@ -8,6 +8,7 @@ import org.springframework.stereotype.Service; import com.vam.mapper.AdminMapper; import com.vam.model.BookVO; import com.vam.model.CateVO; +import com.vam.model.Criteria; import lombok.extern.log4j.Log4j; @@ -35,6 +36,19 @@ public class AdminServiceImpl implements AdminService { log.info("(service)cateList........"); return adminMapper.cateList(); + } + + /* 상품 리스트 */ + @Override + public List goodsGetList(Criteria cri) { + log.info("goodsGetTotalList().........."); + return adminMapper.goodsGetList(cri); + } + + /* 상품 총 갯수 */ + public int goodsGetTotal(Criteria cri) { + log.info("goodsGetTotal()........."); + return adminMapper.goodsGetTotal(cri); } } diff --git a/VamPa/src/main/resources/com/vam/mapper/AdminMapper.xml b/VamPa/src/main/resources/com/vam/mapper/AdminMapper.xml index b583545..e15007f 100644 --- a/VamPa/src/main/resources/com/vam/mapper/AdminMapper.xml +++ b/VamPa/src/main/resources/com/vam/mapper/AdminMapper.xml @@ -18,5 +18,43 @@ select * from vam_bcate order by catecode + + + + + + \ No newline at end of file diff --git a/VamPa/src/main/webapp/WEB-INF/views/admin/goodsManage.jsp b/VamPa/src/main/webapp/WEB-INF/views/admin/goodsManage.jsp index 40d9ff3..b7fae9f 100644 --- a/VamPa/src/main/webapp/WEB-INF/views/admin/goodsManage.jsp +++ b/VamPa/src/main/webapp/WEB-INF/views/admin/goodsManage.jsp @@ -21,6 +21,86 @@
상품 관리
+
+ + + + + + + + + + + + + + + + + + + + + + + +
상품 번호상품 이름작가 이름카테고리재고등록날짜
+
+ + +
+ 등록된 작가가 없습니다. +
+
+
+ + +
+
+
+ + + + + +
+
+
+ + +
+ +
+ +
+ + + +
+
<%@include file="../includes/admin/footer.jsp" %> @@ -42,6 +122,40 @@ $(document).ready(function(){ } }); + +let searchForm = $('#searchForm'); +let moveForm = $('#moveForm'); + +/* 작거 검색 버튼 동작 */ +$("#searchForm button").on("click", function(e){ + + e.preventDefault(); + + /* 검색 키워드 유효성 검사 */ + if(!searchForm.find("input[name='keyword']").val()){ + alert("키워드를 입력하십시오"); + return false; + } + + searchForm.find("input[name='pageNum']").val("1"); + + searchForm.submit(); + +}); + + +/* 페이지 이동 버튼 */ +$(".pageMaker_btn a").on("click", function(e){ + + e.preventDefault(); + + moveForm.find("input[name='pageNum']").val($(this).attr("href")); + + moveForm.submit(); + +}); + + diff --git a/VamPa/src/main/webapp/resources/css/admin/goodsManage.css b/VamPa/src/main/webapp/resources/css/admin/goodsManage.css index 946f896..77fb8db 100644 --- a/VamPa/src/main/webapp/resources/css/admin/goodsManage.css +++ b/VamPa/src/main/webapp/resources/css/admin/goodsManage.css @@ -95,9 +95,9 @@ ul{ .admin_content_wrap{ width: 80%; float:left; - min-height:700px; + min-height: 700px; } -.admin_content_subject{ /* 관리자 컨텐츠 제목 영역 */ +.admin_content_subject{ /* 관리자 컨텐츠 제목 영역 */ font-size: 40px; font-weight: bolder; padding-left: 15px; @@ -107,6 +107,108 @@ ul{ color: white; } +/* 상품 목록 영역 */ +.goods_table_wrap{ + padding: 20px 35px +} +.goods_table{ + width: 100%; + border: 1px solid #d3d8e1; + text-align: center; + border-collapse: collapse; +} +.goods_table td{ + padding: 10px 5px; + border : 1px solid #e9ebf0; +} +.goods_table thead{ + background-color: #f8f9fd; + font-weight: 600; +} +.goods_table a{ + color:#1088ed; + font-weight: 500; +} +.th_column_1{ + width:11%; +} +.th_column_3{ + width:14%; +} +.th_column_4{ + width:15%; +} +.th_column_5{ + width:10%; +} +.table_empty{ + height: 50px; + text-align: center; + margin: 200px 0 215px 0px; + font-size: 25px; +} + + /* 검색 영역 */ +.search_wrap{ + margin-top:15px; +} +.search_input{ + position: relative; + text-align:center; +} +.search_input input[name='keyword']{ + padding: 4px 10px; + font-size: 15px; + height: 20px; + line-height: 20px; +} +.search_btn{ + height: 32px; + width: 80px; + font-weight: 600; + font-size: 18px; + line-height: 20px; + position: absolute; + margin-left: 15px; + background-color: #c3daf7; +} + + + /* 페이지 버튼 인터페이스 */ +.pageMaker_wrap{ + text-align: center; + margin-top: 30px; + margin-bottom: 40px; +} +.pageMaker{ + list-style: none; + display: inline-block; +} +.pageMaker_btn { + float: left; + width: 40px; + height: 40px; + line-height: 40px; + margin-left: 20px; +} +.active{ + border : 2px solid black; + font-weight:400; +} +.next, .prev { + border: 1px solid #ccc; + padding: 0 10px; +} +.pageMaker_btn a:link {color: black;} +.pageMaker_btn a:visited {color: black;} +.pageMaker_btn a:active {color: black;} +.pageMaker_btn a:hover {color: black;} +.next a, .prev a { + color: #ccc; +} + + + /* footer navai 영역 */ .footer_nav{ width:100%; diff --git a/VamPa/src/test/java/com/vam/mapper/AdminMapperTests.java b/VamPa/src/test/java/com/vam/mapper/AdminMapperTests.java index 7fc95ce..b2f59f8 100644 --- a/VamPa/src/test/java/com/vam/mapper/AdminMapperTests.java +++ b/VamPa/src/test/java/com/vam/mapper/AdminMapperTests.java @@ -1,13 +1,15 @@ 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.BookVO; +import com.vam.model.Criteria; @RunWith(SpringJUnit4ClassRunner.class) @@ -40,11 +42,37 @@ public class AdminMapperTests { */ /* 카테고리 리스트 */ + /* @Test public void cateListTest() throws Exception{ System.out.println("cateList()..........." + mapper.cateList()); } + */ + + /* 상품 리스트 & 상품 총 개수*/ + /**/ + @Test + public void goodsGetListTests() { + + Criteria cri = new Criteria(); + + cri.setKeyword("test"); + + /* 상품 리스트 */ + List list = mapper.goodsGetList(cri); + for(int i = 0; i < 10; i++) { + System.out.println("result..........." +i + " : " + list.get(i) ); + } + + + + /* 상품 총 개수 */ + //int result = mapper.goodsGetTotal(cri); + //System.out.println("resout........." + result); + + } + } diff --git a/VamPa/target/classes/com/vam/mapper/AdminMapper.xml b/VamPa/target/classes/com/vam/mapper/AdminMapper.xml index b583545..e15007f 100644 --- a/VamPa/target/classes/com/vam/mapper/AdminMapper.xml +++ b/VamPa/target/classes/com/vam/mapper/AdminMapper.xml @@ -18,5 +18,43 @@ select * from vam_bcate order by catecode + + + + + + \ 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 6898e53..71de743 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 -#Wed Mar 31 15:59:23 KST 2021 +#Tue Apr 13 13:59:44 KST 2021 m2e.projectLocation=C\:\\Users\\sjinj\\git\\Blog_Project\\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 10eeff1..3823a88 100644 --- a/VamPa_MySQL/src/main/java/com/vam/controller/AdminController.java +++ b/VamPa_MySQL/src/main/java/com/vam/controller/AdminController.java @@ -41,10 +41,25 @@ public class AdminController { } - /* 상품 등록 페이지 접속 */ + /* 상품 관리(상품목록) 페이지 접속 */ @RequestMapping(value = "goodsManage", method = RequestMethod.GET) - public void goodsManageGET() throws Exception{ - logger.info("상품 등록 페이지 접속"); + public void goodsManageGET(Criteria cri, Model model) throws Exception{ + + logger.info("상품 관리(상품목록) 페이지 접속"); + + /* 상품 리스트 데이터 */ + List list = adminService.goodsGetList(cri); + + if(!list.isEmpty()) { + model.addAttribute("list", list); + } else { + model.addAttribute("listCheck", "empty"); + return; + } + + /* 페이지 인터페이스 데이터 */ + model.addAttribute("pageMaker", new PageDTO(cri, adminService.goodsGetTotal(cri))); + } /* 상품 등록 페이지 접속 */ 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 167a572..f2c410f 100644 --- a/VamPa_MySQL/src/main/java/com/vam/mapper/AdminMapper.java +++ b/VamPa_MySQL/src/main/java/com/vam/mapper/AdminMapper.java @@ -4,6 +4,8 @@ import java.util.List; import com.vam.model.BookVO; import com.vam.model.CateVO; +import com.vam.model.Criteria; +import com.vam.model.Criteria; public interface AdminMapper { @@ -13,4 +15,10 @@ public interface AdminMapper { /* 카테고리 리스트 */ public List cateList(); + /* 상품 리스트 */ + public List goodsGetList(Criteria cri); + + /* 상품 총 개수 */ + public int goodsGetTotal(Criteria cri); + } 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 a54cdec..eed7765 100644 --- a/VamPa_MySQL/src/main/java/com/vam/service/AdminService.java +++ b/VamPa_MySQL/src/main/java/com/vam/service/AdminService.java @@ -4,6 +4,7 @@ import java.util.List; import com.vam.model.BookVO; import com.vam.model.CateVO; +import com.vam.model.Criteria; public interface AdminService { @@ -13,4 +14,10 @@ public interface AdminService { /* 카테고리 리스트 */ public List cateList(); + /* 상품 리스트 */ + public List goodsGetList(Criteria cri); + + /* 상품 총 개수 */ + public int goodsGetTotal(Criteria cri); + } 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 c77e37c..3b75edf 100644 --- a/VamPa_MySQL/src/main/java/com/vam/service/AdminServiceImpl.java +++ b/VamPa_MySQL/src/main/java/com/vam/service/AdminServiceImpl.java @@ -8,6 +8,7 @@ import org.springframework.stereotype.Service; import com.vam.mapper.AdminMapper; import com.vam.model.BookVO; import com.vam.model.CateVO; +import com.vam.model.Criteria; import lombok.extern.log4j.Log4j; @@ -37,4 +38,17 @@ public class AdminServiceImpl implements AdminService { return adminMapper.cateList(); } + /* 상품 리스트 */ + @Override + public List goodsGetList(Criteria cri) { + log.info("goodsGetTotalList().........."); + return adminMapper.goodsGetList(cri); + } + + /* 상품 총 갯수 */ + public int goodsGetTotal(Criteria cri) { + log.info("goodsGetTotal()........."); + return adminMapper.goodsGetTotal(cri); + } + } 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 b583545..67234e9 100644 --- a/VamPa_MySQL/src/main/resources/com/vam/mapper/AdminMapper.xml +++ b/VamPa_MySQL/src/main/resources/com/vam/mapper/AdminMapper.xml @@ -18,5 +18,35 @@ select * from vam_bcate order by catecode + + + + + + + + \ No newline at end of file diff --git a/VamPa_MySQL/src/main/webapp/WEB-INF/views/admin/goodsManage.jsp b/VamPa_MySQL/src/main/webapp/WEB-INF/views/admin/goodsManage.jsp index 40d9ff3..b7fae9f 100644 --- a/VamPa_MySQL/src/main/webapp/WEB-INF/views/admin/goodsManage.jsp +++ b/VamPa_MySQL/src/main/webapp/WEB-INF/views/admin/goodsManage.jsp @@ -21,6 +21,86 @@
상품 관리
+
+ + + + + + + + + + + + + + + + + + + + + + + +
상품 번호상품 이름작가 이름카테고리재고등록날짜
+
+ + +
+ 등록된 작가가 없습니다. +
+
+
+ + +
+
+
+ + + + + +
+
+
+ + +
+ +
+ +
+ + + +
+
<%@include file="../includes/admin/footer.jsp" %> @@ -42,6 +122,40 @@ $(document).ready(function(){ } }); + +let searchForm = $('#searchForm'); +let moveForm = $('#moveForm'); + +/* 작거 검색 버튼 동작 */ +$("#searchForm button").on("click", function(e){ + + e.preventDefault(); + + /* 검색 키워드 유효성 검사 */ + if(!searchForm.find("input[name='keyword']").val()){ + alert("키워드를 입력하십시오"); + return false; + } + + searchForm.find("input[name='pageNum']").val("1"); + + searchForm.submit(); + +}); + + +/* 페이지 이동 버튼 */ +$(".pageMaker_btn a").on("click", function(e){ + + e.preventDefault(); + + moveForm.find("input[name='pageNum']").val($(this).attr("href")); + + moveForm.submit(); + +}); + + diff --git a/VamPa_MySQL/src/main/webapp/resources/css/admin/goodsManage.css b/VamPa_MySQL/src/main/webapp/resources/css/admin/goodsManage.css index 946f896..77fb8db 100644 --- a/VamPa_MySQL/src/main/webapp/resources/css/admin/goodsManage.css +++ b/VamPa_MySQL/src/main/webapp/resources/css/admin/goodsManage.css @@ -95,9 +95,9 @@ ul{ .admin_content_wrap{ width: 80%; float:left; - min-height:700px; + min-height: 700px; } -.admin_content_subject{ /* 관리자 컨텐츠 제목 영역 */ +.admin_content_subject{ /* 관리자 컨텐츠 제목 영역 */ font-size: 40px; font-weight: bolder; padding-left: 15px; @@ -107,6 +107,108 @@ ul{ color: white; } +/* 상품 목록 영역 */ +.goods_table_wrap{ + padding: 20px 35px +} +.goods_table{ + width: 100%; + border: 1px solid #d3d8e1; + text-align: center; + border-collapse: collapse; +} +.goods_table td{ + padding: 10px 5px; + border : 1px solid #e9ebf0; +} +.goods_table thead{ + background-color: #f8f9fd; + font-weight: 600; +} +.goods_table a{ + color:#1088ed; + font-weight: 500; +} +.th_column_1{ + width:11%; +} +.th_column_3{ + width:14%; +} +.th_column_4{ + width:15%; +} +.th_column_5{ + width:10%; +} +.table_empty{ + height: 50px; + text-align: center; + margin: 200px 0 215px 0px; + font-size: 25px; +} + + /* 검색 영역 */ +.search_wrap{ + margin-top:15px; +} +.search_input{ + position: relative; + text-align:center; +} +.search_input input[name='keyword']{ + padding: 4px 10px; + font-size: 15px; + height: 20px; + line-height: 20px; +} +.search_btn{ + height: 32px; + width: 80px; + font-weight: 600; + font-size: 18px; + line-height: 20px; + position: absolute; + margin-left: 15px; + background-color: #c3daf7; +} + + + /* 페이지 버튼 인터페이스 */ +.pageMaker_wrap{ + text-align: center; + margin-top: 30px; + margin-bottom: 40px; +} +.pageMaker{ + list-style: none; + display: inline-block; +} +.pageMaker_btn { + float: left; + width: 40px; + height: 40px; + line-height: 40px; + margin-left: 20px; +} +.active{ + border : 2px solid black; + font-weight:400; +} +.next, .prev { + border: 1px solid #ccc; + padding: 0 10px; +} +.pageMaker_btn a:link {color: black;} +.pageMaker_btn a:visited {color: black;} +.pageMaker_btn a:active {color: black;} +.pageMaker_btn a:hover {color: black;} +.next a, .prev a { + color: #ccc; +} + + + /* footer navai 영역 */ .footer_nav{ width:100%; 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 767d708..cc47e58 100644 --- a/VamPa_MySQL/src/test/java/com/vam/mapper/AdminMapperTests.java +++ b/VamPa_MySQL/src/test/java/com/vam/mapper/AdminMapperTests.java @@ -1,12 +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.BookVO; +import com.vam.model.Criteria; @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration("file:src/main/webapp/WEB-INF/spring/root-context.xml") @@ -38,11 +40,36 @@ public class AdminMapperTests { */ /* 카테고리 리스트 */ + /* @Test public void cateListTest() throws Exception{ System.out.println("cateList()..........." + mapper.cateList()); } + */ + + + /* 상품 리스트 & 상품 총 갯수 */ + @Test + public void goodsGetListTest() { + + Criteria cri = new Criteria(); + + /* 검색조건 */ + //cri.setKeyword("테스트"); + + /* 검색 리스트 */ + /*List list = mapper.goodsGetList(cri); + for(int i = 0; i < list.size(); i++) { + System.out.println("result......." + i + " : " + list.get(i)); + }*/ + + /* 상품 총 갯수 */ + int result = mapper.goodsGetTotal(cri); + System.out.println("resutl.........." + result); + + + } } diff --git a/VamPa_MySQL/target/classes/com/vam/mapper/AdminMapper.xml b/VamPa_MySQL/target/classes/com/vam/mapper/AdminMapper.xml index b583545..67234e9 100644 --- a/VamPa_MySQL/target/classes/com/vam/mapper/AdminMapper.xml +++ b/VamPa_MySQL/target/classes/com/vam/mapper/AdminMapper.xml @@ -18,5 +18,35 @@ select * from vam_bcate order by catecode + + + + + + + + \ 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 3ffd3a0..57004f5 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 -#Wed Mar 31 15:59:24 KST 2021 +#Tue Apr 13 14:07:29 KST 2021 m2e.projectLocation=C\:\\Users\\sjinj\\git\\Blog_Project\\VamPa_MySQL m2e.projectName=VamPa_MySQL groupId=com.vam