1.订单确认页面跳转
1.1 需要剖析
页面跳转: order-cart.jsp页面,须要展示商品数据信息,同时有收件人地址信息.
1.2 编辑OrderController
实现订单确认页面跳转
package com.jt.controller;import com.alibaba.dubbo.config.annotation.Reference;import com.jt.pojo.Cart;import com.jt.service.DubboCartService;import com.jt.util.UserThreadLocal;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.RequestMapping;import java.util.List;@Controller@RequestMapping("/order")public class OrderController { @Reference(check = false) private DubboCartService cartService; /** * 1.实现订单确认页面跳转 * url地址: http://www.jt.com/order/create.html * 参数阐明: 获取userId * 返回值后果: 订单确认页面 order-cart.jsp * 页面取值形式: ${carts} */ @RequestMapping("/create") public String orderCart(Model model){ long userId = UserThreadLocal.getUser().getId(); List<Cart> cartList = cartService.findCartList(userId); model.addAttribute("carts", cartList); return "order-cart"; }}
2. 创立订单我的项目
2.1 订单模块表设计
2.2 导入POJO对象
2.3 创立订单我的项目
1).创立我的项目
2).增加继承/依赖/插件
<parent> <artifactId>jt</artifactId> <groupId>com.jt</groupId> <version>1.0-SNAPSHOT</version> </parent> <!--增加jar包文件依赖--> <dependencies> <dependency> <groupId>com.jt</groupId> <artifactId>jt-common</artifactId> <version>1.0-SNAPSHOT</version> </dependency> </dependencies> <!--所有业务零碎,必须增加build标签--> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>
3).实现订单模块创立
3. SpringMVC 参数传递阐明
3.1 简略参数赋值
1).html标记
<input type="text" name="name" value="二郎神"/><input type="text" name="age" value="18"/>
2).controller办法
3.2 对象赋值
1).html标记
<input type="text" name="name" value="二郎神"/><input type="text" name="age" value="18"/>
2).利用对象的形式接管参数
3.3 对象的援用赋值
问题: 如果页面中有重名属性,如何解决???
解决方案: 利用对象的援用封装
1).html标记
<input type="text" name="name" value="二郎神"/> <input type="text" name="age" value="18"/><input type="text" name="dog.name" value="哮天犬"/><input type="text" name="dog.age" value="15"/><input type="text" name="hobbys[0]" value="敲代码"/><input type="text" name="hobbys[1]" value="学JAVA"/>
2).参数的获取
4. 订单业务实现
4.1 业务剖析
1). url剖析
2).页面参数剖析
3).页面构造剖析
4).POJO对象赋值
5).页面JS剖析
4.2 编辑OrderController
4.3 编辑OrderService
package com.jt.service;import java.util.Calendar;import java.util.Date;import java.util.List;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.transaction.annotation.Transactional;import com.alibaba.dubbo.config.annotation.Service;import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;import com.jt.mapper.OrderItemMapper;import com.jt.mapper.OrderMapper;import com.jt.mapper.OrderShippingMapper;import com.jt.pojo.Order;import com.jt.pojo.OrderItem;import com.jt.pojo.OrderShipping;@Servicepublic class OrderServiceImpl implements DubboOrderService { @Autowired private OrderMapper orderMapper; @Autowired private OrderShippingMapper orderShippingMapper; @Autowired private OrderItemMapper orderItemMapper; @Override public String saveOrder(Order order) { //字符串拼接 String orderId = "" + order.getUserId() + System.currentTimeMillis(); //1.实现订单入库操作 order.setOrderId(orderId).setStatus(1); //未付款状态 orderMapper.insert(order); //2.入库订单物流信息 OrderShipping orderShipping = order.getOrderShipping(); orderShipping.setOrderId(orderId); orderShippingMapper.insert(orderShipping); //3.实现订单商品入库操作 List<OrderItem> orderItems = order.getOrderItems(); for(OrderItem orderItem : orderItems){ orderItem.setOrderId(orderId); orderItemMapper.insert(orderItem); } System.out.println("订单入库实现!!!!"); return orderId; }}