package org.whatisjava.dang.service;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.whatisjava.dang.domain2.CartItem;
import org.whatisjava.dang.domain2.Product;
import org.whatisjava.dang.domain2.User;
import org.whatisjava.dang.form.CartForm;
public class CartService implements Serializable {
private static final long serialVersionUID = 1L;
private User user;
private ProductService ps = new ProductService();
private Map<Integer, CartItem> cartItems = new HashMap<Integer, CartItem>();
private boolean haveDelItem = false;
public CartService(User user) {
this.user = user;
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public int getSize() {
return cartItems.size();
}
public boolean addCartItem(CartForm cf) {
if (cartItems.containsKey(cf.getId()))
return false;
Product p = ps.findProductForCartItem(cf.getId());
CartItem item = new CartItem();
item.setProduct(p);
item.setNum(cf.getNum());
item.setDrop(false);
cartItems.put(item.getProduct().getId(), item);
return true;
}
public void updateItemNum(int id, int num) {
CartItem c = cartItems.get(id);
c.setNum(num);
}
public void deleteItem(int id) {
CartItem c = cartItems.get(id);
c.setDrop(true);
haveDelItem = true;
}
public void refreshItem(int id) {
CartItem c = cartItems.get(id);
c.setDrop(false);
}
public double getTotalPrice() {
double count = 0;
Set<Integer> key = cartItems.keySet();
CartItem c = null;
for (Integer i : key) {
c = cartItems.get(i);
if (c.isDrop())
continue;
count += c.getProduct().getFixedPrice() * c.getNum();
}
return count;
}
public double getTotalDangPrice() {
double count = 0;
Set<Integer> key = cartItems.keySet();
CartItem c = null;
for (Integer i : key) {
c = cartItems.get(i);
if (c.isDrop())
continue;
count += c.getProduct().getDangPrice() * c.getNum();
}
return count;
}
public List<CartItem> getBuyItem() {
return getItem(false);
}
public List<CartItem> getDelItem() {
return getItem(true);
}
private List<CartItem> getItem(boolean flag) {
Set<Integer> key = cartItems.keySet();
List list = new ArrayList<CartItem>();
CartItem c = null;
for (Integer i : key) {
c = cartItems.get(i);
if (c.isDrop() != flag)
continue;
list.add(c);
}
return list;
}
public void clearDelItem() {
if (haveDelItem) {
Set<Integer> key = cartItems.keySet();
CartItem c = null;
Iterator it=key.iterator();
Integer i=null;
while(it.hasNext()){
c = cartItems.get(i=(Integer)it.next());
if (c.isDrop())
it.remove();
}
haveDelItem=false;
}
}
public String serialize() {
Set<Integer> key = cartItems.keySet();
CartItem c = null;
StringBuilder sb = new StringBuilder();
if (cartItems.size() != 0)
for (Integer i : key) {
c = cartItems.get(i);
sb.append(user.getId() + ",").append(
c.getProduct().getId() + ",").append(c.getNum() + ",")
.append(c.isDrop() + ";");
}
return sb.toString();
}
public void deCode(String serialize) {
String[] root = serialize.split(";");
String[] child = null;
for (String s : root) {
child = s.split(",");
if (child.length != 4)
continue;
if (!user.getId().equals(Integer.parseInt(child[0])))
break;
CartItem c = new CartItem();
c.setProduct(ps.findProductForCartItem(Integer.parseInt(child[1])));
c.setNum(Integer.parseInt(child[2]));
c.setDrop(Boolean.parseBoolean(child[3]));
cartItems.put(c.getProduct().getId(), c);
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
电子商务系统代码(当当网)_java可作毕业设计
共563个文件
gif:223个
class:72个
java:72个
3星 · 超过75%的资源 需积分: 10 102 下载量 140 浏览量
2009-05-18
22:34:35
上传
评论 2
收藏 8.74MB RAR 举报
温馨提示
绝对的原创!可作为毕业设计也可以学习参考用,版权所有,请勿用于商业用途!
资源推荐
资源详情
资源评论
收起资源包目录
电子商务系统代码(当当网)_java可作毕业设计 (563个子文件)
CartService.class 6KB
RegisterAction.class 5KB
Order.class 4KB
Test4.class 4KB
BookService.class 4KB
ControlCartAction.class 4KB
Product.class 4KB
ImageAction.class 3KB
Book.class 3KB
LoginAction.class 3KB
Category.class 3KB
BookDAOImpl.class 3KB
UserForm.class 3KB
CatalogService.class 3KB
CommentDAOImpl.class 3KB
Comment.class 3KB
User.class 3KB
ShowCartAction.class 3KB
BookList.class 3KB
AuthorizeService.class 2KB
ProductDAOImpl.class 2KB
Address.class 2KB
UserDAOImpl.class 2KB
CookieUtils.class 2KB
CategoryDAOImpl.class 2KB
OrderDAOImpl.class 2KB
LoginUtil.class 2KB
ReplyDAOImpl.class 2KB
LogOutAction.class 2KB
List.class 2KB
AddressDAOImpl.class 2KB
ValidateImgcode.class 2KB
CommentService.class 2KB
DaoFactory.class 2KB
SendWay.class 2KB
Item.class 2KB
SendWayDAOImpl.class 2KB
ShoppingController.class 2KB
ValidateEmail.class 2KB
Category.class 2KB
CommentReply.class 2KB
Test3.class 2KB
AllCategory.class 1KB
OrderService.class 1KB
LoginInfoAction.class 1KB
Test2.class 1KB
CartItem.class 1KB
LoginOkAction.class 1KB
MD5Utils.class 1KB
LoginFormAction.class 1003B
HbnUtil.class 996B
Recommend.class 985B
Main.class 970B
Hot.class 967B
New.class 967B
Test1.class 909B
UUIDUtils.class 837B
ProductService.class 824B
CartForm.class 754B
Subtract.class 705B
DaoException.class 608B
EmailUtils.class 501B
CommentDAO.class 435B
Constants.class 434B
UserDAO.class 430B
BookDAO.class 425B
ProductDAO.class 391B
CategoryDAO.class 384B
ReplyDAO.class 325B
AddressDAO.class 322B
SendWayDAO.class 315B
OrderDAO.class 274B
.classpath 3KB
org.eclipse.wst.jsdt.ui.superType.container 49B
book.css 25KB
second.css 20KB
register_login.css 14KB
book_head090107.css 13KB
login.css 13KB
list.css 10KB
shopping_vehicle.css 9KB
shopping_head.css 5KB
booksaleslist.css 5KB
page_bottom.css 3KB
public_footer.css 2KB
research.css 2KB
secBook_Show.css 1KB
navi.css 1KB
pubsug090107.css 555B
Thumbs.db 45KB
Thumbs.db 34KB
Thumbs.db 14KB
Thumbs.db 12KB
Thumbs.db 7KB
Thumbs.db 6KB
Thumbs.db 4KB
Thumbs.db 4KB
ancz081216_button05.gif 25KB
xssj_banner.gif 8KB
d_introduce.gif 5KB
共 563 条
- 1
- 2
- 3
- 4
- 5
- 6
资源评论
- 我说Never2014-11-24看似很美好,很NB
- li20032013-05-20还可以吧,初学都可以看看
- chen452572112013-05-31eclipse直接导入不可用
jzh2012
- 粉丝: 17
- 资源: 17
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功