%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.sql.ResultSet"%> <%-- 导入java.sql.ResultSet类 --%>
<%@ page import="java.util.Vector"%> <%-- 导入Java的向量类 --%>
<%@ page import="com.model.Goodselement"%> <%-- 导入购物车商品模型类 --%>
<%-- 创建ChStr类的对象 --%>
<%-- 创建ConnDB类的对象 --%>
Insert title here
<%
if (session.getAttribute("cart") == "") { //判断购物车对象是否为空
out.println(
"");
}
String Username = (String) session.getAttribute("username"); //获取输入的账户名称
if (Username != "") {
try { //捕捉异常
ResultSet rs_user = conn.executeQuery("select * from tb_Member where username='"
+ Username + "'");
if (!rs_user.next()) { //如果获取的账户名称在会员信息表中不存在(表示非法会员)
session.invalidate();//销毁Session
out.println(
"");
return; //返回
} else { //如果合法会员,则保存订单
//获取输入的收货人姓名
String receiveName = chStr.chStr(request.getParameter("receiveName"));
//获取输入的收货人地址
String address = chStr.chStr(request.getParameter("address"));
String tel = request.getParameter("tel"); //获取输入的电话号码
String bz = chStr.chStr(request.getParameter("bz"));//获取输入的备注
int orderID = 0; //定义保存订单ID的变量
Vector cart = (Vector) session.getAttribute("cart");//获取购物车对象
int number = 0; //定义保存商品数量的变量
float nowprice = (float) 0.0; //定义保存商品价格的变量
float sum = (float) 0; //定义商品金额的变量
float Totalsum = (float) 0; //定义商品件数的变量
boolean flag = true; //标记订单是否有效,为true表示有效
int temp = 0; //保存返回自动生成的订单号的变量
int ID = -1;
//插入订单主表数据
float bnumber = cart.size();
String sql = "insert into tb_Order(bnumber,username, receiveName,address, "
+"tel,bz) values("+ bnumber + ",'" + Username + "','" + receiveName
+ "','" + address + "','" + tel+ "','" + bz + "')";
temp = conn.executeUpdate_id(sql); //保存订单主表数据
if (temp == 0) { //如果返回的订单号为0,表示不合法
flag = false;
} else {
orderID = temp; //把生成的订单号赋值给订单ID变量
}
String str = ""; //保存插入订单详细信息的SQL语句
//插入订单明细表数据
for (int i = 0; i < cart.size(); i++) {
//获取购物车中的一个商品
Goodselement mygoodselement = (Goodselement) cart.elementAt(i);
ID = mygoodselement.ID; //获取商品ID
nowprice = mygoodselement.nowprice; //获取商品价格
number = mygoodselement.number; //获取商品数量
sum = nowprice * number; //计算商品金额
str = "insert into tb_order_Detail (orderID,goodsID,price,number)"
+" values(" + orderID + ","+ ID + "," + nowprice + ","
+ number + ")"; //插入订单明细的SQL语句
temp = conn.executeUpdate(str); //保存订单明细
Totalsum = Totalsum + sum; //累加合计金额
if (temp == 0) { //如果返回值为0,表示不合法
flag = false;
}
}
if (!flag) { //如果订单无效
out.println("");
} else {
session.removeAttribute("cart"); //清空购物车
out.println("");//显示生成的订单号
}
conn.close(); //关闭数据库连接
}
} catch (Exception e) { //处理异常
out.println(e.toString()); //输出异常信息
}
} else {
session.invalidate(); //销毁Session
out.println(
"");
}
%>