{ }
}
public void deleteItemById(int productId) {
for (Iterator
}
}
CartItem item = iter.next();
if(item.getProduct().getId() == productId) { }
iter.remove();
CartItem 是购物车里的每一个购物项。里面含有商品的信息及其数量。购物车类的add 方法是添加一类商品的信息,getTotalMemberPrice() 方法算取所有商品的总价格。deleteItemById() 从购物车中删除某一类商品。
当用户选购完所有的商品时,可以点击下单就会显示所订购的物品的详细信息如图:
图5.4收银台结帐界面
用户再一次确认后,系统会显示购物成功并返回给用户一个定购单号。该页面也就是将用户提交的订单信息返回,并产生了一个唯一订单号,以方便用户查
询。订货的具体实现需要填入两张表:一张是订单表saleorder 另一张是订单货物表saleitem表。其中订单货物加入的时用到批处理加入:具体实现如下: public int add(SalesOrder so) {
}
public int userBuy(Cart c, User u) { }
public int getOrders(List
return u.buy(c); return dao.add(so);
pageSize){ }
5.2.4 商品搜索模块的实现
网上购物作为一个在网上展示自己商品的销售系统,如何能让用户以最快的速度找到自己希望买到的物品,也是需要非常重视的一个问题,此时搜索引擎也就必不可少了。本购物系统也做了一个小模块,以供用户进行一些模糊查找,用户不必输入全部名称,只需输入一些关键词,系统就可以将符合该查询条件的所有商品信息以网页形式返回给用户。
}
public SalesOrder loadById(int id) { }
public List
public void updateStatus(SalesOrder order) {
dao.updateStatus(order);
}
return dao.getSalesItems(order.getId()); return dao.loadById(id);
return dao.getOrders(list, pageNo, pageSize);
该搜索功能中实现的关键代码为:
public int find(List
String queryStr = \where p.name like '%\+ keyword + \or p.descr
like '%\
}
return dao.find(products, pageNo, pageSize, queryStr);
5.3后台管理模块的实现
网上购物系统除了能够让用户实现前台的浏览和购物等操作之外,还必须能够使管理人员能够对系统的各种信息进行维护,比如商品的增加、删除、修改,会员的审查,网站新闻的更新等等。管理功能是网上购物系统相当重要的一部分功能。
管理员可以通过主页面的“管理进入”进入系统后台进行维护,点击之后,首要的就是进行身份验证,输入正确的帐号,密码之后,方能进入。由于涉及到交易,出于安全性考虑,管理员帐号应尽量少分配,密码也要尽量复杂,经常更换。
进入之后系统管理的主页面 采用了框架结构,左边是一个树型菜单,右边显示具体信息。
管理的主要功能有商品信息的更新,会员信息维护,产品种类,新闻模块,订单管理设置等五大模块,商品信息管理,主要就是添加新的商品,删除和修改已经添加的商品。如下图所示:
图5.7 商品管理界面
这一部分的实现也没有新的方法,只是从添加商品的页面获取数据然后实例化一个product对象,利用其成员函数进行初始化,最后写入数据库中。 String action = request.getParameter(\if(action != null && action.trim().equals(\
String name = request.getParameter(\double normalPrice =
Double.parseDouble(request.getParameter(\
double memberPrice =
Double.parseDouble(request.getParameter(\
String descr = request.getParameter(\Product p = new Product(); p.setName(name);
p.setNormalPrice(normalPrice); p.setMemberPrice(memberPrice); p.setDescr(descr);
p.setCategoryId(categoryId); p.setPdate(new Date());