📄 shopaction.java
字号:
package org.yangkang.bookshop.action;
import java.util.Collection;
import java.util.Date;
import java.util.Iterator;
import java.util.Map;
import org.yangkang.bookshop.service.impl.BookService;
import org.yangkang.bookshop.service.impl.SaveOrderService;
import org.yangkang.bookshop.service.impl.Saveorderitemservice;
import org.yangkang.bookshop.util.Cart;
import org.yangkang.bookshop.vo.Book;
import org.yangkang.bookshop.vo.Order;
import org.yangkang.bookshop.vo.Orderitem;
import org.yangkang.bookshop.vo.User;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
@SuppressWarnings("serial")
public class ShopAction extends ActionSupport {
private User user;
private Order order;
private Integer bookId;
private int quantity;
protected Cart cart;
protected BookService bookservice;
protected SaveOrderService orderservice;
protected Saveorderitemservice saveorderitemservice;
public SaveOrderService getOrderservice() {
return orderservice;
}
public void setOrderservice(SaveOrderService orderservice) {
this.orderservice = orderservice;
}
public Saveorderitemservice getSaveorderitemservice() {
return saveorderitemservice;
}
public void setSaveorderitemservice(
Saveorderitemservice saveorderitemservice) {
this.saveorderitemservice = saveorderitemservice;
}
public BookService getBookservice() {
return bookservice;
}
public void setBookservice(BookService bookservice) {
this.bookservice = bookservice;
}
public Cart getCart() {
return cart;
}
public void setCart(Cart cart) {
this.cart = cart;
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public Order getOrder() {
return order;
}
public void setOrder(Order order) {
this.order = order;
}
public Integer getBookId() {
return bookId;
}
public void setBookId(Integer bookId) {
this.bookId = bookId;
}
public int getQuantity() {
return quantity;
}
public void setQuantity(int quantity) {
this.quantity = quantity;
}
@SuppressWarnings("unchecked")
public String execute() throws Exception {
Map session = ActionContext.getContext().getSession();
Map request = (Map) ActionContext.getContext().get("request");
@SuppressWarnings("unused")
Book book = bookservice.getBookBybookId(bookId);
Orderitem orderitem = new Orderitem();
orderitem.setQuantity(quantity);
orderitem.setBook(book);
// 注意此时没有orderitemId,因为它还没有被写入数据库..orderitemId就没有自动生成
System.out.println("orderitem.orderitemId:"
+ orderitem.getOrderitemId());
Cart cart = (Cart) session.get("cart");
cart.addToCart(bookId, orderitem);
int total_price = cart.getAllprice();
System.out.println("购物车的容量是:" + cart.getItem().size());
session.put("cart", cart);
request.put("total_price", total_price);
return SUCCESS;
}
@SuppressWarnings("unchecked")
public String continue_shopping() throws Exception {
return SUCCESS;
}
@SuppressWarnings("unchecked")
public String payCart() throws Exception {
Map session = (Map) ActionContext.getContext().getSession();
User user = (User) session.get("user");
System.out.println("user属性userId:" + user.getUserId());
System.out.println("user属性getUsername" + user.getUsername());
System.out.println("user属性getPassword" + user.getPassword());
System.out.println("user属性getSex" + user.getSex());
System.out.println("user属性getAge" + user.getAge());
Date orderdate = new Date(System.currentTimeMillis());
Order order = new Order();
order.setOrderdate(orderdate);
order.setUser(user);
if (saveorderitemservice == null) {
System.out.println("属性长度有限制!............." + saveorderitemservice);
}
if (orderservice == null) {
System.out.println("saveorderservice是否为空......." + orderservice);
}
try{
order = orderservice.saveOrder(order);
}
catch(Exception e){
System.out.println("检验存入订单是否成功!---------------");
e.printStackTrace();
}
Cart cart = (Cart) session.get("cart");
Collection items = cart.getItem().values();
Iterator it = items.iterator();
while (it.hasNext()) {
Orderitem orderitem = (Orderitem) it.next();
orderitem.setOrder(order);
order.getOrderitems().add(orderitem);
Book book = orderitem.getBook();
Book _book = bookservice.getBookBybookId(book.getBookId());
int quantity = _book.getQuantity().intValue()
- orderitem.getQuantity().intValue();
book.setQuantity(new Integer(quantity));
bookservice.updateBook(book);
saveorderitemservice.saveorderitem(orderitem);
cart.setItem(null);
}
return SUCCESS;
}
@SuppressWarnings("unchecked")
public String modify() throws Exception {
Map session = ActionContext.getContext().getSession();
Map request = (Map) ActionContext.getContext().get("request");
Cart cart = (Cart) session.get("cart");
Orderitem orderitem = cart.getItem().get(bookId);
System.out.println("orderitem.book.bookname"
+ orderitem.getBook().getBookname());
System.out.println("orderitem.book.price"
+ orderitem.getBook().getPrice());
System.out.println("orderitem.quantity" + orderitem.getQuantity());
request.put("orderitem", orderitem);
return SUCCESS;
}
@SuppressWarnings("unchecked")
public String update() throws Exception {
Map session = ActionContext.getContext().getSession();
Map request = (Map) ActionContext.getContext().get("request");
Cart cart = (Cart) session.get("cart");
System.out.println("orderitem.book.bookId" + bookId);
Orderitem orderitem = cart.getItem().get(bookId);
System.out.println("从这里开始检查orderitem是否为空");
System.out.println("orderitem.book.bookname "
+ orderitem.getBook().getBookname());
System.out.println("orderitem.book.price "
+ orderitem.getBook().getPrice());
System.out.println("orderitem.quantity " + orderitem.getQuantity());
if (cart.update(bookId, orderitem, quantity)) {
int total_price = cart.getAllprice();
request.put("total_price", total_price);
session.put("cart", cart);
return SUCCESS;
}
return ERROR;
}
@SuppressWarnings("unchecked")
public String delete() throws Exception {
Map session = ActionContext.getContext().getSession();
Map request = (Map) ActionContext.getContext().get("request");
Cart cart = (Cart) session.get("cart");
System.out.println("orderitem.book.bookId" + bookId);
if (cart.getItem().remove(bookId) != null) {
int total_price = cart.getAllprice();
request.put("total_price", total_price);
return SUCCESS;
}
return ERROR;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -