您好,欢迎访问一九零五行业门户网

网上商城7--订单模块

1.建表:
create table `orders` ( `oid` int(11) not null auto_increment, `total` double default null, `ordertime` datetime default null, `state` int(11) default null, `name` varchar(20) default null, `addr` varchar(100) default null, `phone` varchar(20) default null, `uid` int(11) default null, primary key (`oid`), key `fkc3df62e5aa3d9c7` (`uid`), constraint `fkc3df62e5aa3d9c7` foreign key (`uid`) references `user` (`uid`)) engine=innodb auto_increment=2 default charset=utf8;create table `orderitem` ( `itemid` int(11) not null auto_increment, `count` int(11) default null, `subtotal` double default null, `pid` int(11) default null, `oid` int(11) default null, primary key (`itemid`), key `fke8b2ab6166c01961` (`oid`), key `fke8b2ab6171db7ae4` (`pid`), constraint `fke8b2ab6166c01961` foreign key (`oid`) references `orders` (`oid`), constraint `fke8b2ab6171db7ae4` foreign key (`pid`) references `product` (`pid`)) engine=innodb auto_increment=2 default charset=utf8;
2.bean
public class order { private integer oid; private double total; private date ordertime; private string name; private string addr; private string phone; private integer state; // 与用户的关联关系 private user user; // 与订单项关联关系 private set orderitems = new hashset(); ....}
public class orderitem { private integer itemid; private integer count; private double subtotal; private product product; private order order; ....}
3.生成订单
public string createorder() { // 将order对象存入到数据库中: // 封装order对象: order order = new order(); // 封装总价---从购物车的信息获得. // 获得购物车: cart cart = (cart) servletactioncontext.getrequest().getsession() .getattribute(cart); // 判断: if (cart == null) { this.addactionerror(亲!您还没有购物!请先去购物!); return msg; } // 设置所属用户: user existuser = (user) servletactioncontext.getrequest().getsession() .getattribute(existuser); if (existuser == null) { this.addactionerror(亲!您还没有登录!请先去登录!); return msg; } order.setuser(existuser); order.settotal(cart.gettotal()); // 封装时间 order.setordertime(new date()); // 封装状态 order.setstate(1); // 1 未付款 2 已经付款,未发货 3.已经发货,没有确认收货 4.订单完成. // 为订单设置订单项集合: for (cartitem cartitem : cart.getcartitems()) { // 将购物项的数据封装到订单项中. orderitem orderitem = new orderitem(); orderitem.setcount(cartitem.getcount()); orderitem.setsubtotal(cartitem.getsubtotal()); orderitem.setproduct(cartitem.getproduct()); orderitem.setorder(order); // 放入订单的集合: order.getorderitems().add(orderitem); } // 购物车清空了. cart.clearcart(); // 调用service保存订单的操作: orderservice.save(order); // 将订单存入到值栈中: actioncontext.getcontext().getvaluestack().set(order, order); // 页面跳转: return createordersuccess;}
4.查询我的订单
   1.根据用户的id查询订单
5.查询某个订单:   1.跟单订单id查询订单
其它类似信息

推荐信息