[Spring][쇼핑몰 프로젝트][43] 주문 현황 - 1

https://kimvampa.tistory.com/281
This commit is contained in:
SeoJin Kim
2021-12-27 13:14:31 +09:00
parent c98b4e9d8b
commit a84116d4ba
16 changed files with 248 additions and 9 deletions

View File

@@ -36,6 +36,7 @@ import com.vam.model.AttachImageVO;
import com.vam.model.AuthorVO;
import com.vam.model.BookVO;
import com.vam.model.Criteria;
import com.vam.model.OrderDTO;
import com.vam.model.PageDTO;
import com.vam.service.AdminService;
import com.vam.service.AuthorService;
@@ -468,4 +469,21 @@ public class AdminController {
}
/* 주문 현황 페이지 */
@GetMapping("/orderList")
public String orderListGET(Criteria cri, Model model) {
List<OrderDTO> list = adminService.getOrderList(cri);
if(!list.isEmpty()) {
model.addAttribute("list", list);
model.addAttribute("pageMaker", new PageDTO(cri, adminService.getOrderTotal(cri)));
} else {
model.addAttribute("listCheck", "empty");
}
return "/admin/orderList";
}
}

View File

@@ -6,6 +6,7 @@ import com.vam.model.AttachImageVO;
import com.vam.model.BookVO;
import com.vam.model.CateVO;
import com.vam.model.Criteria;
import com.vam.model.OrderDTO;
public interface AdminMapper {
@@ -42,4 +43,10 @@ public interface AdminMapper {
/* 지정 상품 이미지 정보 얻기 */
public List<AttachImageVO> getAttachInfo(int bookId);
/* 주문 상품 리스트 */
public List<OrderDTO> getOrderList(Criteria cri);
/* 주문 총 갯수 */
public int getOrderTotal(Criteria cri);
}

View File

@@ -6,6 +6,7 @@ import com.vam.model.AttachImageVO;
import com.vam.model.BookVO;
import com.vam.model.CateVO;
import com.vam.model.Criteria;
import com.vam.model.OrderDTO;
public interface AdminService {
@@ -33,4 +34,10 @@ public interface AdminService {
/* 지정 상품 이미지 정보 얻기 */
public List<AttachImageVO> getAttachInfo(int bookId);
/* 주문 상품 리스트 */
public List<OrderDTO> getOrderList(Criteria cri);
/* 주문 총 갯수 */
public int getOrderTotal(Criteria cri);
}

View File

@@ -11,6 +11,7 @@ import com.vam.model.AttachImageVO;
import com.vam.model.BookVO;
import com.vam.model.CateVO;
import com.vam.model.Criteria;
import com.vam.model.OrderDTO;
import lombok.extern.log4j.Log4j;
@@ -125,5 +126,17 @@ public class AdminServiceImpl implements AdminService {
return adminMapper.getAttachInfo(bookId);
}
/* 주문 상품 리스트 */
@Override
public List<OrderDTO> getOrderList(Criteria cri) {
return adminMapper.getOrderList(cri);
}
/* 주문 총 갯수 */
@Override
public int getOrderTotal(Criteria cri) {
return adminMapper.getOrderTotal(cri);
}
}

View File

@@ -116,4 +116,35 @@
</select>
<!-- 주문 리스트 -->
<select id="getOrderList" resultType="com.vam.model.OrderDTO">
<![CDATA[
select *
from(
select rownum rn, orderId, memberId, orderstate, orderdate
from vam_order
where rownum <= #{pageNum} * #{amount}
]]>
<if test="keyword != null">
and memberId like '%'||#{keyword}||'%'
</if>
<![CDATA[
order by orderdate desc
)
where rn > (#{pageNum} -1) * #{amount}
]]>
</select>
<!-- 상품 총 개수 -->
<select id="getOrderTotal" resultType="int">
select count(*) from vam_order
<if test="keyword != null">
where memberId like '%'||#{keyword}||'%'
</if>
</select>
</mapper>

View File

@@ -10,6 +10,8 @@ import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import com.vam.model.AttachImageVO;
import com.vam.model.Criteria;
import com.vam.model.OrderDTO;
@RunWith(SpringJUnit4ClassRunner.class)
@@ -175,6 +177,7 @@ public class AdminMapperTests {
*/
/* 지정 상품 이미지 정보 얻기 */
/*
@Test
public void getAttachInfoTest() {
@@ -185,7 +188,27 @@ public class AdminMapperTests {
System.out.println("list : " + list);
}
*/
/* 주문 현황 리스트 */
@Test
public void getOrderList() {
Criteria cri = new Criteria();
//String memberId = "admin";
//String memberId = "";
String memberId = null;
cri.setKeyword(memberId);
List<OrderDTO> orderList = mapper.getOrderList(cri);
mapper.getOrderTotal(cri);
for(OrderDTO dto : orderList) {
System.out.println("dto : " + dto);
}
}
}

View File

@@ -116,4 +116,35 @@
</select>
<!-- 주문 리스트 -->
<select id="getOrderList" resultType="com.vam.model.OrderDTO">
<![CDATA[
select *
from(
select rownum rn, orderId, memberId, orderstate, orderdate
from vam_order
where rownum <= #{pageNum} * #{amount}
]]>
<if test="keyword != null">
and memberId like '%'||#{keyword}||'%'
</if>
<![CDATA[
order by orderdate desc
)
where rn > (#{pageNum} -1) * #{amount}
]]>
</select>
<!-- 상품 총 개수 -->
<select id="getOrderTotal" resultType="int">
select count(*) from vam_order
<if test="keyword != null">
where memberId like '%'||#{keyword}||'%'
</if>
</select>
</mapper>

View File

@@ -1,5 +1,5 @@
#Generated by Maven Integration for Eclipse
#Tue Dec 14 18:11:21 KST 2021
#Mon Dec 27 12:23:30 KST 2021
m2e.projectLocation=C\:\\Users\\sjinj\\git\\Blog_Project2\\VamPa
m2e.projectName=VamPa
groupId=com.vam

View File

@@ -36,6 +36,7 @@ import com.vam.model.AttachImageVO;
import com.vam.model.AuthorVO;
import com.vam.model.BookVO;
import com.vam.model.Criteria;
import com.vam.model.OrderDTO;
import com.vam.model.PageDTO;
import com.vam.service.AdminService;
import com.vam.service.AuthorService;
@@ -471,4 +472,21 @@ public class AdminController {
}
/* 주문 현황 페이지 */
@GetMapping("/orderList")
public String orderListGET(Criteria cri, Model model) {
List<OrderDTO> list = adminService.getOrderList(cri);
if(!list.isEmpty()) {
model.addAttribute("list", list);
model.addAttribute("pageMaker", new PageDTO(cri, adminService.getOrderTotal(cri)));
} else {
model.addAttribute("listCheck", "empty");
}
return "/admin/orderList";
}
}

View File

@@ -6,6 +6,7 @@ import com.vam.model.AttachImageVO;
import com.vam.model.BookVO;
import com.vam.model.CateVO;
import com.vam.model.Criteria;
import com.vam.model.OrderDTO;
public interface AdminMapper {
@@ -42,4 +43,10 @@ public interface AdminMapper {
/* 지정 상품 이미지 정보 얻기 */
public List<AttachImageVO> getAttachInfo(int bookId);
/* 주문 상품 리스트 */
public List<OrderDTO> getOrderList(Criteria cri);
/* 주문 총 갯수 */
public int getOrderTotal(Criteria cri);
}

View File

@@ -6,6 +6,7 @@ import com.vam.model.AttachImageVO;
import com.vam.model.BookVO;
import com.vam.model.CateVO;
import com.vam.model.Criteria;
import com.vam.model.OrderDTO;
public interface AdminService {
@@ -33,4 +34,10 @@ public interface AdminService {
/* 지정 상품 이미지 정보 얻기 */
public List<AttachImageVO> getAttachInfo(int bookId);
/* 주문 상품 리스트 */
public List<OrderDTO> getOrderList(Criteria cri);
/* 주문 총 갯수 */
public int getOrderTotal(Criteria cri);
}

View File

@@ -11,6 +11,7 @@ import com.vam.model.AttachImageVO;
import com.vam.model.BookVO;
import com.vam.model.CateVO;
import com.vam.model.Criteria;
import com.vam.model.OrderDTO;
import lombok.extern.log4j.Log4j;
@@ -119,4 +120,16 @@ public class AdminServiceImpl implements AdminService {
return adminMapper.getAttachInfo(bookId);
}
/* 주문 상품 리스트 */
@Override
public List<OrderDTO> getOrderList(Criteria cri) {
return adminMapper.getOrderList(cri);
}
/* 주문 총 갯수 */
@Override
public int getOrderTotal(Criteria cri) {
return adminMapper.getOrderTotal(cri);
}
}

View File

@@ -106,4 +106,28 @@
</select>
<!-- 주문 리스트 -->
<select id="getOrderList" resultType="com.vam.model.OrderDTO">
select orderId, memberId, orderstate, orderdate
from vam_order
<if test="keyword != null">
where memberId like concat('%',#{keyword}, '%')
</if>
order by orderdate desc
limit #{skip}, #{amount}
</select>
<!-- 상품 총 개수 -->
<select id="getOrderTotal" resultType="int">
select count(*) from vam_order
<if test="keyword != null">
where memberId like concat('%',#{keyword}, '%')
</if>
</select>
</mapper>

View File

@@ -1,15 +1,12 @@
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;
import com.vam.model.Criteria;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("file:src/main/webapp/WEB-INF/spring/root-context.xml")
@@ -177,6 +174,7 @@ public class AdminMapperTests {
*/
/* 지정 상품 이미지 정보 얻기 */
/*
@Test
public void getAttachInfoTest() {
@@ -187,6 +185,24 @@ public class AdminMapperTests {
System.out.println("list : " + list);
}
*/
/* 주문 현황 리스트 */
@Test
public void getOrderList() {
Criteria cri = new Criteria();
//String memberId = "admin";
//String memberId = "";
String memberId = null;
cri.setKeyword(memberId);
mapper.getOrderList(cri);
mapper.getOrderTotal(cri);
}

View File

@@ -106,4 +106,28 @@
</select>
<!-- 주문 리스트 -->
<select id="getOrderList" resultType="com.vam.model.OrderDTO">
select orderId, memberId, orderstate, orderdate
from vam_order
<if test="keyword != null">
where memberId like concat('%',#{keyword}, '%')
</if>
order by orderdate desc
limit #{skip}, #{amount}
</select>
<!-- 상품 총 개수 -->
<select id="getOrderTotal" resultType="int">
select count(*) from vam_order
<if test="keyword != null">
where memberId like concat('%',#{keyword}, '%')
</if>
</select>
</mapper>

View File

@@ -1,5 +1,5 @@
#Generated by Maven Integration for Eclipse
#Tue Dec 14 18:11:23 KST 2021
#Mon Dec 27 12:23:30 KST 2021
m2e.projectLocation=C\:\\Users\\sjinj\\git\\Blog_Project2\\VamPa_MySQL
m2e.projectName=VamPa_MySQL
groupId=com.vam