[Spring][쇼핑몰 프로젝트][41] 주문 구현(주문 페이지) - 2

https://kimvampa.tistory.com/273
This commit is contained in:
SeoJin Kim
2021-12-09 22:25:41 +09:00
parent 3ec3bcf569
commit 77e08210d4
26 changed files with 314 additions and 10 deletions

View File

@@ -1,21 +1,32 @@
package com.vam.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import com.vam.model.OrderPageDTO;
import com.vam.service.MemberService;
import com.vam.service.OrderService;
@Controller
public class OrderController {
@Autowired
private OrderService orderService;
@Autowired
private MemberService memberService;
@GetMapping("/order/{memberId}")
public void orderPgaeGET(@PathVariable("memberId") String memberId, OrderPageDTO opd, Model model) {
public String orderPgaeGET(@PathVariable("memberId") String memberId, OrderPageDTO opd, Model model) {
System.out.println("memberId : " + memberId);
System.out.println("orders : " + opd.getOrders());
model.addAttribute("orderList", orderService.getGoodsInfo(opd.getOrders()));
model.addAttribute("memberInfo", memberService.getMemberInfo(memberId));
return "/order";
}
}

View File

@@ -13,4 +13,7 @@ public interface MemberMapper {
/* 로그인 */
public MemberVO memberLogin(MemberVO member);
/* 주문자 주소 정보 */
public MemberVO getMemberInfo(String memberId);
}

View File

@@ -0,0 +1,10 @@
package com.vam.mapper;
import com.vam.model.OrderPageItemDTO;
public interface OrderMapper {
/* 주문 상품 정보 */
public OrderPageItemDTO getGoodsInfo(int bookId);
}

View File

@@ -12,5 +12,8 @@ public interface MemberService {
/* 로그인 */
public MemberVO memberLogin(MemberVO member) throws Exception;
/* 주문자 정보 */
public MemberVO getMemberInfo(String memberId);
}

View File

@@ -34,6 +34,14 @@ public class MemberServiceImpl implements MemberService{
return membermapper.memberLogin(member);
}
/* 주문자 정보 */
@Override
public MemberVO getMemberInfo(String memberId) {
return membermapper.getMemberInfo(memberId);
}
}

View File

@@ -0,0 +1,12 @@
package com.vam.service;
import java.util.List;
import com.vam.model.OrderPageItemDTO;
public interface OrderService {
/* 주문 정보 */
public List<OrderPageItemDTO> getGoodsInfo(List<OrderPageItemDTO> orders);
}

View File

@@ -0,0 +1,40 @@
package com.vam.service;
import java.util.ArrayList;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.vam.mapper.OrderMapper;
import com.vam.model.OrderPageItemDTO;
@Service
public class OrderServiceImpl implements OrderService{
@Autowired
private OrderMapper orderMapper;
@Override
public List<OrderPageItemDTO> getGoodsInfo(List<OrderPageItemDTO> orders) {
List<OrderPageItemDTO> result = new ArrayList<OrderPageItemDTO>();
for(OrderPageItemDTO ord : orders) {
OrderPageItemDTO goodsInfo = orderMapper.getGoodsInfo(ord.getBookId());
goodsInfo.setBookCount(ord.getBookCount());
goodsInfo.initSaleTotal();
result.add(goodsInfo);
}
return result;
}
}

View File

@@ -27,5 +27,14 @@
</select>
<!-- 주문자 정보 -->
<select id="getMemberInfo" resultType="com.vam.model.MemberVO">
SELECT memberId, memberName, memberMail, memberAddr1, memberAddr2, memberAddr3, money, point
FROM book_member
WHERE memberId = #{memberId}
</select>
</mapper>

View File

@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.vam.mapper.OrderMapper">
<!-- 주문 상품 정보 -->
<select id="getGoodsInfo" resultType="com.vam.model.OrderPageItemDTO">
select bookId, bookName, bookPrice, bookDiscount
from vam_book where bookId = #{bookId}
</select>
</mapper>

View File

@@ -0,0 +1,17 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<div>
${orderList}
</div>
<div>
${memberInfo}
</div>
</body>
</html>

View File

@@ -27,5 +27,14 @@
</select>
<!-- 주문자 정보 -->
<select id="getMemberInfo" resultType="com.vam.model.MemberVO">
SELECT memberId, memberName, memberMail, memberAddr1, memberAddr2, memberAddr3, money, point
FROM book_member
WHERE memberId = #{memberId}
</select>
</mapper>

View File

@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.vam.mapper.OrderMapper">
<!-- 주문 상품 정보 -->
<select id="getGoodsInfo" resultType="com.vam.model.OrderPageItemDTO">
select bookId, bookName, bookPrice, bookDiscount
from vam_book where bookId = #{bookId}
</select>
</mapper>

View File

@@ -1,5 +1,5 @@
#Generated by Maven Integration for Eclipse
#Wed Dec 08 02:51:47 KST 2021
#Thu Dec 09 15:29:52 KST 2021
m2e.projectLocation=C\:\\Users\\sjinj\\git\\Blog_Project2\\VamPa
m2e.projectName=VamPa
groupId=com.vam

View File

@@ -1,21 +1,32 @@
package com.vam.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import com.vam.model.OrderPageDTO;
import com.vam.service.MemberService;
import com.vam.service.OrderService;
@Controller
public class OrderController {
@Autowired
private OrderService orderService;
@Autowired
private MemberService memberService;
@GetMapping("/order/{memberId}")
public void orderPgaeGET(@PathVariable("memberId") String memberId, OrderPageDTO opd, Model model) {
public String orderPgaeGET(@PathVariable("memberId") String memberId, OrderPageDTO opd, Model model) {
System.out.println("memberId : " + memberId);
System.out.println("orders : " + opd.getOrders());
model.addAttribute("orderList", orderService.getGoodsInfo(opd.getOrders()));
model.addAttribute("memberInfo", memberService.getMemberInfo(memberId));
}
return "/order";
}
}

View File

@@ -13,4 +13,7 @@ public interface MemberMapper {
/* 로그인 */
public MemberVO memberLogin(MemberVO member);
/* 주문자 주소 정보 */
public MemberVO getMemberInfo(String memberId);
}

View File

@@ -0,0 +1,10 @@
package com.vam.mapper;
import com.vam.model.OrderPageItemDTO;
public interface OrderMapper {
/* 주문 상품 정보 */
public OrderPageItemDTO getGoodsInfo(int bookId);
}

View File

@@ -13,4 +13,7 @@ public interface MemberService {
/* 로그인 */
public MemberVO memberLogin(MemberVO member) throws Exception;
/* 주문자 정보 */
public MemberVO getMemberInfo(String memberId);
}

View File

@@ -33,5 +33,13 @@ public class MemberServiceImpl implements MemberService {
return membermapper.memberLogin(member);
}
/* 주문자 정보 */
@Override
public MemberVO getMemberInfo(String memberId) {
return membermapper.getMemberInfo(memberId);
}
}

View File

@@ -0,0 +1,12 @@
package com.vam.service;
import java.util.List;
import com.vam.model.OrderPageItemDTO;
public interface OrderService {
/* 주문 정보 */
public List<OrderPageItemDTO> getGoodsInfo(List<OrderPageItemDTO> orders);
}

View File

@@ -0,0 +1,40 @@
package com.vam.service;
import java.util.ArrayList;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.vam.mapper.OrderMapper;
import com.vam.model.OrderPageItemDTO;
@Service
public class OrderServiceImpl implements OrderService{
@Autowired
private OrderMapper orderMapper;
@Override
public List<OrderPageItemDTO> getGoodsInfo(List<OrderPageItemDTO> orders) {
List<OrderPageItemDTO> result = new ArrayList<OrderPageItemDTO>();
for(OrderPageItemDTO ord : orders) {
OrderPageItemDTO goodsInfo = orderMapper.getGoodsInfo(ord.getBookId());
goodsInfo.setBookCount(ord.getBookCount());
goodsInfo.initSaleTotal();
result.add(goodsInfo);
}
return result;
}
}

View File

@@ -27,4 +27,13 @@
</select>
<!-- 주문자 정보 -->
<select id="getMemberInfo" resultType="com.vam.model.MemberVO">
SELECT memberId, memberName, memberMail, memberAddr1, memberAddr2, memberAddr3, money, point
FROM book_member
WHERE memberId = #{memberId}
</select>
</mapper>

View File

@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.vam.mapper.OrderMapper">
<!-- 주문 상품 정보 -->
<select id="getGoodsInfo" resultType="com.vam.model.OrderPageItemDTO">
select bookId, bookName, bookPrice, bookDiscount
from vam_book where bookId = #{bookId}
</select>
</mapper>

View File

@@ -0,0 +1,17 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<div>
${orderList}
</div>
<div>
${memberInfo}
</div>
</body>
</html>

View File

@@ -27,4 +27,13 @@
</select>
<!-- 주문자 정보 -->
<select id="getMemberInfo" resultType="com.vam.model.MemberVO">
SELECT memberId, memberName, memberMail, memberAddr1, memberAddr2, memberAddr3, money, point
FROM book_member
WHERE memberId = #{memberId}
</select>
</mapper>

View File

@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.vam.mapper.OrderMapper">
<!-- 주문 상품 정보 -->
<select id="getGoodsInfo" resultType="com.vam.model.OrderPageItemDTO">
select bookId, bookName, bookPrice, bookDiscount
from vam_book where bookId = #{bookId}
</select>
</mapper>

View File

@@ -1,5 +1,5 @@
#Generated by Maven Integration for Eclipse
#Wed Dec 08 23:55:17 KST 2021
#Thu Dec 09 15:29:52 KST 2021
m2e.projectLocation=C\:\\Users\\sjinj\\git\\Blog_Project2\\VamPa_MySQL
m2e.projectName=VamPa_MySQL
groupId=com.vam