⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 managerpurchase.java

📁 用jsp实现的大型商城源代码
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
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 + -