📄 cartserviceimpl.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 + -