diff --git a/src/main/java/example/controller/OrdersServlet.java b/src/main/java/example/controller/OrdersServlet.java index c7ead58..a641b4a 100644 --- a/src/main/java/example/controller/OrdersServlet.java +++ b/src/main/java/example/controller/OrdersServlet.java @@ -26,12 +26,22 @@ public class OrdersServlet extends HttpServlet { protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String action = req.getParameter("action"); switch (action) { + case "waiting": + ordersService.waiting(req, resp); + break; + case "sent": + ordersService.sent(req, resp); + break; case "all": ordersService.allOrder(req, resp); break; + case "my": ordersService.myOrder(req, resp); break; + case "deliver": + ordersService.deliver(req, resp); + break; case "add": try { ordersService.checkOrder(req, resp); diff --git a/src/main/java/example/dao/OrdersDao.java b/src/main/java/example/dao/OrdersDao.java index b01b1b1..a660532 100644 --- a/src/main/java/example/dao/OrdersDao.java +++ b/src/main/java/example/dao/OrdersDao.java @@ -13,7 +13,7 @@ public class OrdersDao { public List getAllOrders() { - String sql = "select id,user_id userId,order_date orderDate,total_price totalPrice,address ,remark from orders o "; + String sql = "select id,user_id userId,order_date orderDate,total_price totalPrice,address ,remark,status from orders o "; try { return queryRunner.query(sql, new BeanListHandler<>(Orders.class)); } catch (Exception e) { @@ -29,9 +29,9 @@ public class OrdersDao { } public int addOrder(int userId,double price, String address, String remark) { - String sql="insert into orders(user_id,order_date,total_price,address,remark) values(?,?,?,?,?)"; + String sql="insert into orders(user_id,order_date,total_price,address,remark,status) values(?,?,?,?,?,?)"; try { - return queryRunner.update(sql,userId, LocalDateTime.now(),price,address,remark); + return queryRunner.update(sql,userId, LocalDateTime.now(),price,address,remark,"待发货"); } catch (Exception e) { e.printStackTrace(); } @@ -39,7 +39,7 @@ public class OrdersDao { } public List getMyOrders(int userId) { - String sql = "select id,user_id userId,order_date orderDate,total_price totalPrice,address ,remark from orders o where user_id =?"; + String sql = "select id,user_id userId,order_date orderDate,total_price totalPrice,address ,remark,status from orders o where user_id =?"; try { return queryRunner.query(sql, new BeanListHandler<>(Orders.class),userId); } catch (Exception e) { @@ -47,4 +47,33 @@ public class OrdersDao { } return null; } + + public void deliver(String orderId) { + String sql = "update orders set status = ? where id = ?"; + try { + queryRunner.update(sql,"已发货",orderId); + } catch (Exception e) { + e.printStackTrace(); + } + } + + public List getOrdersOfWaiting() { + String sql = "select id,user_id userId,order_date orderDate,total_price totalPrice,address ,remark,status from orders o where status = '待发货'"; + try { + return queryRunner.query(sql, new BeanListHandler<>(Orders.class)); + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + public List getOrdersOfSent() { + String sql = "select id,user_id userId,order_date orderDate,total_price totalPrice,address ,remark,status from orders o where status = '已发货'"; + try { + return queryRunner.query(sql, new BeanListHandler<>(Orders.class)); + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } } diff --git a/src/main/java/example/model/Cart.java b/src/main/java/example/model/Cart.java index 404dbf7..d71d429 100644 --- a/src/main/java/example/model/Cart.java +++ b/src/main/java/example/model/Cart.java @@ -7,4 +7,27 @@ public class Cart { private Integer productId; + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public Integer getUserId() { + return userId; + } + + public void setUserId(Integer userId) { + this.userId = userId; + } + + public Integer getProductId() { + return productId; + } + + public void setProductId(Integer productId) { + this.productId = productId; + } } diff --git a/src/main/java/example/model/Orders.java b/src/main/java/example/model/Orders.java index 19e5a2b..b4fe65a 100644 --- a/src/main/java/example/model/Orders.java +++ b/src/main/java/example/model/Orders.java @@ -15,16 +15,14 @@ public class Orders { private String remark; - @Override - public String toString() { - return "Orders{" + - "id=" + id + - ", userId=" + userId + - ", orderDate=" + orderDate + - ", totalPrice=" + totalPrice + - ", address='" + address + '\'' + - ", remark='" + remark + '\'' + - '}'; + private String status; + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; } public Integer getId() { diff --git a/src/main/java/example/service/IOrdersService.java b/src/main/java/example/service/IOrdersService.java index 1082ce7..dadf38e 100644 --- a/src/main/java/example/service/IOrdersService.java +++ b/src/main/java/example/service/IOrdersService.java @@ -2,8 +2,10 @@ package example.service; import example.model.Orders; +import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.io.IOException; import java.util.List; public interface IOrdersService { @@ -15,4 +17,10 @@ public interface IOrdersService { int addOrder(int userId,double price, String address, String remark); void myOrder(HttpServletRequest req, HttpServletResponse resp); + + void deliver(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException; + + void waiting(HttpServletRequest req, HttpServletResponse resp); + + void sent(HttpServletRequest req, HttpServletResponse resp); } diff --git a/src/main/java/example/service/impl/OrdersServiceImpl.java b/src/main/java/example/service/impl/OrdersServiceImpl.java index e019bf1..f8cacc3 100644 --- a/src/main/java/example/service/impl/OrdersServiceImpl.java +++ b/src/main/java/example/service/impl/OrdersServiceImpl.java @@ -7,8 +7,10 @@ import example.model.Orders; import example.model.User; import example.service.IOrdersService; +import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.io.IOException; import java.util.List; public class OrdersServiceImpl implements IOrdersService { @@ -63,4 +65,33 @@ public class OrdersServiceImpl implements IOrdersService { } } + @Override + public void deliver(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { + String orderId = req.getParameter("id"); + ordersDao.deliver(orderId); + req.getRequestDispatcher("/orders?action=all").forward(req,resp); + } + + @Override + public void waiting(HttpServletRequest req, HttpServletResponse resp) { + List allOrders = ordersDao.getOrdersOfWaiting(); + req.setAttribute("Orders",allOrders); + try { + req.getRequestDispatcher("orders.jsp").forward(req,resp); + } catch (Exception e) { + e.printStackTrace(); + } + } + + @Override + public void sent(HttpServletRequest req, HttpServletResponse resp) { + List allOrders = ordersDao.getOrdersOfSent(); + req.setAttribute("Orders",allOrders); + try { + req.getRequestDispatcher("orders.jsp").forward(req,resp); + } catch (Exception e) { + e.printStackTrace(); + } + } + } diff --git a/src/main/webapp/orders.jsp b/src/main/webapp/orders.jsp index f5b59e6..d2a2cc7 100644 --- a/src/main/webapp/orders.jsp +++ b/src/main/webapp/orders.jsp @@ -2,14 +2,21 @@ <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> + 订单列表 +

订单列表

+ 全部 | + 待发货 | + 已发货 +
+
@@ -19,6 +26,7 @@ + @@ -31,15 +39,20 @@ +
总金额 地址 商品信息状态 操作
${order.totalPrice} ${order.address} ${order.remark}${order.status} - 删除 + + + 点击发货 +
-
+

主页 - + + \ No newline at end of file