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;    }} 

5 订单查问

5.1 页面剖析

5.2 编辑OrderController

5.3 编辑OrderService

5.4 页面成果展示