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;
@Service
public 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 页面成果展示
发表回复