博客
关于我
强烈建议你试试无所不能的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/

你可能感兴趣的文章
Flex动态获取flash资源库文件
查看>>
01Java基础语法-16. while循环结构
查看>>
01Java基础语法-18. 各种循环语句的区别和应用场景
查看>>
01Java基础语法-19. 循环跳转控制语句
查看>>
Django框架全面讲解 -- Form
查看>>
socket,accept函数解析
查看>>
今日互联网关注(写在清明节后):每天都有值得关注的大变化
查看>>
”舍得“大法:把自己的优点当缺点倒出去
查看>>
[今日关注]鼓吹“互联网泡沫,到底为了什么”
查看>>
[互联网学习]如何提高网站的GooglePR值
查看>>
[关注大学生]求职不可不知——怎样的大学生不受欢迎
查看>>
[关注大学生]读“贫困大学生的自白”
查看>>
[互联网关注]李开复教大学生回答如何学好编程
查看>>
[关注大学生]李开复给中国计算机系大学生的7点建议
查看>>
[茶余饭后]10大毕业生必听得歌曲
查看>>
VC++ MFC SQL ADO数据库访问技术使用的基本步骤及方法
查看>>
VUE-Vue.js之$refs,父组件访问、修改子组件中 的数据
查看>>
Vue-子组件改变父级组件的信息
查看>>
Python自动化之pytest常用插件
查看>>
Python自动化之pytest框架使用详解
查看>>