1. 创建ego-order-web订单系统
(1) 描述订单系统的实现流程
订单系统的实现流程及将购物车中的数据保存到数据库,将购物车中的数据保存到数据库有两种实现方式,一种是调用购物车远程服务加载购物车集合从而获取数据保存到数据库,还有一种是给订单系统添加拦截器,用户必须登陆才能访问订单系统,在拦截器中获取用户的信息,通过用户id获取购物车数据然后保存到数据库中。
(2) 描述订单系统中需要的表和表之间的关系
用户表和订单表一对多,一个用户可以包含过个订单
订单表和订单明细表一对多,一个订单包含多个订单明细,通过订单id进行关联
订单表和订单物流表一对一
2. ego-order-web添加拦截器
(1) 说明springmvc中拦截器要重写的几个方法和执行顺序
执行方法前
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
throws Exception {
return true;
}
执行方法后
@Override
public void postHandle(
HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView)
throws Exception {
}
页面渲染后
@Override
public void afterCompletion(
HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)
throws Exception {
}
(2) 说明springmvc中拦截器postHandle()方法的执行时间和作用
postHandle:后处理回调方法,实现处理器的后处理(但在渲染视图之前),此时我们可以通过modelAndView(模型和视图对象)对模型数据进行处理或对视图进行处理,modelAndView也可能为null。
3. 保存订单信息_查看订单列表_明细
(1) 描述用户订单保存中订单明细表中的数据是怎么获取的?
根据用户的id获取到购物车对象集合,根据购物车对象集合获得商品对象,商品对象中保存着订单明细。
(2) 描述订单保存成功后,订单的情况是怎么实现的?
订单保存成功后,根据用户的id将购物车中的商品信息删除