Permalink
Show file tree
Hide file tree
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Showing
37 changed files
with
817 additions
and
22 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,81 @@ | ||
/* | ||
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license | ||
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template | ||
*/ | ||
package com.ecommerce.dao; | ||
|
||
import com.ecommerce.loginpack.model.*; | ||
import java.sql.Connection; | ||
import java.sql.PreparedStatement; | ||
import java.sql.ResultSet; | ||
import java.util.*; | ||
|
||
/** | ||
* | ||
* @author oladimeji | ||
*/ | ||
public class OrderDao { | ||
private Connection con; | ||
private String query; | ||
private PreparedStatement pst; | ||
private ResultSet rs; | ||
|
||
public OrderDao(Connection con){ | ||
this.con = con; | ||
} | ||
|
||
public boolean insertOrder(Order model){ | ||
boolean result = false; | ||
|
||
try{ | ||
query = "insert into orders (p_id, u_id, o_quantity, o_date) values(?,?,?,?)"; | ||
|
||
pst = this.con.prepareStatement(query); | ||
pst.setInt(1, model.getProductid()); | ||
pst.setInt(2, model.getUid()); | ||
pst.setInt(3, model.getQuantity()); | ||
pst.setString(4, model.getDate()); | ||
pst.executeUpdate(); | ||
result = true; | ||
|
||
} | ||
catch(Exception e){ | ||
e.printStackTrace(); | ||
} | ||
|
||
return result; | ||
|
||
} | ||
public List<Order> userOrders(int id){ | ||
List<Order> list = new ArrayList<>(); | ||
try{ | ||
|
||
query = "select * from orders where u_id=? order by orders.orderid desc"; | ||
pst = this.con.prepareStatement(query); | ||
pst.setInt(1, id); | ||
rs = pst.executeQuery(); | ||
|
||
while(rs.next()){ | ||
Order order = new Order(); | ||
ProductDao productDao = new ProductDao(this.con); | ||
int pId = rs.getInt("p_id"); | ||
|
||
Product product = productDao.getSingleProduct(pId); | ||
order.setOrderId(rs.getInt("orderid")); | ||
order.setProductid(pId); | ||
order.setName(product.getName()); | ||
order.setCategory(product.getCategory()); | ||
order.setPrice(product.getPrice()*rs.getInt("o_quantity")); | ||
order.setQuantity(rs.getInt("o_quantity")); | ||
order.setDate(rs.getString("o_date")); | ||
list.add(order); | ||
|
||
} | ||
}catch(Exception e){ | ||
e.printStackTrace(); | ||
} | ||
|
||
return list; | ||
} | ||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,84 @@ | ||
/* | ||
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license | ||
* Click nbfs://nbhost/SystemFileSystem/Templates/JSP_Servlet/Servlet.java to edit this template | ||
*/ | ||
package com.ecommerce.login; | ||
|
||
import com.ecommerce.connection.DbConnection; | ||
import com.ecommerce.dao.OrderDao; | ||
import com.ecommerce.loginpack.model.*; | ||
import com.ecommerce.loginpack.model.UserModelClass; | ||
import java.io.IOException; | ||
import java.io.PrintWriter; | ||
import java.text.SimpleDateFormat; | ||
import java.util.*; | ||
import javax.servlet.ServletException; | ||
import javax.servlet.annotation.WebServlet; | ||
import javax.servlet.http.HttpServlet; | ||
import javax.servlet.http.HttpServletRequest; | ||
import javax.servlet.http.HttpServletResponse; | ||
|
||
/** | ||
* | ||
* @author oladimeji | ||
*/ | ||
@WebServlet(name = "CheckOutServlet", urlPatterns = {"/check-out"}) | ||
public class CheckOutServlet extends HttpServlet { | ||
|
||
@Override | ||
protected void doGet(HttpServletRequest request, HttpServletResponse response) | ||
throws ServletException, IOException { | ||
response.setContentType("text/html;charset=UTF-8"); | ||
try ( PrintWriter out = response.getWriter()) { | ||
|
||
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); | ||
|
||
Date date = new Date(); | ||
|
||
//retriving all cart products | ||
ArrayList<Cart> cart_list = (ArrayList<Cart>) request.getSession().getAttribute("cart-list"); | ||
|
||
//checking if user has logged in/User authentication | ||
UserModelClass auth = (UserModelClass) request.getSession().getAttribute("auth"); | ||
|
||
//Checking if the user has logged in and if the cart is empty | ||
if(cart_list !=null && auth != null){ | ||
|
||
for(Cart c:cart_list){ | ||
//we prepare the order object | ||
Order order= new Order(); | ||
order.setProductid(c.getProductid()); | ||
order.setUid(auth.getId()); | ||
order.setQuantity(c.getQuantity()); | ||
order.setDate(formatter.format(date)); | ||
|
||
//instantiate the orderDao class | ||
OrderDao oDao = new OrderDao(DbConnection.getConnection()); | ||
//calling the insert method | ||
|
||
boolean result = oDao.insertOrder(order); | ||
if(!result) break; | ||
|
||
|
||
} | ||
cart_list.clear(); | ||
response.sendRedirect("orders.jsp"); | ||
|
||
}else{ | ||
if(auth ==null) response.sendRedirect("login.jsp"); | ||
response.sendRedirect("cart.jsp"); | ||
} | ||
|
||
|
||
} catch (Exception e) { | ||
e.printStackTrace(); | ||
} | ||
} | ||
|
||
@Override | ||
protected void doPost(HttpServletRequest request, HttpServletResponse response) | ||
throws ServletException, IOException { | ||
doGet(request, response); | ||
} | ||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,90 @@ | ||
/* | ||
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license | ||
* Click nbfs://nbhost/SystemFileSystem/Templates/JSP_Servlet/Servlet.java to edit this template | ||
*/ | ||
package com.ecommerce.login; | ||
|
||
import com.ecommerce.connection.DbConnection; | ||
import com.ecommerce.dao.OrderDao; | ||
import com.ecommerce.loginpack.model.Cart; | ||
import com.ecommerce.loginpack.model.Order; | ||
import com.ecommerce.loginpack.model.UserModelClass; | ||
import java.io.IOException; | ||
import java.io.PrintWriter; | ||
import java.sql.SQLException; | ||
import java.text.SimpleDateFormat; | ||
import java.util.ArrayList; | ||
import java.util.Date; | ||
import java.util.logging.Level; | ||
import java.util.logging.Logger; | ||
import javax.servlet.ServletException; | ||
import javax.servlet.annotation.WebServlet; | ||
import javax.servlet.http.HttpServlet; | ||
import javax.servlet.http.HttpServletRequest; | ||
import javax.servlet.http.HttpServletResponse; | ||
|
||
/** | ||
* | ||
* @author oladimeji | ||
*/ | ||
@WebServlet(name = "OrderNowServlet", urlPatterns = {"/order-now"}) | ||
public class OrderNowServlet extends HttpServlet { | ||
|
||
@Override | ||
protected void doGet(HttpServletRequest request, HttpServletResponse response) | ||
throws ServletException, IOException { | ||
response.setContentType("text/html;charset=UTF-8"); | ||
try ( PrintWriter out = response.getWriter()) { | ||
|
||
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); | ||
|
||
Date date = new Date(); | ||
|
||
UserModelClass auth = (UserModelClass) request.getSession().getAttribute("auth"); | ||
if (auth != null) { | ||
|
||
String productId = request.getParameter("id"); | ||
int productQuantity = Integer.parseInt(request.getParameter("quantity")); | ||
if (productQuantity <= 0) { | ||
productQuantity = 1; | ||
} | ||
|
||
Order orderModel = new Order(); | ||
orderModel.setProductid(Integer.parseInt(productId)); | ||
orderModel.setUid(auth.getId()); | ||
orderModel.setQuantity(productQuantity); | ||
orderModel.setDate(formatter.format(date)); | ||
|
||
OrderDao orderDao = new OrderDao(DbConnection.getConnection()); | ||
boolean result = orderDao.insertOrder(orderModel); | ||
|
||
if (result) { | ||
ArrayList<Cart> cart_list = (ArrayList<Cart>) request.getSession().getAttribute("cart-list"); | ||
if(cart_list != null){ | ||
for(Cart c:cart_list){ | ||
if(c.getProductid()== Integer.parseInt(productId)){ | ||
cart_list.remove(cart_list.indexOf(c)); | ||
break; | ||
} | ||
} | ||
} | ||
response.sendRedirect("orders.jsp"); | ||
} else { | ||
out.print("order failed"); | ||
} | ||
|
||
} else { | ||
response.sendRedirect("login.jsp"); | ||
} | ||
} catch (Exception e) { | ||
e.printStackTrace(); | ||
} | ||
} | ||
|
||
@Override | ||
protected void doPost(HttpServletRequest request, HttpServletResponse response) | ||
throws ServletException, IOException { | ||
doGet(request, response); | ||
} | ||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
/* | ||
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license | ||
* Click nbfs://nbhost/SystemFileSystem/Templates/JSP_Servlet/Servlet.java to edit this template | ||
*/ | ||
package com.ecommerce.login; | ||
|
||
import com.ecommerce.loginpack.model.Cart; | ||
import java.io.IOException; | ||
import java.io.PrintWriter; | ||
import java.util.ArrayList; | ||
import javax.servlet.ServletException; | ||
import javax.servlet.annotation.WebServlet; | ||
import javax.servlet.http.HttpServlet; | ||
import javax.servlet.http.HttpServletRequest; | ||
import javax.servlet.http.HttpServletResponse; | ||
|
||
/** | ||
* | ||
* @author oladimeji | ||
*/ | ||
@WebServlet(name = "RemoveItemServlet", urlPatterns = {"/remove-item"}) | ||
public class RemoveItemServlet extends HttpServlet { | ||
|
||
@Override | ||
protected void doGet(HttpServletRequest request, HttpServletResponse response) | ||
throws ServletException, IOException { | ||
response.setContentType("text/html;charset=UTF-8"); | ||
try(PrintWriter out = response.getWriter()){ | ||
String id = request.getParameter("id"); | ||
if(id!=null){ | ||
ArrayList<Cart> cart_list = (ArrayList<Cart>) request.getSession().getAttribute("cart-list"); | ||
if(cart_list != null){ | ||
for(Cart c:cart_list){ | ||
if(c.getProductid()== Integer.parseInt(id)){ | ||
cart_list.remove(cart_list.indexOf(c)); | ||
break; | ||
} | ||
|
||
} | ||
response.sendRedirect("cart.jsp"); | ||
} | ||
}else{ | ||
response.sendRedirect("cart.jsp"); | ||
|
||
} | ||
} | ||
} | ||
|
||
|
||
|
||
} |
Oops, something went wrong.