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

📄 cartserviceimpl.java

📁 一个很不错的网上小型购物系统
💻 JAVA
字号:
package service.impl;

import java.util.ArrayList;
import java.util.Date;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;

import service.CartService;
import domain.Account;
import domain.Item;
import domain.LineItem;
import domain.Order;

public class CartServiceImpl implements CartService {

	private Map map = new TreeMap();

	private Account account;

	public CartServiceImpl(Account account) {
		this.account = account;
	}

	public void addLineItem(LineItem item) {
		map.put(item.getProductId(), item);

	}

	public void alterLineItem(LineItem item) {
		if (map.containsKey(item.getProductId())) {
			map.put(item.getProductId(), item);
		}
	}

	public void removeLineItem(LineItem item) {
		map.remove(item.getProductId());

	}

	public Order toOrder() {
		Order order = new Order();
		String orderId = "" + account.getId() + System.currentTimeMillis();
		order.setId(orderId);
		order.setCreateDate(new Date());
		order.setAccount(account);
		Set set = map.keySet();
		Iterator it = set.iterator();
		Set itemSet = new HashSet();
		double totalPrice = 0.0;
		while (it.hasNext()) {
			LineItem li = (LineItem) map.get(it.next());
			Item item = new Item();
			item.setProductId(li.getProductId());
			item.setProductNum(li.getNum());
			item.setProductPrice(li.getPrice());
			item.setOrderId(orderId);
			itemSet.add(item);
			totalPrice += li.getPrice() * li.getNum();
		}
		order.setItems(itemSet);
		order.setTotalPrice(totalPrice);
		return order;

	}

	public List getAllLineItem() {
		List itemList = new ArrayList();
		Iterator it = map.keySet().iterator();
		while (it.hasNext()) {
			itemList.add(map.get(it.next()));
		}
		return itemList;
	}

	public double getTotalPrice() {
		Iterator it = map.keySet().iterator();
		double totalPrice = 0.0;
		while (it.hasNext()) {
			LineItem li = (LineItem) map.get(it.next());
			totalPrice += li.getPrice() * li.getNum();
		}
		return totalPrice;
	}

	public LineItem loadLineItem(Object key) {
		return (LineItem) map.get(key);
	}

	public void clear() {
		map.clear();
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -