import java.util.*;
public class OnlineShoppingSystem {
private static List<Product> products = new ArrayList<>();
private static ShoppingCart cart = new ShoppingCart();
private static User currentUser;
public static void main(String[] args) {
// Initialize some products
products.add(new Product("Laptop", "High-performance laptop", 999.99));
products.add(new Product("Smartphone", "Latest smartphone model", 499.99));
products.add(new Product("Headphones", "Noise-cancelling headphones", 199.99));
// Simulate user actions
currentUser = new User("John Doe", "
[email protected]", "123 Main St");
addToCart(products.get(0));
addToCart(products.get(1));
viewCart();
checkout();
}
private static void addToCart(Product product) {
cart.addItem(product);
System.out.println(product.getName() + " added to cart.");
}
private static void viewCart() {
System.out.println("\nShopping Cart:");
for (Product item : cart.getItems()) {
System.out.println(item.getName() + " - $" + item.getPrice());
}
System.out.println("Total: $" + cart.calculateTotal());
}
private static void checkout() {
System.out.println("\nChecking out...");
// Simulate payment processing
Payment paymentProcessor = new Payment();
boolean paymentSuccessful = paymentProcessor.processPayment(new Order(cart.getItems(), currentUser, LocalDateTime.now(), "Pending"), new PaymentDetails("John Doe", "1234 5678 9012", "123", "12/24"));
if (paymentSuccessful) {
System.out.println("Payment successful. Order placed!");
cart.clearCart(); // Clear cart after successful checkout
} else {
System.out.println("Payment failed. Please try again.");
}
}
}