81,092
社区成员
发帖
与我相关
我的任务
分享
<div class="myorders_content">
<ul>
<logic:equal value="1" name="I">
<li class="order_list1">${ORDER.oid}</li>
</logic:equal>
<logic:notEqual value="1" name="I">
<li class="order_list1"> </li>
</logic:notEqual>
<li class="h_spacing30"> </li>
<li class="order_list2">
<a href="product_detail.jsp?ptid=${PRODUCT.ptid}&pid=${PRODUCT.pid}">${PRODUCT.pename} ><br />${PRODUCT.pcname}</a>
</li>
<li class="h_spacing30"> </li>
<li class="order_list3">¥ ${PRODUCT.pprice}</li>
<li class="h_spacing30"> </li>
<li class="order_list4">${ORDER_DETAIL.odamount}</li>
<li class="h_spacing30"> </li>
<li class="order_list5">¥ ${ORDER_DETAIL.odtotalprice}</li>
<li class="h_spacing30"> </li>
<li class="order_list6">${ORDER.otime}</li>
<li class="h_spacing30"> </li>
<logic:equal value="0" name="ORDER" property="ostatus">
<li class="order_list7">等待发货</li>
</logic:equal>
<logic:equal value="1" name="ORDER" property="ostatus">
<li class="order_list7">等待收货 <a href="#">确认</a></li>
</logic:equal>
<logic:equal value="2" name="ORDER" property="ostatus">
<li class="order_list7">交易成功</li>
</logic:equal>
</ul>
<div class="spacing0"></div>
</div>
private static ResultSet findData(String sql) {
ResultSet rs=null;
try {
Statement st=conn.createStatement();
rs=st.executeQuery(sql);
} catch (Exception err) {
err.printStackTrace();
}
return rs;
}
public static Users getUser(String uemail) {
Connection conn=getConn();
ResultSet rs=findData("SELECT * FROM users WHERE uemail='"+uemail+"'");
Users user=new Users();
try {
while (rs.next()) {
user.setUid(rs.getInt("uid"));
user.setUname(rs.getString("uname"));
user.setUpsd(rs.getString("upsd"));
user.setUemail(rs.getString("uemail"));
user.setUhint(rs.getString("uhint"));
}
conn.close();
} catch (Exception err) {
err.printStackTrace();
}
return user;
}
public static Product getProduct(int pid) {
Connection conn=getConn();
ResultSet rs=findData("SELECT * FROM product WHERE pid="+pid);
Product product=new Product();
try {
while (rs.next()) {
product.setPid(pid);
product.setPtid(rs.getInt("ptid"));
product.setPename(rs.getString("pename"));
product.setPcname(rs.getString("pcname"));
product.setPprice(rs.getDouble("pprice"));
product.setPstock(rs.getInt("pstock"));
product.setPcapacity(rs.getInt("pcapacity"));
product.setPintro(rs.getString("pintro"));
product.setPdetail(rs.getString("pdetail"));
product.setPmethod(rs.getString("pmethod"));
product.setPimg(rs.getString("pimg"));
}
conn.close();
} catch (Exception err) {
err.printStackTrace();
}
return product;
}
public static List<Users> getUsers() {
Connection conn=getConn();
ResultSet rs=findData("SELECT * FROM users");
List<Users> users=new ArrayList<Users>();
try {
while (rs.next()) {
Users user=new Users();
user.setUid(rs.getInt("uid"));
user.setUname(rs.getString("uname"));
user.setUpsd(rs.getString("upsd"));
user.setUemail(rs.getString("uemail"));
user.setUhint(rs.getString("uhint"));
users.add(user);
}
conn.close();
} catch (Exception err) {
err.printStackTrace();
}
return users;
}
public static List<ProductType> getProductTypes() {
Connection conn=getConn();
ResultSet rs=findData("SELECT * FROM product_type");
List<ProductType> productTypes=new ArrayList<ProductType>();
try {
while (rs.next()) {
ProductType productType=new ProductType();
productType.setPtid(rs.getInt("ptid"));
productType.setPtname(rs.getString("ptname"));
productType.setPttitleimg(rs.getString("pttitleimg"));
productType.setPtdescription(rs.getString("ptdescription"));
productTypes.add(productType);
}
conn.close();
} catch (Exception err) {
err.printStackTrace();
}
return productTypes;
}
public static List<Product> getProducts(int ptid) {
Connection conn=getConn();
ResultSet rs=findData("SELECT * FROM product WHERE ptid="+ptid);
List<Product> products=new ArrayList<Product>();
try {
while (rs.next()) {
Product product=new Product();
product.setPid(rs.getInt("pid"));
product.setPtid(rs.getInt("ptid"));
product.setPename(rs.getString("pename"));
product.setPcname(rs.getString("pcname"));
product.setPprice(rs.getDouble("pprice"));
product.setPstock(rs.getInt("pstock"));
product.setPcapacity(rs.getInt("pcapacity"));
product.setPintro(rs.getString("pintro"));
product.setPdetail(rs.getString("pdetail"));
product.setPmethod(rs.getString("pmethod"));
product.setPimg(rs.getString("pimg"));
products.add(product);
}
conn.close();
} catch (Exception err) {
err.printStackTrace();
}
return products;
}
public static List<Cart> getCarts(String uname) {
Connection conn=getConn();
ResultSet rs=findData("SELECT * FROM cart WHERE uname='"+uname+"'");
List<Cart> carts=new ArrayList<Cart>();
try {
while (rs.next()) {
Cart cart=new Cart();
cart.setCid(rs.getInt("cid"));
cart.setUname(rs.getString("uname"));
cart.setPid(rs.getInt("pid"));
cart.setCamount(rs.getInt("camount"));
cart.setCtotalprice(rs.getDouble("ctotalprices"));
carts.add(cart);
}
conn.close();
} catch (Exception err) {
err.printStackTrace();
}
return carts;
}
public static List<?> getOrders(String uname) {
Session se=HibernateSessionFactory.getSession();
List<?> orders=se.createQuery("from Orders orders where orders.uname='"+uname+"'").list();
se.clear();
se.close();
return orders;
}
public static List<?> getOrderDetails(String oid) {
Session se=HibernateSessionFactory.getSession();
String hql="from OrderDetails orderDetails where orderDetails.oid='"+oid+"'";
List<?> orderDetails=se.createQuery(hql).list();
se.clear();
se.close();
return orderDetails;
}
/**注册*/
public static int addUser(Users user) {
Connection conn=getConn();
List<Users> users=getUsers();
Iterator<Users> iter=users.iterator();
while (iter.hasNext()) {
Users oldUser=iter.next();
if (oldUser.getUname().equals(user.getUname())) {
return 1; //用户名已存在
}
if (oldUser.getUemail().equals(user.getUemail())) {
return 2; //电子邮箱已存在
}
}
String sql="INSERT users VALUES(null,?,?,?,?)";
try {
PreparedStatement pst=conn.prepareStatement(sql);
pst.setString(1, user.getUname());
pst.setString(2, user.getUpsd());
pst.setString(3, user.getUemail());
pst.setString(4, user.getUhint());
pst.executeUpdate();
conn.close();
} catch (Exception err) {
err.printStackTrace();
return -1; //其它错误,注册失败
}
return 0; //注册成功
}
/**登录*/
public static int isLogin(String uemail,String upsd) {
String sql="SELECT * FROM users WHERE uemail=?";
Connection conn=getConn();
try {
PreparedStatement pst=conn.prepareStatement(sql);
pst.setString(1, uemail);
ResultSet rs=pst.executeQuery();
if (rs.next()) {
if (!rs.getString("upsd").equals(upsd)) {
return 2; //密码错误
}
} else {
return 1; //用户名错误
}
conn.close();
} catch (Exception err) {
err.printStackTrace();
return -1; //登录失败
}
return 0; //登录成功
}
/**加入购物袋*/
public static int addCart(String uname,int pid) {
double pprice=getProduct(pid).getPprice();
Connection conn=getConn();
ResultSet rs=findData("SELECT * FROM cart WHERE uname='"+uname+"' AND pid="+pid);
try {
if (rs.next()) {
String sql="UPDATE cart SET camount=?,ctotalprices=? WHERE uname=? AND pid=?";
int camount=rs.getInt("camount")+1;
PreparedStatement pst=conn.prepareStatement(sql);
pst.setInt(1, camount);
pst.setDouble(2, camount*pprice);
pst.setString(3, uname);
pst.setInt(4, pid);
pst.executeUpdate();
conn.close();
return 1; //已有此商品,更新数量
} else {
String sql="INSERT INTO cart VALUES(null,?,?,?,?)";
PreparedStatement pst=conn.prepareStatement(sql);
pst.setString(1, uname);
pst.setInt(2, pid);
pst.setInt(3, 1);
pst.setDouble(4, pprice);
pst.executeUpdate();
conn.close();
return 2; //新加入购物袋的商品
}
} catch (Exception err) {
err.printStackTrace();
return 0;
}
}
/**从购物袋移出*/
public static boolean delCart(int cid) {
Connection conn=getConn();
String sql="DELETE FROM cart WHERE cid=?";
try {
PreparedStatement pst=conn.prepareStatement(sql);
pst.setInt(1, cid);
pst.executeUpdate();
conn.close();
} catch (Exception err) {
err.printStackTrace();
return false;
}
return true;
}
/**统计购物袋商品总数*/
public static int cartCount(String uname) {
Connection conn=getConn();
ResultSet rs=findData("SELECT COUNT(*) FROM cart WHERE uname='"+uname+"'");
int count=0;
try {
while (rs.next()) {
count=rs.getInt("COUNT(*)");
}
conn.close();
} catch (Exception err) {
err.printStackTrace();
}
return count;
}
/**下订单*/
public static void addOrder(Orders order,List<OrderDetails> orderDetails) {
Session se=HibernateSessionFactory.getSession();
Transaction tran=se.beginTransaction();
se.save(order);
Iterator<OrderDetails> iter=orderDetails.iterator();
while (iter.hasNext()) {
OrderDetails orderDetail=iter.next();
se.save(orderDetail);
}
List<?> carts=se.createQuery("from Cart cart where cart.uname='"+order.getUname()+"'").list();
Iterator<?> iterCarts=carts.iterator();
while (iterCarts.hasNext()) {
se.delete(iterCarts.next());
}
se.flush();
se.clear();
tran.commit();
se.close();
}
/**添加地址*/
public static void addAddress(Address address) {
Session se=HibernateSessionFactory.getSession();
Transaction tran=se.beginTransaction();
se.save(address);
se.flush();
se.clear();
tran.commit();
se.close();
}
/**统计地址总数*/
public static int addressCount(String uname) {
Session se=HibernateSessionFactory.getSession();
Query qu=se.createQuery("select count(*) from Address address where address.uname='"+uname+"'");
int count=(Integer)qu.uniqueResult();
se.clear();
se.close();
return count;
}