查询订单的详情

查询订单的详情

只有未付款的订单,点击"付款",跳转到订单的详情页面
步骤分析:
    1.在订单列表,点击付款,
        /store/order?method=getById&oid=?
    2.在orderservlet中编写getById()
        接受oid
        调用service 返回Order
        将order放入域中,请求转发 order_info.jsp
    3.orderDao中 通过一个订单号,查询订单详情
        select * from orderitem oi,product p where oi.pid = p.pid and oi.oid = ?

        用mapListhandler封装结果集,然后使用BeanUtils封装成指定的bean对象 ,添加到order的items中即可

---------------------------------------------------------------------------------------------------------------

<th colspan="5">订单编号:${bean.oid } 订单金额:${o.total } <c:if
                                        test="${o.state==0 }">
                                        <a href="${pageContext.request.contextPath }/order?method=getById&oid=${o.oid}">付款</a>
                                    </c:if> <c:if test="${o.state==1 }">
                                        <a>已付款</a>
                                    </c:if> <c:if test="${o.state==2 }">
                                        <a>确认收获</a>
                                    </c:if> <c:if test="${o.state==3 }">
                                        <a>已完成</a>
                                    </c:if>
                                </th>

---------------------------------------------------------------------------------------------------------------

   OrderServlet

/**

     * 查询订单详情
     * @param request
     * @param response
     * @return
     * @throws Exception
     */
    public String getById(HttpServletRequest request, HttpServletResponse response) throws Exception {
        
        //获取id
        String oid=request.getParameter("oid");
        
        //调用service 层 通过oid 返回order
          
          OrderService os=(OrderService) BeanFactory.getBean("OrderService");
             Order order=os.getById(oid);
             //将order 放入域中 页面跳转
             request.setAttribute("bean",order);
        
        return "/jsp/order_info.jsp";
    }

---------------------------------------------------------------------------------------------------------------

package com.feizhu.service;

import com.feizhu.domain.Order;
import com.feizhu.domain.PageBean;
import com.feizhu.domain.User;

public interface OrderService {

    void add(Order order) throws Exception;

    PageBean<Order> findAllByPage(int currPage, int pageSize, User user)throws Exception;

    Order getById(String oid) throws Exception;

    void updateOrder(Order order)throws Exception;

}


---------------------------------------------------------------------------------------------------------------

OrderServiceImpl

/**

     * 查看订单详情
     */
    @Override
    public Order getById(String oid) throws Exception {
        
        //调用OrderDao层  返回一个 order
        OrderDao od=(OrderDao) BeanFactory.getBean("OrderDao");
        
        return od.getById(oid);
        
    }

---------------------------------------------------------------------------------------------------------------

    OrderDaoImpl

/**

     * 查询订单详情
     */
    @Override
    public Order getById(String oid) throws Exception {

        
          QueryRunner qr = new QueryRunner(DataSourceUtils.getDataSource());
          
          String sql="select *from orders where oid=?";
          
           Order order= qr.query(sql, new BeanHandler<>(Order.class),oid);
            
           //封装ordertimes
           sql="select * from orderitem oi,product p where oi.pid=p.pid and oi.oid=?";
           
            List<Map<String,Object>> query = qr.query(sql, new MapListHandler(),oid);
            for (Map<String, Object> map : query) {
                //封装product
                Product product=new Product();
                BeanUtils.populate(product, map);
                
                //封装orderitem
                OrderItem oi=new OrderItem();
                BeanUtils.populate(oi, map);
                oi.setProduct(product);
                
                //将orderitem加入order的items中
                order.getItems().add(oi);
                
                
            }
            
            return order;
           
    }

---------------------------------------------------------------------------------------------------------------

order_info.jsp

            <div style="margin: 0 auto; margin-top: 10px; width: 950px;">
                <strong>订单详情</strong>
                <table class="table table-bordered">
                    <tbody>
                        <tr class="warning">
                            <th colspan="5">订单编号:${bean.oid }</th>
                        </tr>
                        <tr class="warning">
                            <th>图片</th>
                            <th>商品</th>
                            <th>价格</th>
                            <th>数量</th>
                            <th>小计</th>
                        </tr>
                        <c:forEach items="${bean.items }" var="oi">
                            <tr class="active">
                                <td width="60" width="40%"><input type="hidden" name="id"
                                    value="22"> <img
                                    src="${pageContext.request.contextPath}/${oi.product.pimage}"
                                    width="70" height="60"></td>
                                <td width="30%"><a target="_blank"> ${oi.product.pname }...</a>
                                </td>
                                <td width="20%">¥${oi.product.shop_price }</td>
                                <td width="10%">${oi.count }</td>
                                <td width="15%"><span class="subtotal">¥${oi.subtotal }</span>
                                </td>
                            </tr>
                        </c:forEach>

                    </tbody>
                </table>
            </div>

            <div style="text-align: right; margin-right: 120px;">
                商品金额: <strong style="color: #ff6600;">¥${bean.total }元</strong>
            </div>

        </div>

------------------------------------------------------------------------------------------------------------


阅读更多

扫码向博主提问

My_____Dream

我有一个梦想
  • 擅长领域:
  • 大学人生导向
  • IT自学方法
  • 人生心态
去开通我的Chat快问
个人分类: 实战练习
上一篇查询订单
下一篇在线支付
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭