diff --git a/src/main/java/example/controller/OrdersServlet.java b/src/main/java/example/controller/OrdersServlet.java index 4dc4624..51ed208 100644 --- a/src/main/java/example/controller/OrdersServlet.java +++ b/src/main/java/example/controller/OrdersServlet.java @@ -1,6 +1,10 @@ package example.controller; +import example.model.Computer; +import example.model.User; +import example.service.ICartService; import example.service.IOrdersService; +import example.service.impl.CartServiceImpl; import example.service.impl.OrdersServiceImpl; import javax.servlet.ServletException; @@ -9,12 +13,15 @@ import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; +import java.util.List; @WebServlet("/orders") public class OrdersServlet extends HttpServlet { IOrdersService ordersService=new OrdersServiceImpl(); + ICartService cartService=new CartServiceImpl(); + @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String action = req.getParameter("action"); @@ -35,4 +42,24 @@ public class OrdersServlet extends HttpServlet { } } + + @Override + protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { + req.setCharacterEncoding("utf-8"); + double price = Double.parseDouble(req.getParameter("price")); + String address = req.getParameter("address"); + String remark = req.getParameter("remark"); + User user = (User) req.getSession().getAttribute("user"); + int flag=ordersService.addOrder(user.getId(),price, address, remark); +// 移出购物车所有信息 + try { + List computers = cartService.myCart(user.getId()); + for (Computer computer : computers) { + cartService.removeFromCart(user.getId(), computer.getId()); + } + } catch (Exception e) { + throw new RuntimeException(e); + } + resp.sendRedirect("/"); + } } diff --git a/src/main/java/example/dao/OrdersDao.java b/src/main/java/example/dao/OrdersDao.java index be09bb2..ae7f0dd 100644 --- a/src/main/java/example/dao/OrdersDao.java +++ b/src/main/java/example/dao/OrdersDao.java @@ -5,6 +5,7 @@ import example.utils.DBUtils; import org.apache.commons.dbutils.QueryRunner; import org.apache.commons.dbutils.handlers.BeanListHandler; +import java.time.LocalDateTime; import java.util.List; public class OrdersDao { @@ -26,4 +27,14 @@ public class OrdersDao { OrdersDao ordersDao = new OrdersDao(); System.out.println(ordersDao.getAllOrders()); } + + 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(?,?,?,?,?)"; + try { + return queryRunner.update(sql,userId, LocalDateTime.now(),price,address,remark); + } catch (Exception e) { + e.printStackTrace(); + } + return 0; + } } diff --git a/src/main/java/example/service/ICartService.java b/src/main/java/example/service/ICartService.java index 29edfba..a65da1e 100644 --- a/src/main/java/example/service/ICartService.java +++ b/src/main/java/example/service/ICartService.java @@ -9,5 +9,5 @@ public interface ICartService { void addCart(int i, int id) throws Exception; - void removeFromCart(int i, int id) throws Exception; + void removeFromCart(int userId, int productId) throws Exception; } diff --git a/src/main/java/example/service/IOrdersService.java b/src/main/java/example/service/IOrdersService.java index 8018aaa..8c91ab3 100644 --- a/src/main/java/example/service/IOrdersService.java +++ b/src/main/java/example/service/IOrdersService.java @@ -11,4 +11,6 @@ public interface IOrdersService { void allOrder(HttpServletRequest req, HttpServletResponse resp); void checkOrder(HttpServletRequest req, HttpServletResponse resp) throws Exception; + + int addOrder(int userId,double price, String address, String remark); } diff --git a/src/main/java/example/service/impl/CartServiceImpl.java b/src/main/java/example/service/impl/CartServiceImpl.java index 08d1bcd..5ba32b2 100644 --- a/src/main/java/example/service/impl/CartServiceImpl.java +++ b/src/main/java/example/service/impl/CartServiceImpl.java @@ -21,7 +21,7 @@ public class CartServiceImpl implements ICartService { } @Override - public void removeFromCart(int i, int id) throws Exception { - cartDao.deleteCart(id, i); + public void removeFromCart(int userId, int productId) throws Exception { + cartDao.deleteCart(userId, productId); } } diff --git a/src/main/java/example/service/impl/OrdersServiceImpl.java b/src/main/java/example/service/impl/OrdersServiceImpl.java index e805631..ce95f14 100644 --- a/src/main/java/example/service/impl/OrdersServiceImpl.java +++ b/src/main/java/example/service/impl/OrdersServiceImpl.java @@ -46,4 +46,9 @@ public class OrdersServiceImpl implements IOrdersService { req.getRequestDispatcher("checkOrder.jsp").forward(req,resp); } + @Override + public int addOrder(int userId,double price, String address, String remark) { + return ordersDao.addOrder(userId,price,address,remark); + } + } diff --git a/src/main/webapp/checkOrder.jsp b/src/main/webapp/checkOrder.jsp index e17b25f..4ed32c8 100644 --- a/src/main/webapp/checkOrder.jsp +++ b/src/main/webapp/checkOrder.jsp @@ -10,12 +10,12 @@

订单确认

-
-

-
-

-
-

+
+

+
+

+
+