📄 managerpurchase.java
字号:
package myshop.purchase_sys;
import myshop.*;
import myshop.product_sys.*;
import myshop.member_sys.administratorBean;
import java.sql.*;
import java.util.*;
import javax.servlet.http.*;
public class ManagerPurchase {
Handle handle;
DBconn dbconn;
ManagerProduct ManagerProduct;
Md5 md5;
public ManagerPurchase() throws Exception {
dbconn = new DBconn();
handle = new Handle();
ManagerProduct = new ManagerProduct();
md5 = new Md5();
}
//--- 注销,销毁所有session ---
public void Logout(HttpSession session) {
session.invalidate();
}
//--- 清空购物车 ---
public void KillCar(HttpSession session,String name) {
session.removeAttribute(name);
}
//--- 放货品入车 ---
public void PutProduct(HttpServletRequest request,HttpSession session) {
Vector BuyList;
boolean match = false;
Car new_car = getCar(request);
if (session.getAttribute("Car") == null) BuyList = new Vector();
else {
BuyList = (Vector)session.getAttribute("Car");
for (int i=0; i<BuyList.size(); i++) {
Car current_car = (Car) BuyList.elementAt(i);
if (current_car.getPid() == new_car.getPid()) {
if (new_car.getQuantity() == 1) current_car.setQuantity(current_car.getQuantity() + 1);
else current_car.setQuantity(new_car.getQuantity());
BuyList.setElementAt(current_car,i);
match = true;
}
}
}
if (!match) BuyList.addElement(new_car);
session.setAttribute("Car",BuyList);
}
//--- 删除购物车的商品 --
public void DelProduct(HttpServletRequest request,HttpSession session) {
Vector BuyList;
int Pid = handle.getInt(request,"Pid");
BuyList = (Vector)session.getAttribute("Car");
for (int i=0; i<BuyList.size(); i++) {
Car current_car = (Car) BuyList.elementAt(i);
if (Pid == current_car.getPid()) BuyList.removeElementAt(i);
}
}
//--- 更改商品数量 ---
public void UpdateQuantity(HttpServletRequest request,HttpSession session) {
Vector BuyList;
Enumeration e = request.getParameterNames();
while (e.hasMoreElements()) {
String ParaPid = (String) e.nextElement();
if (!ParaPid.substring(0,4).equals("Para")) continue; //Enumeration 会把所有表单元素,包括按钮的键值和值都列出
int Quantity = Integer.parseInt(request.getParameter(ParaPid));
BuyList = (Vector)session.getAttribute("Car");
for (int i=0; i<BuyList.size(); i++) {
Car current_car = (Car) BuyList.elementAt(i);
if (ParaPid.equals("Para" + java.lang.String.valueOf(current_car.getPid()))) {
current_car.setQuantity(Quantity);
BuyList.setElementAt(current_car,i);
}
}
}
}
//--- 列出购物车货品 ---
public Hashtable GetProduct(String tb_shop_product_info,HttpSession session) throws Exception {
String name = "",Str = "";
int Pid;
float Quantity,price = 0,total_price,all_total_price = 0;
Hashtable InHash = new Hashtable();
Hashtable OutHash = new Hashtable();
Vector BuyList = (Vector)session.getAttribute("Car");
if (BuyList == null) {
OutHash.put("html","");
OutHash.put("all_total_price",new Integer(0));
return(OutHash);
}
for (int i=BuyList.size()-1; i>=0; i--) {
Car car = (Car) BuyList.elementAt(i);
Pid = car.getPid();
Quantity = car.getQuantity();
//--- get name&price ---
InHash = ProductPN(tb_shop_product_info,Pid);
name = InHash.get("name") + "";
price = Float.parseFloat(InHash.get("price") + "");
total_price = price * Quantity;
all_total_price += total_price;
Str += "<tr align=center valign=middle> ";
Str += " <td>" + name + "</td>";
Str += " <td>" + price + "</td>";
Str += " <td>";
Str += " <input name=Para"+ Pid +" type=text value=" + (int)Quantity + " size=3></td>";
Str += " <td>" + total_price + "</td>";
Str += " <td><a href=DealWithCenter.jsp?action=favorite&Pid=" + Pid + "><font color=blue>收藏</font></a> <a href=DealWithCenter.jsp?action=delcarpro&Pid=" + Pid + " ><font color=#FF0000>删除</font></a></td>";
Str += "</tr>";
}
OutHash.put("html",Str);
OutHash.put("all_total_price",new Float(all_total_price));
return(OutHash);
}
//--- 列出最后的订购清单 ---
public Hashtable GetOrderMenu(String tb_shop_product_info,HttpSession session) throws Exception {
String name = "",Str = "";
int Pid;
float Quantity,price = 0,total_price,all_total_price = 0;
Hashtable InHash = new Hashtable();
Hashtable OutHash = new Hashtable();
Vector BuyList = (Vector)session.getAttribute("Car");
if (BuyList == null) {
OutHash.put("html","");
OutHash.put("all_total_price",new Integer(0));
return(OutHash);
}
for (int i=BuyList.size()-1; i>=0; i--) {
Car car = (Car) BuyList.elementAt(i);
Pid = car.getPid();
Quantity = car.getQuantity();
//--- get name&price ---
InHash = ProductPN(tb_shop_product_info,Pid);
name = InHash.get("name") + "";
price = Float.parseFloat(InHash.get("price") + "");
total_price = price * Quantity;
all_total_price += total_price;
Str += "<tr align=center valign=middle> ";
Str += " <td>" + name + "</td>";
Str += " <td>" + price + "</td>";
Str += " <td>" + (int)Quantity + "</td>";
Str += " <td>" + total_price + "</td>";
Str += "</tr>";
}
OutHash.put("html",Str);
OutHash.put("all_total_price",new Float(all_total_price));
return(OutHash);
}
//--- 获得bean car ---
private Car getCar(HttpServletRequest request) {
Car car = new Car();
int Pid = handle.getInt(request,"Pid");
int Quantity = handle.getInt(request,"Quantity");
if (Quantity == 0) Quantity = 1;
car.setPid(Pid);
car.setQuantity(Quantity);
return(car);
}
//--- 获得某商品的名称和价格 ---
public Hashtable ProductPN(String tb_shop_product_info,int Pid) throws Exception {
ResultSet rs;
String SqlStr;
Hashtable OutHash = new Hashtable();
try {
SqlStr = "SELECT * FROM " + tb_shop_product_info + " WHERE id=" + Pid;
rs = dbconn.ExeQuery(SqlStr);
rs.next();
OutHash.put("name",rs.getString("name"));
OutHash.put("price",new Float(rs.getFloat("price")));
dbconn.CloseConn();
}
catch (SQLException ex) {
System.err.println("aq.executeQuery:"+ex.getMessage());
}
return(OutHash);
}
//--- 检测登陆 ---
public int CheckLogin(HttpSession session) throws Exception {
if (session.getAttribute("LoginUser") == null) return(0);
else return(1);
}
//--- 加入收藏夹 ---
public void AddFavorite(String tb_member_favorite,HttpServletRequest request,HttpSession session) throws Exception {
ResultSet rs;
String SqlStr;
int Pid = handle.getInt(request,"Pid");
String MName = handle.GBK2ISO((String)session.getAttribute("LoginUser"));
try {
SqlStr = "SELECT * FROM " + tb_member_favorite + " WHERE Pid=" + Pid + " AND MName='" + MName + "'";
rs = dbconn.ExeQuery(SqlStr);
if (!rs.next()) {
SqlStr = "INSERT INTO " + tb_member_favorite + "(MName,Pid,date_time) VALUES('" + MName + "','" + Pid + "',sysdate())";
dbconn.ExeUpdate(SqlStr);
}
dbconn.CloseConn();
}
catch (SQLException ex) {
System.err.println("aq.executeQuery:"+ex.getMessage());
}
}
//--- 显示收藏夹内容 ---
public String ShowFavorite(String tb_member_favorite,String tb_shop_product_info,HttpSession session) throws Exception {
ResultSet rs1,rs2 = null;
String SqlStr1,SqlStr2;
String PName,HtmlStr = "";
int Pid,i = 0;
String MName = handle.GBK2ISO((String)session.getAttribute("LoginUser"));
try {
SqlStr1 = "SELECT * FROM " + tb_member_favorite + " WHERE MName='" + MName + "' ORDER BY id DESC";
rs1 = dbconn.ExeQuery(SqlStr1);
while (rs1.next()) {
i++;
int Fid = rs1.getInt("id");
Pid = rs1.getInt("Pid");
SqlStr2 = "SELECT * FROM " + tb_shop_product_info + " WHERE id=" + Pid;
rs2 = dbconn.ExeQuery(SqlStr2);
rs2.next();
PName = rs2.getString("name");
int absence = rs2.getInt("absence");
String StatusStr;
if (absence == 0) StatusStr = "<font color=blue>有货</font>";
else StatusStr = "<font color=red>缺货</font>";
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -