订单模块之我的订单完成 | 学习笔记

简介: 快速学习订单模块之我的订单完成

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

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


订单模块之我的订单完成


目录:

一、流程

二、开发路径

 

一、流程

(一)top.jsp 我的订单

(二)OrderServlet#myOrders()

1.从 session 中获取 User ,再获取 uid

2.使用 uid 来调用 service 方法得到 List<Order> ,保存到 request 中

3.转发到 /jsps/order/list.jsp

或rquest域:List<Orders>

 /jsps/order/list.jsp

循环遍历多个订单两层循环!

(三)OrderService 略

(四)OrderDao#findByUid(String uid)

1.使用 uid 为条件查询所有的订单

2.循环遍历每个订单,然后再为每个订单加载

己的所有条目

image.png


二、开发路径

package cn.itcast.bookstore.order.web.servlet;

import java.io.IOException;

public class OrderServlet extends BaseServlet

private OrderService orderService = new OrderService( );

我的订单

@param request

@param response

@return

@throws ServletException

@throws IOException

 

Public String myorders(HttpServletReguest reguest, HttpServletResponse response)

throws ServletException.IOException

1.从session得到当前用户,再获取其uid

2.使用uid调用orderservice#mvorders(uid)得到该用户的所有订单List<order>

3.把订单列表保存到xeauest域中,转发到/1spa/oxder/liat.isp

User user =(User)request.getSession().getAttribute("session_user"); List<order> ordertiat orderService.myOrders(user.getuid()); request.setAttribute("orderList", orderList);

return "f:/jsps/order/list.jsp";

按uid查询订单

@param uid

@return

blic List<Order> findByuid(String uid) (

1.通过uid查询出当前用户的所有List<order>

2. 循环遍历每个order,为其加载他的所有OrderItem

try(

1.得到当前用户的所有订单

 

String sql ="select  from orders where uid=?";

List<Order>orderList=qr.query(sql,new BeanListHandler<order>(Order.class), uid

2. 循环遍历每个order,为其加载它自己所有的订单条目

for(order or)

catch(OtExcention

3. 返回订单列表

return orderList;

catch(SQLException e)

throw new RuntimeException(e);

加载指定的订单所有的订单条目

@param order

@throws SQLException

 

private void loadorderItems(Order order) throws SQLException (

查询两张表:orderitem、book

string sql = "select * from orderitem i, book b where i.bid=b.bid and oid=?";

因为一行结果集对应的不再是一个javabean,所以不能再使用BeanListHandler,而是MapListHandi

List<Map<String,Object>> mapList= qr.query(sql, new MapListHandler(), order.geto/+

mapList是多个map,每个map对应一行结果集

一行:

(iid=c7AD5492F27D492189105FB50E55BB6,count=2,subtotal=60.0, oid=1AE8A703540

把mapLiat中每个Map转换成两个对象,并建立关系

@param mapList

@return

privateList<OrderItem>toorderItemList(List<Map<String, Object>> mapList

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

for(Map<String,Object> map : mapList)

OrderItem item toorderItem(map); I

orderItemList.add(item);

 

returnorderItemList;

相关文章
|
SQL 前端开发
创建订单【项目 商城】
创建订单【项目 商城】
58 0
|
前端开发
JavaWeb10(实现结算&查看订单&订单详情)(二)
JavaWeb10(实现结算&查看订单&订单详情)
JavaWeb10(实现结算&查看订单&订单详情)(一)
JavaWeb10(实现结算&查看订单&订单详情)
|
数据可视化 搜索推荐 API
如何通过拼多多订单API接口获取订单详情
拼多多订单接口获取到订单详情之后,你可以根据需求对订单信息进行处理和利用,例如: 将订单信息导入到 ERP 系统中实现自动化订单处理; 根据订单信息生成发货单、物流面单等相关文档; 对订单的商品信息进行分析,例如常购买的商品、下单时间、下单地点等,为业务决策提供参考; 根据买家信息进行个性化营销,为买家提供更好的购物体验; 对订单信息进行可视化展示,例如订单量趋势图、订单来源分析等,为业务和数据分析提供支持。 以上只是一些简单的示例,具体使用方式应根据实际业务需求和场景而定。需要注意的是,对于涉及用户隐私数据的处理,需要遵守相关的法律法规和隐私保护政策。
|
消息中间件 算法 Java
创建支付订单实现|学习笔记
快速学习创建支付订单实现
127 0
创建支付订单实现|学习笔记
|
消息中间件 数据库 RocketMQ
创建支付订单流程|学习笔记
快速学习创建支付订单流程
359 0
创建支付订单流程|学习笔记
|
SQL 大数据 开发者
电商项目之交易订单明细流水表执行测试|学习笔记
快速学习电商项目之交易订单明细流水表执行测试
电商项目之交易订单明细流水表执行测试|学习笔记
|
开发者
订单催付运行结果| 学习笔记
快速学习订单催付运行结果。
订单催付运行结果| 学习笔记
|
数据库 开发者 微服务
查询订单支付状态接口(2) | 学习笔记
快速学习查询订单支付状态接口(2)
查询订单支付状态接口(2) | 学习笔记