From 95e75c02bab5035dbb72cac63cbf9555836c353e Mon Sep 17 00:00:00 2001 From: HadiSharifi Date: Mon, 29 Jun 2026 21:31:02 +0330 Subject: [PATCH] complete consoleMenu class --- src/main/java/dev/service/OrderService.java | 2 +- src/main/java/dev/ui/ConsoleMenu.java | 88 +++++++++++++++------ 2 files changed, 66 insertions(+), 24 deletions(-) diff --git a/src/main/java/dev/service/OrderService.java b/src/main/java/dev/service/OrderService.java index 446196e..c467914 100644 --- a/src/main/java/dev/service/OrderService.java +++ b/src/main/java/dev/service/OrderService.java @@ -19,7 +19,7 @@ public class OrderService { public void placeOrder(int userId) { menuService.showMenu(); - + Map cart = new LinkedHashMap<>(); // int[] = {quantity} Map itemMap = new HashMap<>(); diff --git a/src/main/java/dev/ui/ConsoleMenu.java b/src/main/java/dev/ui/ConsoleMenu.java index 663dc0c..1cef5c6 100644 --- a/src/main/java/dev/ui/ConsoleMenu.java +++ b/src/main/java/dev/ui/ConsoleMenu.java @@ -1,44 +1,86 @@ package dev.ui; +import dev.model.User; +import dev.service.AuthService; +import dev.service.MenuService; +import dev.service.OrderService; + import java.util.Scanner; public class ConsoleMenu { - private final Scanner scanner = - new Scanner(System.in); + private final Scanner scanner = new Scanner(System.in); + private final AuthService authService = new AuthService(); + private final MenuService menuService = new MenuService(); + private final OrderService orderService = new OrderService(); public void start() { - while (true) { - - System.out.println(); - System.out.println("===== JAVA PIZZERIA ====="); + System.out.println("\n==========================="); + System.out.println(" 🍕 JAVA PIZZERIA 🍕"); + System.out.println("==========================="); System.out.println("1. Login"); System.out.println("2. Register"); System.out.println("3. Exit"); + System.out.print("Choose: "); int choice = scanner.nextInt(); + scanner.nextLine(); // consume newline switch (choice) { - - case 1: - // TODO - break; - - case 2: - // TODO - break; - - case 3: - return; - - default: - System.out.println("Invalid choice"); - + case 1 -> { + User user = handleLogin(); + if (user != null) showMainMenu(user); + } + case 2 -> handleRegister(); + case 3 -> { System.out.println("Goodbye!"); return; } + default -> System.out.println("Invalid choice."); } - } - } + private void handleRegister() { + System.out.println("\n[Register]"); + System.out.print("Username: "); String username = scanner.nextLine(); + System.out.print("Password: "); String password = scanner.nextLine(); + System.out.print("Email (optional, press Enter to skip): "); String email = scanner.nextLine(); + + if (authService.register(username, password, email)) { + System.out.println("Registration successful! Please log in."); + } + } + + private User handleLogin() { + System.out.println("\n[Login]"); + System.out.print("Username: "); String username = scanner.nextLine(); + System.out.print("Password: "); String password = scanner.nextLine(); + + User user = authService.login(username, password); + if (user != null) System.out.println("Welcome, " + user.getUsername() + "!"); + return user; + } + + private void showMainMenu(User user) { + while (true) { + System.out.println("\n==========================="); + System.out.println(" 🍽️ MAIN MENU 🍽️"); + System.out.println("==========================="); + System.out.println("1. View Menu"); + System.out.println("2. Place Order"); + System.out.println("3. Order History"); + System.out.println("4. Logout"); + System.out.print("Choose: "); + + int choice = scanner.nextInt(); + scanner.nextLine(); + + switch (choice) { + case 1 -> menuService.showMenu(); + case 2 -> orderService.placeOrder(user.getId()); + case 3 -> orderService.showOrderHistory(user.getId()); + case 4 -> { System.out.println("Logged out."); return; } + default -> System.out.println("Invalid choice."); + } + } + } } \ No newline at end of file