📄 cart.java
字号:
package com;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.sql.*;
import java.io.*;
public class Cart
{
private String name;//用户的标识
private HashMap items;//购物车中的物品
private int orderID;
private float totalPrice;
private Connection con;
int ordersId=0;
static CallableStatement cs=null;
static Statement st=null;
static ResultSet rs=null;
public int getOrderID()
{
return orderID;
}
public float getTotalPrice()
{
return totalPrice;
}
public Cart()
{
try
{
con = DBConnection.getConnection();
}
catch (Exception e)
{
e.printStackTrace();
}
items = new HashMap();
}
public void addItem(String itemId,int quantity)
{
items.put(itemId,new Integer(quantity));
}
public void removeItem(String itemId)
{
items.remove(itemId);
}
public void updateItem(String itemId,int quantity)
{
if(items.containsKey(itemId))items.remove(itemId);
items.put(itemId,new Integer(quantity));
}
public HashMap getItems()
{
return this.items;
}
public void setName(String name)
{
this.name=name;
}
public String getName()
{
return this.name;
}
public void clear()
{
items.clear();
}
/*public void saveData()
{
totalPrice=calPrice();
orderID=genOrder(s1,s2,s3,s4);
saveItems();
}*/
public int genOrder(String s1,String s2)//生成订单并返回订单号
{
String s3=new java.util.Date().toLocaleString();
try
{
cs=con.prepareCall("{call Pro_orders(?,?,?,?)}");
cs.setString(1,s1);
cs.setString(2,s2);
cs.setString(3,s3);
cs.registerOutParameter(4,java.sql.Types.INTEGER);
cs.execute();
ordersId=cs.getInt(4);
}
catch(Exception e)
{
e.printStackTrace();
}
return ordersId;
}
/*public float calPrice()//计算当前购物车内物品的总价格
{
总价格在Cart.jsp中计算
}*/
public float calPrice(float totalPrice)//计算当前购物车内物品的总价格
{
return this.totalPrice=totalPrice;
}
public void addOrder(String orderName,String totalPrice)
{
try
{
String dateTime=new java.util.Date().toLocaleString();
PreparedStatement pst = con.prepareStatement("insert into orders values(?,?,?)");
pst.setString(1,orderName);
pst.setString(2,totalPrice);
pst.setString(3,dateTime);
int i= pst.executeUpdate();
pst.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
public void saveItems(int i1,String s3,String s4,int i2)//存储当前订单物品明细
{
try
{
/* System.out.println("*****"+i1+" "+i2+" "+s3+" "+s4);
String sql="insert into orderDetails values("+i1+",'"+s3+"','"+s4+"',"+i2+")";
System.out.println("^^^^^"+i1+" "+i2+" "+s3+" "+s4);
rs=st.executeQuery(sql);
st.close();
rs.close();*/
PreparedStatement pst = con.prepareStatement("insert into ordersDetails(ordersId,goodsName,goodsPrice,goodsCount) values(?,?,?,?)");
pst.setInt(1,i1);
pst.setString(2,s3);
pst.setString(3,s4);
pst.setInt(4,i2);
//System.out.println("^^^^^"+i1+" "+i2+" "+s3+" "+s4);
int i= pst.executeUpdate();
pst.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
public Collection getOrders()
{
OrdersClass orders;
ArrayList arraylist = new ArrayList();
try
{
Statement statement = con.createStatement();
ResultSet resultset = statement.executeQuery("select * from orders");
while(resultset.next())
{
orders = new OrdersClass();
int ordersId=resultset.getInt(1);
String usersName=resultset.getString(2);
float ordersPrice=resultset.getFloat(3);
String ordersDatetime=resultset.getString(4);
orders.setOrdersId(ordersId);
orders.setOrdersName(usersName);
orders.setOrdersPrice(ordersPrice);
orders.setOrdersDatetime(ordersDatetime);
arraylist.add(orders);
}
resultset.close();
statement.close();
}
catch(Exception e)
{
e.printStackTrace();
}
return arraylist;
}
public Collection getOrdersByOrderId(String s)
{
int id=Integer.parseInt(s);
OrdersClass orders;
ArrayList arraylist = new ArrayList();
try
{
Statement statement = con.createStatement();
ResultSet resultset = statement.executeQuery("select * from orders where ordersId="+id);
while(resultset.next())
{
orders = new OrdersClass();
int ordersId=resultset.getInt(1);
String usersName=resultset.getString(2);
float ordersPrice=resultset.getFloat(3);
String ordersDatetime=resultset.getString(4);
orders.setOrdersId(ordersId);
orders.setOrdersName(usersName);
orders.setOrdersPrice(ordersPrice);
orders.setOrdersDatetime(ordersDatetime);
arraylist.add(orders);
}
resultset.close();
statement.close();
}
catch(Exception e)
{
e.printStackTrace();
}
return arraylist;
}
public Collection getOrdersByUserName(String s)
{
OrdersClass orders;
ArrayList arraylist = new ArrayList();
try
{
Statement statement = con.createStatement();
ResultSet resultset = statement.executeQuery("select * from orders where usersName='"+s+"'");
while(resultset.next())
{
orders = new OrdersClass();
int ordersId=resultset.getInt(1);
String usersName=resultset.getString(2);
float ordersPrice=resultset.getFloat(3);
String ordersDatetime=resultset.getString(4);
orders.setOrdersId(ordersId);
orders.setOrdersName(usersName);
orders.setOrdersPrice(ordersPrice);
orders.setOrdersDatetime(ordersDatetime);
arraylist.add(orders);
}
resultset.close();
statement.close();
}
catch(Exception e)
{
e.printStackTrace();
}
return arraylist;
}
public void deleteOrder(String s)
{
try
{
int i=Integer.parseInt(s);
//System.out.println(i+" @@@@@@@@@@@@");
Statement statement = con.createStatement();
statement.execute("delete from orders where ordersId='" + i + "'");
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -