博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
项目阶段六:查看我的订单模块
阅读量:3967 次
发布时间:2019-05-24

本文共 5583 字,大约阅读时间需要 18 分钟。

3.1、编写查看我的订单模块的 Dao 程序和测试

OrderDao 接口 :

/**  * 根据用户编号查询订单信息  * @param id  * @return  */List
queryOrdersByUserId(Integer id);

OrderDao 实现 :

@Overridepublic List
queryOrdersByUserId(Integer id) {
String sql = "select order_id orderId,create_time createTime,price,status,user_id userId from t_order where user_id = ?"; return queryForList(Order.class,sql,id);}

OrderDaoTest:

public void queryOrdersByUserId() {
List
orders = orderDao.queryOrdersByUserId(1); for (Order order : orders) {
System.out.println(order); }}

3.2、编写查看我的订单模块的 Service 和测试

OrderService 接口:

/**  * 用户查看自己的订单  * @param id  */List
showMyOrders(Integer id);

OrderService 实现类 :

@Overridepublic List
showMyOrders(Integer id) {
List
orders = orderDao.queryOrdersByUserId(id); return orders;}

测试 :

@Testpublic void showMyOrders() {
List
orders = orderService.showMyOrders(1); for (Order order : orders) {
System.out.println(order); }}

3.3、编写查看我的订单的Servlet程序和jsp页面

ClientOrderServlet:

/**     * 用户查看自己的订单     * @param req     * @param resp     * @throws ServletException     * @throws IOException     */    protected void showMyOrders(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//获得登录用户的信息 User user = (User) req.getSession().getAttribute("user"); if(user == null){
req.getRequestDispatcher("/pages/user/login.jsp").forward(req,resp); return; } //取得用户ID Integer id = user.getId();// 通过ID获得该用户的订单 List
orders = orderService.showMyOrders(id);// 将该用户的订单信息保存到Session域 req.getSession().setAttribute("myOrder",orders); //请求转发到订单页面 req.getRequestDispatcher("/pages/order/order.jsp").forward(req,resp); }

login_success_menu.jsp:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
欢迎${sessionScope.user.username}光临LOEY书城
我的订单
注销  
返回
order.jsp:
你还没任何订单,赶紧去
首页加购商品吧!!!
日期 金额 状态 详情
${order.createTime} ${order.price} 未发货 已发货 已签收 查看详情

4.1、编写我的订单详情模块的 Dao 程序和测试

OrderItemDao 接口 :

/** * 根据订单编号查询订单明细 * @param OrderId * @return */List
queryOrderItemsByOrderId(String OrderId);

OrderItemDao 实现 :

@Overridepublic List
queryOrderItemsByOrderId(String orderId) {
String sql = "select id,name,count,price,total_price totalPrice,order_id orderId from t_order_item where order_id = ?"; return queryForList(OrderItem.class,sql,orderId);}

OrderItemDaoTest:

@Testpublic void showOrderDetail() {
List
orderItems = orderItemDao.queryOrderItemsByOrderId("16023323760301"); for (OrderItem orderItem : orderItems) {
System.out.println(orderItem); }}

4.2、编写我的订单详情模块的 Service 和测试

OrderService 接口:

/** * 查看订单详情 * @param orderId 订单编号 * @return */List
showOrderDetail(String orderId);

OrderService 实现类 :

@Overridepublic List
showOrderDetail(String orderId) {
List
orderItems = orderItemDao.queryOrderItemsByOrderId(orderId); return orderItems;}

测试 :

@Testpublic void showOrderDetail() {
List
orderItems = orderItemDao.queryOrderItemsByOrderId("16023323760301"); for (OrderItem orderItem : orderItems) {
System.out.println(orderItem); }}

4.3编写我的订单详情Servlet程序和jsp页面

ClientOrderServlet:

/**     * 显示订单详情     * @param req     * @param resp     * @throws ServletException     * @throws IOException     */    protected void showOrderDetail(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//获得参数 String orderId = req.getParameter("orderId"); int allCount = WebUtils.parseInt(req.getParameter("allCount"), 1); String allPrice = req.getParameter("allPrice"); List
orderItems = orderService.showOrderDetail(orderId); req.getSession().setAttribute("myOrderItems",orderItems); req.getSession().setAttribute("allCount",allCount); req.getSession().setAttribute("allPrice",allPrice); req.getRequestDispatcher("/pages/order/order_Item.jsp").forward(req,resp); }

order.html:

查看详情order_item.jsp:<%@ page contentType="text/html;charset=UTF-8" language="java" %>    订单详情    <%-- 静态包含 base标签、css样式、jQuery文件 --%>    <%@include file="/pages/common/head.jsp"%>
商品名称 数量 单价 总金额 订单编号
${
orderItem.name}
${
orderItem.count}
${
orderItem.price}
${
orderItem.totalPrice}
${
orderItem.orderId}
这个订单中共${
sessionScope.allCount}
件商品
总金额${
sessionScope.allPrice}
<%--静态包含页脚内容--%><%@include file="/pages/common/footer.jsp"%>

转载地址:http://bquki.baihongyu.com/

你可能感兴趣的文章
我感觉论文写不了创新性的写个综述也可以啊,就总结概括前人的。
查看>>
原来惯性飞轮最开始是用在卫星姿态的调整里面的
查看>>
滑模控制我看在欠驱动系统的控制里面也出现得挺多
查看>>
这样的也可以发.....
查看>>
滑模控制基本概念
查看>>
我感觉真正的关键是你做出东西,做出成果,在这个互联网时代不会埋没你,
查看>>
无名的ADRC的具体方案
查看>>
我的F330 ACfly动力配置
查看>>
无名的飞控默认是用的PID,没用ADRC,可以改变宏定义切换。而且只在角速度环用ADRC。
查看>>
我发现《四轴飞行器DIY-基于STM32微控制器》,还有crazypony,还有无名,匿名这类没有用操作系统的都是靠定时器中断来弄的。
查看>>
弄清楚这里所说的解耦是什么意思。
查看>>
我准备把ACfly和T265接上
查看>>
T265源码下载及案例实验(这个人运行成功了realsense里的pose例程,获得位置数据!)
查看>>
网上搜到的树莓派使用串口(uart或者USB)都是Python来用的,我感觉我得换成x86系统来弄或许好些。
查看>>
Mavlink协议是在串口通讯基础上的一种更高层的开源通讯协议,似乎校验更多比串口更可靠?
查看>>
移植mavlink到stm32详细教程,后面附快速移植方法
查看>>
感觉mavlink对于目前的我而言还是麻烦了点,干脆用串口吧(现在回看这可能是错误的想法)
查看>>
树莓派利用串口进行通信(这个是用c写的树莓派的串口)
查看>>
树莓派3 B+ 的串口(USART)使用问题 (也是用C写的)
查看>>
ROS下树莓派USB串口通信(具体为接收到某个ROS的topic数据后,向串口下发数据。)
查看>>