订单模块之添加订单之 Servlet 层实现| 学习笔记

开发者学堂课程【Java Web项目实战2:图书商城订单模块之添加订单之 Servlet 层实现】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/35/detail/784


订单模块之添加订单之 Servlet 层实现

 

内容简介:

一、从 session 中得到 cart。

二、使用 cart 生成 Order 对象。

三、调用 service 方法完成订单。

四、保存 order 到 request 域中,转发 /japa/order/desc.jap

 

一、从 session 中得到 cart

public String add(HttpservietRequest requst,HttpServietResponse response)

          throwa ServletException,IOException{

      Cart cart= (cart)request.getSession().getAttribute(“cart”);

把cart转换成order对象,创建order对象,并设置属性

      Order order=new Order();

设置编号

      order.setOid(CommonUtils.uuid());

设置下单时间

      order.setOrdertime(new Date());

设置订单状态为1,表示未付款

      order.setState(1);

      User user = (User)request.getSession().getAttribute(“session_user”);

设置订单所有者

      order.setOwner(user);

设置订单的合计,从cart中获取合计

    order.setTotal(cart.getTotal());

订单模块之添加订单之 Servlet 层实现| 学习笔记

二、使用 cart 生成 order 对象

创建订单条目

循环遍历cart中的所有cartItem,使用每一个cartItem对象创建orderItem对象,并添加到集合中

List<orderItem> orderItemList = new ArrayList<orderItem>();

for(CartItem cartItem : cart.getcartItems()) {

创建订单条目

         OrderItem oi = new orderItem () ;

设置条目的id

oi.setIid(commonUtils.uuid());

设置条目的数量

          oi.setCount(cartItem.getCount ()) ;

设置条目的图书

        oi.setBook(cartItem.getBook());

设置条目的小计

          oi.setSubtotal(cartItem.getSubtotal());

设置所属订单

          oi.setOrder(order);

把订单条目添加到集合中

          orderItemList.add(oi);

       }

把所有的订单条目添加到订单中

       order.setOrderItemList(orderItemList);

清空购物车

cart.clear();

订单模块之添加订单之 Servlet 层实现| 学习笔记

三、调用 orderservice 添加订单

orderService.add(order);

 

四、保存 order 到 request 域中,转发/japa/order/desc.jap

request.setAttribute ( "order", order);

return "/jsps/order/ desc.jsp" ;

}

 

上一篇:HA高可用群集NAT模式lvs部署


下一篇:iOS订单折扣视图应用于购物车界面(支持添加/删除/选择折扣)