orderaction.java

来自「工厂版本管理系统,STRUTS2框架,用于管理商品的版本,便于有效的控制版本」· Java 代码 · 共 106 行

JAVA
106
字号
package com.bluesky.elecall.web.struts.action;

import java.util.List;

import org.apache.struts2.interceptor.validation.SkipValidation;

import com.bluesky.elecall.domain.order.DeliveryAddress;
import com.bluesky.elecall.domain.order.Order;
import com.bluesky.elecall.domain.order.OrderState;
import com.bluesky.elecall.domain.order.PaymentType;
import com.bluesky.elecall.domain.organization.User;
import com.opensymphony.xwork2.Preparable;

public class OrderAction extends ProductCategoryBaseAction implements Preparable{

	// form bean	
	private Order order;
		
	private List paymentTypeList;
	
	public OrderAction() {

		
	}
	
	@Override
	public void prepare() throws Exception {
		if(session.get("order")!=null)
			order = (Order)session.get("order");
		else
			order = new Order();		
			
		paymentTypeList = PaymentType.getAll();
		
		//reload the session user in case its delivery addresses are changed.
		User user = (User)reposity.get(User.class, getSessionUser().getId());
		setSessionUser(user);
		
		super.prepare();
	}
	
	@Override
	public String execute() throws Exception {
	
		return input();
	}
	
	public String input(){
		
		return "input";
	}
	
	/*
	 * store the order to session, display it to user, let user review in read only mode
	 */
	@SkipValidation
	public String review(){
				
		//save to session
		order.setUser(getSessionUser());
		
		DeliveryAddress da = (DeliveryAddress)reposity.get(DeliveryAddress.class, order.getDeliveryAddress().getId());
		order.setDeliveryAddress(da);
		
		PaymentType pt = (PaymentType)reposity.get(PaymentType.class, order.getPaymentType().getId());
		order.setPaymentType(pt);
		
		order.loadFromShoppingCart(getShoppingCart());
		
		session.put("order", order);
		
		return "review";
	}
	
	@SkipValidation
	public String placeOrder(){
		order = (Order)session.get("order");
		
		order.setState(OrderState.INITIAL);
		reposity.save(order);
		
		session.put("order", null);
		getShoppingCart().clear();
		
		return "confirmed";
	}

	public Order getOrder() {
		return order;
	}

	public void setOrder(Order order) {
		this.order = order;
	}

	public List getPaymentTypeList() {
		return paymentTypeList;
	}

	public void setPaymentTypeList(List paymentTypeList) {
		this.paymentTypeList = paymentTypeList;
	}
	

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?