📄 createorderaction.java
字号:
package cn.com.shoppingonline;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Vector;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;
import org.apache.struts.action.ActionMessages;
import org.apache.struts.action.DynaActionForm;
public final class CreateOrderAction extends Action{
public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) throws Exception {
DynaActionForm orderForm = (DynaActionForm) form;
String realname = (String)orderForm.get("realname");
String address = (String)orderForm.get("address");
String zip = (String)orderForm.get("zip");
String tel = (String)orderForm.get("tel");
String email = (String)orderForm.get("email");
String memo = (String)orderForm.get("memo");
String payment = (String)orderForm.get("payment");
String PageForward;
ActionMessages errors = new ActionMessages();
HttpSession session = request.getSession();
Vector shopCartList=(Vector)session.getAttribute(Constants.SHOPCART_KEY);
Member member = (Member)session.getAttribute(Constants.LOGIN_USER_KEY);
/*
* 判断用户是否登陆
*/
if (member==null) {
errors.add(ActionMessages.GLOBAL_MESSAGE,
new ActionMessage("errors.userUnLogin"));
if (!errors.isEmpty()) {
saveErrors(request, errors);
}
return mapping.findForward("toWrong"); //用户未登陆
}
/*
* 判断购物车是否为空
*/
else if (shopCartList==null||shopCartList.size()==0){
errors.add(ActionMessages.GLOBAL_MESSAGE,
new ActionMessage("errors.nullShopCart"));
if (!errors.isEmpty()) {
saveErrors(request, errors);
}
PageForward="toWrong";
}
else{
//借助Hibernate完成与数据库相关的操作
DbOperate db=new DbOperate();
Order order=new Order();
/*
*保存订单
*/
SimpleDateFormat df = new SimpleDateFormat("MMddhhmmss");
String orderno = member.getUsername() + df.format(new Date()); //��ɶ������
order.setOrderno(orderno);
order.setUserid(member.getId());
order.setRealname(realname);
order.setAddress(address);
order.setZip(zip);
order.setTel(tel);
order.setEmail(email);
df = new SimpleDateFormat("yyyy-MM-dd hh:mm");
order.setTime( df.format(new Date()));
order.setPayment(payment);
order.setMemo(memo);
order.setTag(0);
db.save(order);
/*
* 保存购物车信息至订单细目表
*/
order=db.getOrder(orderno);
double totalPrice=0;
ShopCart shopCart = new ShopCart();
for(int i = 0; i < shopCartList.size() ;i++){
shopCart = (ShopCart)shopCartList.get(i);
shopCart.setOrderid(order.getId());
db.save(shopCart);
/*
* 修改商品销售数量
*/
shopCart.getProduct().setSalecount(shopCart.getProduct().getSalecount() + shopCart.getCount());
db.update(shopCart.getProduct());
totalPrice=totalPrice+shopCart.getPrice();
}
order.setPrice(totalPrice);
db.update(order);
session.setAttribute(Constants.ORDER_DETAIL_KEY,order);
/*
* 清空购物车
*/
shopCartList.clear();
session.setAttribute(Constants.SHOPCART_KEY,shopCartList);
PageForward="toOrderOk";
}
return (mapping.findForward(PageForward));
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -