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

你可能感兴趣的文章
图片压缩
查看>>
检测缓存文件是否超时
查看>>
十进制字符串转十六进制字符串
查看>>
属性字符串(富文本)的使用
查看>>
cell上label的背景颜色在选中状态下改变的解决办法
查看>>
GPS定位
查看>>
地图、显示用户位置、大头针
查看>>
自定义大头针
查看>>
UIButton添加block点击事件
查看>>
利用runtime给类别添加属性
查看>>
本地推送
查看>>
FMDB的使用
查看>>
UIImage存为本地文件与UIImage转换为NSData
查看>>
[转]打印质数的各种算法
查看>>
[转]javascript with延伸的作用域是只读的吗?
查看>>
php的autoload与global
查看>>
IE不支持option的display:none属性
查看>>
关于JQuery UI:dialog的isOpen API使用
查看>>
[分享]mysql内置用于字符串型ip地址和整数型ip地址转换函数
查看>>
TableDnd(JQuery表格拖拽控件)应用进阶
查看>>