网上商城7--订单模块
2016-11-30 00:56
441 查看
1.建表:
2.bean
注意:Product以后 只能做假删除了 不然没法从从订单查询名称
3.生成订单
4.查询我的订单
1.根据用户的id查询订单
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<OrderItem> orderItems = new HashSet<OrderItem>(); .... }
public class OrderItem { private Integer itemid; private Integer count; private Double subtotal; private Product product; private Order order; .... }
注意:Product以后 只能做假删除了 不然没法从从订单查询名称
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查询订单相关文章推荐
- 【JAVAWEB学习笔记】网上商城实战4:订单模块
- 网上图书商城6--订单模块1
- 【JAVAWEB学习笔记】网上商城实战3:购物模块和订单模块
- 网上图书商城7--订单模块2
- 网上图书商城8--订单模块3
- 【SSH网上商城项目实战10】商品类基本模块的搭建
- ###Jsp+Servlet购物商城day04.2:订单模块难点总结。【购物商城最大的难点:【封装一个Order对象】查询封装三张表】
- 【SSH网上商城项目实战19】订单信息的级联入库以及页面的缓存问题
- SSH框架网上商城项目第19战之订单信息级联入库以及页面缓存问题
- 网上图书商城项目学习笔记-019我的订单
- SSH框架网上商城项目第26战之订单支付后发送短信提醒
- javaweb图书商城设计之订单模块(5)
- 【SSH网上商城项目实战19】订单信息的级联入库以及页面的缓存问题
- 网上图书商城项目学习笔记-020订单详情
- 网上图书商城项目学习笔记-025分类管理模块分析及查询所有分类实现
- 【SSH网上商城项目实战19】订单信息的级联入库以及页面的缓存问题
- 图书商城:订单模块
- 【SSH网上商城项目实战26】完成订单支付后的短信发送功能
- 网上商城5--商品模块
- 网上图书商城5--购物车模块2