Skip to content
Permalink
Browse files
last second commit
  • Loading branch information
attikoo committed Aug 25, 2022
1 parent b2c44dc commit a200e4a00e73ae8df4679315b924a31cc18d98f3
Show file tree
Hide file tree
Showing 37 changed files with 817 additions and 22 deletions.
@@ -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;
}

}
@@ -51,6 +51,32 @@ public class ProductDao {

}


public Product getSingleProduct(int id) {
Product row = null;
try {
query = "select * from products where productid=? ";

pst = this.con.prepareStatement(query);
pst.setInt(1, id);
rs = pst.executeQuery();

while (rs.next()) {
row = new Product();
row.setProductid(rs.getInt("productid"));
row.setName(rs.getString("name"));
row.setCategory(rs.getString("category"));
row.setPrice(rs.getDouble("price"));
row.setImage(rs.getString("image"));
}
} catch (Exception e) {
e.printStackTrace();
System.out.println(e.getMessage());
}

return row;
}

public List<Cart> getCartProducts(ArrayList<Cart> cartList){
List<Cart> products = new ArrayList<Cart>();

@@ -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);
}

}
@@ -48,7 +48,7 @@ public class LoginServlet extends HttpServlet {
UserModelClass user = udao.userLogin(username, password);

if(user !=null){
request.getSession().setAttribute("'auth", user);
request.getSession().setAttribute("auth", user);
response.sendRedirect("index.jsp");
}else{
out.print("user login failed");
@@ -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);
}

}
@@ -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");

}
}
}



}

0 comments on commit a200e4a

Please sign in to comment.