package com.yinhe.shoppingCar.action;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionSupport;
import com.yinhe.shoppingCar.dao.BuyGoodsCar;
import com.yinhe.shoppingCar.dao.OrdersBo;
import com.yinhe.shoppingCar.dao.ParticularOrderBo;
import com.yinhe.shoppingCar.tool.Time;
import com.yinhe.shoppingCar.vo.GoodsVo;
import com.yinhe.shoppingCar.vo.OrdersVo;
import com.yinhe.shoppingCar.vo.ParticularOrderVo;
import com.yinhe.shoppingCar.vo.UserVo;
public class OrderAction extends ActionSupport{
private static final long serialVersionUID = 1L;
private OrdersBo ob ; // 对简单信息的操作类
private ParticularOrderBo pob;//对详细信息的操作类
private HttpServletRequest request ;
private HttpSession session;
private ArrayList<GoodsVo> buyGoodsList;//用户购买所购买的商品集合
private int ordersId; //接收由上一个界面传来的订单ID
@SuppressWarnings("unchecked")
public OrderAction(){
ob = new OrdersBo();
pob = new ParticularOrderBo();
request = ServletActionContext.getRequest();
session = request.getSession();
buyGoodsList = (ArrayList<GoodsVo>)session.getAttribute("buyGoodsList");
}
//成员属性的get和set方法
public int getOrdersId() {
return ordersId;
}
public void setOrdersId(int ordersId) {
this.ordersId = ordersId;
}
//返回配置信息
//添加订单
public String addOrders(){
String message = this.writeOrders(this.getBuyGoodsMap());
String[] showMessage = this.getShowMessage();
request.setAttribute("showMessage", showMessage);
request.setAttribute("message", message);
return SUCCESS;
}
//显示订单
public String showOrders(){
String[] showMessage = this.getShowMessage();
request.setAttribute("showMessage", showMessage);
return SUCCESS;
}
//显示详细订单
public String showParticularOrders(){
ArrayList<String[]> particularMessages =
this.getParticularMessage(buyGoodsList.size(),this.getBuyGoodsMap());
// this.getParticularMessage(pob.getNumById(ordersId),this.getBuyGoodsMap());
request.setAttribute("particularMessages", particularMessages);
return SUCCESS;
}
//安全退出时的操作
public String clearGoods(){
HashMap<Integer,Integer> carMessage = this.getBuyGoodsMap();
if(carMessage != null){
this.getBuyGoodsMap().clear();
}
session.setAttribute("buyGoodsList", null);
session.setAttribute("user", null);
session.setAttribute("selectOk", null);
return SUCCESS;
}
//获取当前用户的对象
private UserVo getCurrentUser(){
return (UserVo)session.getAttribute("user");
}
//获取购物车中的map信息
private HashMap<Integer,Integer> getBuyGoodsMap(){
BuyGoodsCar car = (BuyGoodsCar)session.getAttribute("car");
if(car != null){
return (HashMap<Integer, Integer>) car.getBuyGoodsCar();
}
return null;
}
//设置订单页面显示的信息
private String[] getShowMessage(){
UserVo currentUser = this.getCurrentUser();
double totalPrice = (Double)session.getAttribute("totalPrice");
String[] message = new String[6];
message[0]=ob.getMaxId()+"";
message[1]=Time.getSystemTime();
message[2]=currentUser.getUserName();
message[3]=currentUser.getUserEmail();
message[4]=currentUser.getUserAddress();
message[5]=(totalPrice/10000)+"万元";
return message;
}
//将用户的购买物品添加到数据库中,分简略的添加和详细的添加
private String writeOrders(HashMap<Integer,Integer> buyNumList){
int check = 0;
//添加简略的数据到数据库
int ordersId = ob.getMaxId()+1;
double totalPrice = (Double)session.getAttribute("totalPrice");
OrdersVo orders = new OrdersVo(ordersId,
this.getCurrentUser().getUserId(),
Time.getSystemTime(), totalPrice);
ob.addOrders(orders);
// 添加详细的数据到数据库
ParticularOrderVo p_order = null;
Iterator<Integer> it = buyNumList.keySet().iterator();
int n = 0;
while(it.hasNext()){
int goodsId = (Integer) it.next();
int goodsNum = (Integer)buyNumList.get(goodsId);
double partTotal = goodsNum*buyGoodsList.get(n).getGoodsPrice();
n++;
p_order = new ParticularOrderVo(ordersId, goodsId,
goodsNum, partTotal);
if(pob.addParticularOrders(p_order)){
check++;
}
}
if(check==buyNumList.size())
return "添加完成";
else
return "添加不完整";
}
//获取订单的详细信息
private ArrayList<String[]> getParticularMessage(int num,HashMap<Integer,Integer> buyNumList){
ArrayList<String[]> particularMessages = new ArrayList<String[]>();
String[] message = null;
for (int i = 0; i < num; i++) {
int goodsId = buyGoodsList.get(i).getGoodsId();
double price = buyGoodsList.get(i).getGoodsPrice();
int goodsNum = buyNumList.get(goodsId);
message = new String[5];
message[0]=goodsId+"";
message[1]=buyGoodsList.get(i).getGoodsName();
message[2]=price+"元";
message[3]=goodsNum+"";
message[4]=price*goodsNum+"";
// System.out.println(price*goodsNum);
particularMessages.add(message);
}
return (ArrayList<String[]>)particularMessages;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
Struts2-ShoppingCar
共118个文件
jpg:29个
class:20个
java:20个
4星 · 超过85%的资源 需积分: 13 11 下载量 45 浏览量
2012-02-15
13:22:09
上传
评论
收藏 6.11MB RAR 举报
温馨提示
完整的Struts2-ShoppingCar购物车 系统 jsp+struts制作
资源推荐
资源详情
资源评论
收起资源包目录
Struts2-ShoppingCar (118个子文件)
OrderAction.class 6KB
GoodsCarAction.class 5KB
UserBo.class 4KB
GoodsAction.class 4KB
GoodsBo.class 4KB
UserAction.class 3KB
ParticularOrderBo.class 2KB
OrdersBo.class 2KB
GoodsVo.class 2KB
UserVo.class 2KB
ConnDB.class 2KB
ParticularOrderVo.class 2KB
OrdersVo.class 2KB
OnLoadAction.class 1KB
MyFilter.class 1KB
BuyGoodsCar.class 1KB
AreaVo.class 892B
PublicBo.class 856B
Time.class 561B
Properties.class 409B
.classpath 1KB
skin.css 4KB
text.css 57B
logo.gif 7KB
menu_topline.gif 1KB
out.gif 859B
boy.gif 841B
girl.gif 711B
top-right.gif 556B
dialog.html 898B
xwork-2.1.2.jar 2.18MB
freemarker-2.3.13.jar 850KB
struts2-core-2.1.6.jar 719KB
standard.jar 343KB
spring-test-2.5.6.jar 177KB
ognl-2.6.11.jar 164KB
junit-3.8.1.jar 118KB
servlet-api.jar 86KB
commons-io-1.3.2.jar 86KB
commons-fileupload-1.2.1.jar 56KB
commons-logging-1.1.jar 52KB
jstl.jar 17KB
OrderAction.java 5KB
GoodsCarAction.java 4KB
GoodsAction.java 3KB
UserBo.java 3KB
GoodsBo.java 3KB
UserAction.java 2KB
ParticularOrderBo.java 2KB
OrdersBo.java 2KB
GoodsVo.java 2KB
UserVo.java 2KB
ConnDB.java 1KB
ParticularOrderVo.java 1KB
OnLoadAction.java 1016B
OrdersVo.java 990B
MyFilter.java 874B
BuyGoodsCar.java 740B
AreaVo.java 519B
PublicBo.java 518B
Time.java 237B
Properties.java 105B
p9.JPG 125KB
p6.JPG 123KB
p1.JPG 116KB
p8.JPG 112KB
p3.JPG 108KB
p7.JPG 98KB
p2.JPG 94KB
p5.JPG 87KB
p10.JPG 87KB
p4.JPG 82KB
car1.JPG 82KB
p11.JPG 67KB
car9.JPG 55KB
car14.JPG 55KB
car15.JPG 52KB
car11.JPG 48KB
car5.JPG 48KB
car10.JPG 41KB
car4.JPG 41KB
car2.JPG 39KB
car13.JPG 38KB
car7.JPG 36KB
car3.JPG 35KB
car17.JPG 34KB
car6.JPG 31KB
car8.JPG 29KB
car12.JPG 26KB
car16.JPG 23KB
bg.jpg 4KB
moo.fx.pack.js 7KB
prototype.lite.js 3KB
moo.fx.js 3KB
register.jsp 5KB
left.jsp 5KB
right.jsp 4KB
right2.jsp 4KB
buyGoods.jsp 4KB
right3.jsp 4KB
共 118 条
- 1
- 2
资源评论
- rookie_zheng2014-08-17有学习的地方,还可以,一般
- ilikelyn2012-11-13很好的STRUTS 购物车例子。学习了。
fanhuayichang
- 粉丝: 2
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功