Tmall_back_orderItem

一、查询功能详解

首先要创建测试订单以及测试用户等,然后可以进行下一步操作。

老方法,通过admin_order_list,可以调用OrderServlet中的list方法

package tmall.servlet;
 
import java.util.Date;
import java.util.List;
 
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
import tmall.bean.Order;
import tmall.dao.OrderDAO;
import tmall.util.Page;
 
public class OrderServlet extends BaseBackServlet {
 
    public String add(HttpServletRequest request, HttpServletResponse response, Page page) {
        return null;
    }
 
    public String delete(HttpServletRequest request, HttpServletResponse response, Page page) {
        return null;
    }
    public String delivery(HttpServletRequest request, HttpServletResponse response, Page page) {
        int id = Integer.parseInt(request.getParameter("id"));
        Order o = orderDAO.get(id);
        o.setDeliveryDate(new Date());
        o.setStatus(OrderDAO.waitConfirm);
        orderDAO.update(o);
        return "@admin_order_list";
    }
 
    public String edit(HttpServletRequest request, HttpServletResponse response, Page page) {
        return null;   
    }
 
    public String update(HttpServletRequest request, HttpServletResponse response, Page page) {
        return null;
    }
 
    public String list(HttpServletRequest request, HttpServletResponse response, Page page) {
        List<Order> os = orderDAO.list(page.getStart(),page.getCount());
        orderItemDAO.fill(os);
        int total = orderDAO.getTotal();
        page.setTotal(total);
         
        request.setAttribute("os", os);
        request.setAttribute("page", page);
         
        return "admin/listOrder.jsp";
    }
}

先通过list,查询所有的order类,并且放到集合os中,(这是所有的集合,后面根据业务需求的不同,有着不同的查询方法,比如某个用户的所有order等)

再根据os,根据其中内容,一条订单一条订单的,将他们填充到orderItem中,返回beans,其中将总价加出来,然后上传到listorder.jsp页面当中。(这里只是查询,并没有添加到数据库中,添加到数据库中应该是前台做的事情)

 

订单状态显示:

通过EL表达式${o.statusDesc},可以自动调用Order类中getStatusDesc()方法,return了状态

public String getStatusDesc(){
		String desc ="未知";
		switch(status){
			case OrderDAO.waitPay:
				desc="待付款";
				break;
			case OrderDAO.waitDelivery:
				desc="待发货";
				break;
			case OrderDAO.waitConfirm:
				desc="待收货";
				break;
			case OrderDAO.waitReview:
				desc="等评价";
				break;
			case OrderDAO.finish:
				desc="完成";
				break;
			case OrderDAO.delete:
				desc="刪除";
				break;
			default:
				desc="未知";
		}
		return desc;
	}

 

发货功能:

当订单状态是waitDelivery的时候,就会出现发货按钮

<c:if test="${o.status=='waitDelivery'}">
    <a href="admin_order_delivery?id=${o.id}">
    <button class="btn btn-primary btn-xs">发货</button>
    </a>                         
</c:if>

老方法调用delivery方法,通过id把Order的发货时间改了并且update了Order类,然后再次跳转刷新页面。

  public String delivery(HttpServletRequest request, HttpServletResponse response, Page page) {
        int id = Integer.parseInt(request.getParameter("id"));
        Order o = orderDAO.get(id);
        o.setDeliveryDate(new Date());
        o.setStatus(OrderDAO.waitConfirm);
        orderDAO.update(o);
        return "@admin_order_list";
    }

 

点击查看详情按钮:

jQuery中的toggle方法,其实内容早就写好了,只不过隐藏了,点击toggle可以显示出来,jQuery中的样式默认是display:none。

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值