728x90
반응형
end.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%-- /springmvc1/src/main/webapp/WEB-INF/view/cart/end.jsp --%>
<!DOCTYPE html><html><head><meta charset="UTF-8">
<title>주문 확정 상품</title></head>
<body><h2>${sale.user.username}님이 주문하신 정보 입니다.</h2>
<h2>배송지 정보</h2>
<table><tr><td width="30%">주문아이디</td>
<td width="70%">${sessionScope.loginUser.userid}</td></tr>
<tr><td width="30%">이름</td>
<td width="70%">${sessionScope.loginUser.username}</td></tr>
<tr><td width="30%">우편번호</td>
<td width="70%">${sessionScope.loginUser.postcode}</td></tr>
<tr><td width="30%">주소</td>
<td width="70%">${sessionScope.loginUser.address}</td></tr>
<tr><td width="30%">전화번호</td>
<td width="70%">${sessionScope.loginUser.phoneno}</td></tr>
</table>
<h2>주문 완료 상품 </h2>
<table>
<tr><th>상품명</th><th>가격</th><th>수량</th><th>합계</th></tr>
<c:forEach items="${sale.itemList}" var="saleitem" >
<tr><td>${saleitem.item.name}</td>
<td><fmt:formatNumber value="${saleitem.item.price}" pattern="###,###"/></td>
<td>${saleitem.quantity}</td>
<td><fmt:formatNumber value="${saleitem.item.price *saleitem.quantity}" pattern="###,###"/></td></tr>
</c:forEach>
<tr><td colspan="4" align="right">
총 구입 금액 : <fmt:formatNumber value="${sale.total}" pattern="###,###"/>원
</td></tr>
<tr><td colspan="4">
<a href="../item/list">상품 목록</a>
</td></tr></table></body></html>
Sale.java
package logic;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
public class Sale {
private int saleid;
private String userid;
private Date saledate;
private User user;
private List<SaleItem> itemList = new ArrayList<SaleItem>();
public int getTotal() {
int sum = 0;
for(SaleItem si : itemList) {
sum += si.getItem().getPrice() * si.getQuantity();
}
return sum;
}
//setter, getter, toString
public int getSaleid() {
return saleid;
}
public void setSaleid(int saleid) {
this.saleid = saleid;
}
public String getUserid() {
return userid;
}
public void setUserid(String userid) {
this.userid = userid;
}
public Date getSaledate() {
return saledate;
}
public void setSaledate(Date saledate) {
this.saledate = saledate;
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public List<SaleItem> getItemList() {
return itemList;
}
public void setItemList(List<SaleItem> itemList) {
this.itemList = itemList;
}
@Override
public String toString() {
return "Sale [saleid=" + saleid + ", userid=" + userid + ", saledate=" + saledate + ", user=" + user + "]";
}
}
SaleItem.java
package logic;
public class SaleItem {
private int saleid;
private int seq;
private int itemid;
private int quantity;
private Item item;
public SaleItem() {}
public SaleItem(int saleid, int seq, ItemSet itemSet) {
this.saleid = saleid;
this.seq = seq;
this.item = itemSet.getItem();
this.itemid = itemSet.getItem().getId();
this.quantity = itemSet.getQuantity();
}
//getter, setter, toString
public int getSaleid() {
return saleid;
}
public void setSaleid(int saleid) {
this.saleid = saleid;
}
public int getSeq() {
return seq;
}
public void setSeq(int seq) {
this.seq = seq;
}
public int getItemid() {
return itemid;
}
public void setItemid(int itemid) {
this.itemid = itemid;
}
public int getQuantity() {
return quantity;
}
public void setQuantity(int quantity) {
this.quantity = quantity;
}
public Item getItem() {
return item;
}
public void setItem(Item item) {
this.item = item;
}
@Override
public String toString() {
return "SaleItem [saleid=" + saleid + ", seq=" + seq + ", itemid=" + itemid + ", quantity=" + quantity
+ ", item=" + item + "]";
}
}
SaleDao.java
package dao;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.sql.DataSource;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.jdbc.core.namedparam.BeanPropertySqlParameterSource;
import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;
import org.springframework.jdbc.core.namedparam.SqlParameterSource;
import org.springframework.stereotype.Repository;
import logic.Sale;
@Repository
public class SaleDao {
private NamedParameterJdbcTemplate template;
private Map<String,Object> param = new HashMap<String,Object>();
private RowMapper<Sale> mapper = new BeanPropertyRowMapper<>(Sale.class);
@Autowired
public void setDateSource(DataSource dataSource) {
template = new NamedParameterJdbcTemplate(dataSource);
}
public int getMaxSaleId() {
return template.queryForObject("select nvl(max(saleid),0) from sale", param, Integer.class);
}
public void insert(Sale sale) {
String sql = "insert into sale (saleid, userid, saledate) values (:saleid, :userid, sysdate)";
SqlParameterSource param = new BeanPropertySqlParameterSource(sale);
template.update(sql, param);
}
public List<Sale> list(String id) {
String sql = "select * from sale where userid=:userid order by saleid desc";
param.clear();
param.put("userid", id);
return template.query(sql, param, mapper);
}
}
SaleItemDao.java
package dao;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.sql.DataSource;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.jdbc.core.namedparam.BeanPropertySqlParameterSource;
import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;
import org.springframework.jdbc.core.namedparam.SqlParameterSource;
import org.springframework.stereotype.Repository;
import logic.SaleItem;
@Repository
public class SaleItemDao {
private NamedParameterJdbcTemplate template;
private Map<String,Object> param = new HashMap<String,Object>();
private RowMapper<SaleItem> mapper = new BeanPropertyRowMapper<>(SaleItem.class);
@Autowired
public void setDateSource(DataSource dataSource) {
template = new NamedParameterJdbcTemplate(dataSource);
}
public void insert(SaleItem saleitem) {
String sql = "insert into saleitem (saleid, seq, itemid, quantity) values (:saleid, :seq, :itemid, :quantity)";
SqlParameterSource param = new BeanPropertySqlParameterSource(saleitem);
template.update(sql, param);
}
public List<SaleItem> list(int saleid) {
param.clear();
param.put("saleid", saleid);
return template.query("select * from saleitem where saleid=:saleid", param, mapper);
}
}
728x90
반응형
'study > Spring' 카테고리의 다른 글
[Spring] 24. Spring (사용자 정보 수정[update.jsp]) (0) | 2022.05.11 |
---|---|
[Spring] 24. Spring (mypage[mypage.jsp]) (0) | 2022.05.11 |
[Spring] 24. Spring (회원만접근가능하게 설정[CartAspect.java, CartException.java]) (0) | 2022.05.10 |
[Spring] 24. Spring (SiteMeshFilter.java, kiclayout.jsp, main.css) (0) | 2022.05.10 |
[Spring] 24. Spring (상품목록확인[checkout.jsp, Cart.java]) (0) | 2022.05.09 |