管理员——订单管理

编程入门 行业动态 更新时间:2024-10-27 09:37:45

管理员——<a href=https://www.elefans.com/category/jswz/34/1766972.html style=订单管理"/>

管理员——订单管理

1 订单查询

  1. 准备工作
    修改订单管理链接
    未付款订单,state=1
    已付款订单,state=2
    已发货的订单,state=3
    已完成的订单,state=4
d.add('0105','01','订单管理');d.add('010501','0105','订单管理','${pageContext.request.contextPath}/adminOrderServlet?method=findAllOrders','','mainFrame');d.add('010502','0105','未付款的订单','${pageContext.request.contextPath}/adminOrderServlet?method=findAllOrders&state=1','','mainFrame');d.add('010503','0105','已付款订单','${pageContext.request.contextPath}/adminOrderServlet?method=findAllOrders&state=2','','mainFrame');d.add('010504','0105','已发货的订单','${pageContext.request.contextPath}/adminOrderServlet?method=findAllOrders&state=3','','mainFrame');d.add('010505','0105','已完成的订单','${pageContext.request.contextPath}/adminOrderServlet?method=findAllOrders&state=4','','mainFrame');
  1. 添加findAllOrders方法
public String findAllOrders(HttpServletRequest req, HttpServletResponse resp) throws Exception {OrderService OrderService = new OrderServiceImp();String st = req.getParameter("state");List<Order> list = null;if (null == st || "".equals(st)) {//获取到全部订单list = OrderService.findAllOrders();} else {list = OrderService.findAllOrders(st);}//将全部订单放入requestreq.setAttribute("allOrders", list);//转发 /admin/order/list.jspreturn "/admin/order/list.jsp";}
  1. 业务层
public List<Order> findAllOrders() throws Exception {return orderDao.findAllOrders();
}  

public List<Order> findAllOrders(String st) throws Exception {return orderDao.findAllOrders(st);
}
  1. dao层
public List<Order> findAllOrders() {String sql = "select * from orders";return template.query(sql, new BeanPropertyRowMapper<>(Order.class));
}
public List<Order> findAllOrders(String st) {String sql = "select * from orders where state= ?";return template.query(sql, new BeanPropertyRowMapper<>(Order.class), st);
}
  1. 编写
<trstyle="FONT-WEIGHT: bold; FONT-SIZE: 12pt; HEIGHT: 25px; BACKGROUND-COLOR: #afd1f3"><td align="center" width="5%">序号</td><td align="center" width="25%">订单编号</td><td align="center" width="5%">订单金额</td><td align="center" width="5%">收货人</td><td align="center" width="5%">订单状态</td><td align="center" width="55%">订单详情</td>
</tr>
<c:if test="${empty allOrders }"><tr><td colspan="6">暂无数据</td></tr>
</c:if>
<c:if test="${not empty allOrders }"><c:forEach items="${allOrders}" var="o" varStatus="status"><tr onmouseover="this.style.backgroundColor = 'white'"onmouseout="this.style.backgroundColor = '#F5FAFE';"><td style="CURSOR: hand; HEIGHT: 22px" align="center"width="5%">${status.count}</td><td style="CURSOR: hand; HEIGHT: 22px" align="center"width="25%">${o.oid}</td><td style="CURSOR: hand; HEIGHT: 22px" align="center"width="5%">${o.total}</td><td style="CURSOR: hand; HEIGHT: 22px" align="center"width="5%">${o.name}</td><td style="CURSOR: hand; HEIGHT: 22px" align="center"width="5%"><!-- 1=未付款、2=发货、3=已发货、4=订单完成 --><c:if test="${o.state==1}">未付款</c:if><c:if test="${o.state==2}"><a href="${pageContext.request.contextPath}/adminOrderServlet?method=updateOrderByOid&oid=${o.oid}">发货</a></c:if><c:if test="${o.state==3}">已发货,未签收</c:if><c:if test="${o.state==4}">结束</c:if></td><td align="center" style="HEIGHT: 22px"><input type="button" value="订单详情" class="btn" id="${o.oid}"/><table width="100%" border="1" class="myTb"><!-- <tr><th>商品</th><th>名称</th><th>数量</th><th>小计</th></tr><tr><td><img src="${pageContext.request.contextPath}/products/1/c_0001.jpg" width="50px"/></td><td>名称</td><td>数量</td><td>小计</td></tr><tr><td><img src="${pageContext.request.contextPath}/products/1/c_0001.jpg" width="50px"/></td><td>名称</td><td>数量</td><td>小计</td></tr>--></table></td></tr></c:forEach>
</c:if>

2 发货

  1. 给发货绑定
<c:if test="${o.state==2}"><a href="${pageContext.request.contextPath}/adminOrderServlet?method=updateOrderByOid&oid=${o.oid}">发货</a>
</c:if>
  1. 编写updateOrderByOid方法
public String updateOrderByOid(HttpServletRequest req, HttpServletResponse resp) throws Exception {//获取订单IDString oid = req.getParameter("oid");//根据订单ID查询订单OrderService OrderService = new OrderServiceImp();Order order = OrderService.findOrderByOid(oid);//设置订单状态order.setState(3);//修改订单信息OrderService.updateOrder(order);//重新定向到查询已发货订单resp.sendRedirect(req.getContextPath() + "/adminOrderServlet?method=findAllOrders&state=3");return null;
}
  1. 业务层
public void updateOrder(Order order) throws Exception {orderDao.updateOrder(order);
}
  1. dao层,更新数据库
public void updateOrder(Order order) {String sql = "UPDATE orders SET ordertime=? ,total=? ,state= ?, address=?,NAME=?, telephone =? WHERE oid=?";Object[] params = {order.getOrdertime(), order.getTotal(), order.getState(), order.getAddress(), order.getName(), order.getTelephone(), order.getOid()};template.update(sql, params);
}

3 查看订单详情

  1. 给订单详情绑定单击事件
<script>$(function () {//页面加载完毕之后获取样式为.btn标签,为其绑定点击事件$(".btn").click(function () {//获取按钮文字var val = $(this).val();  //this.value//获取按钮上id的值var id = this.id;//alert(id);//获取按钮,约定:如果我们用的是JQUERYAPI获取到的对象,加前缀$.var $btn = $(this);if ("订单详情" == val) {//发送Ajax请求$.post("${pageContext.request.contextPath}/adminOrderServlet", {"method": "findOrderByOidWithAjax","oid": id}, function (dt) {//alert(dt);//var $tb=$(this).next();//alert(this);  //此处无用,JS打印对象:都是Object//console.log(this); //火狐控制台下打印当前对象//获取到当前按钮的下一个兄弟节点var $tb = $btn.next("table");//清空table元素$tb.html("");//alert($tb.attr("class")); //测试是否正确获取到table标签对象$tb.append("<tr><th>商品</th><th>名称</th><th>数量</th><th>小计</th></tr>");//JQUERY的方式遍历数组元素$.each(dt, function (i, o) {var tr = "<tr><td><img src='${pageContext.request.contextPath}/" + o.product.pimage + "' width='50px'/></td><td>" + o.product.pname + "</td><td>" + o.quantity + "</td><td>" + o.total + "</td></tr>";$tb.append(tr);});//更改按钮文字$btn.val("关闭");});}if ("关闭" == val) {var $tb = $btn.next("table");$tb.html("");$btn.val("订单详情");}});});
</script>
  1. 编写findOrderByOidWithAjax方法
public String findOrderByOidWithAjax(HttpServletRequest req, HttpServletResponse resp) throws Exception {//服务端获取到订单ID,String oid = req.getParameter("oid");//查询这个订单下所有的订单项以及订单项对应的商品信息,返回集合OrderService OrderService = new OrderServiceImp();Order order = OrderService.findOrderByOid(oid);//将返回的集合转换为JSON格式字符串,响应到客户端String jsonStr = JSONArray.fromObject(order.getList()).toString();//响应到客户端resp.setContentType("application/json;charset=utf-8");resp.getWriter().println(jsonStr);return null;
}

更多推荐

管理员——订单管理

本文发布于:2024-02-16 19:47:27,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1691266.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:订单管理   管理员

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!