一、项目介绍
基于SSM框架的校园点餐管理系统,系统分为用户和管理员两个角色,主要功能如下
用户:菜品浏览、菜品购买、我的订单、校园资讯、菜品评价、
管理员:用户管理、商品管理、评价管理、订单管理、资讯管理
二、项目技术
编程语言:Java
项目架构:B/S架构
前端技术:JSP、JavaScript、Jquery、echarts
后端技术:Spring、SpringMVC、MyBatis
三、运行环境
JDK版本:1.8及以上都可以
操作系统:Windows7/10、MacOS
开发工具:IDEA、Ecplise都可以
数据库: MySQL5.5/5.7/8.0版本都可以
Tomcat:7.0及以上版本都可以
Maven:任意版本都可以
四、运行截图
五、主要功能代码实现
1. 菜单管理
用户可以添加新菜品和查看当前的菜单。
代码:
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class MenuManager {
private Map<String, Double> menu = new HashMap<>();
public void addDish(String name, double price) {
menu.put(name, price);
System.out.println("Dish added.");
}
public void viewMenu() {
System.out.println("Current Menu:");
for (Map.Entry<String, Double> entry : menu.entrySet()) {
System.out.println("Dish: " + entry.getKey() + ", Price: $" + entry.getValue());
}
}
public static void main(String[] args) {
MenuManager manager = new MenuManager();
Scanner scanner = new Scanner(System.in);
System.out.println("Add New Dish:");
System.out.print("Dish Name: ");
String name = scanner.nextLine();
System.out.print("Price: ");
double price = scanner.nextDouble();
manager.addDish(name, price);
System.out.println("View Menu:");
manager.viewMenu();
}
}
2. 订单下单
用户可以下订单,选择菜品并指定数量。
代码:
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class OrderManager {
private Map<String, Integer> orders = new HashMap<>();
public void placeOrder(String dishName, int quantity) {
orders.put(dishName, quantity);
System.out.println("Order placed.");
}
public void viewOrders() {
System.out.println("Current Orders:");
for (Map.Entry<String, Integer> entry : orders.entrySet()) {
System.out.println("Dish: " + entry.getKey() + ", Quantity: " + entry.getValue());
}
}
public static void main(String[] args) {
OrderManager manager = new OrderManager();
Scanner scanner = new Scanner(System.in);
System.out.println("Place Order:");
System.out.print("Dish Name: ");
String dish = scanner.nextLine();
System.out.print("Quantity: ");
int quantity = scanner.nextInt();
manager.placeOrder(dish, quantity);
System.out.println("View Orders:");
manager.viewOrders();
}
}
3. 订单取消
用户可以取消已下的订单。
代码:
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class OrderCancellation {
private Map<String, Integer> orders = new HashMap<>();
public void placeOrder(String dishName, int quantity) {
orders.put(dishName, quantity);
}
public void cancelOrder(String dishName) {
if (orders.remove(dishName) != null) {
System.out.println("Order cancelled.");
} else {
System.out.println("Order not found.");
}
}
public void viewOrders() {
System.out.println("Current Orders:");
for (Map.Entry<String, Integer> entry : orders.entrySet()) {
System.out.println("Dish: " + entry.getKey() + ", Quantity: " + entry.getValue());
}
}
public static void main(String[] args) {
OrderCancellation manager = new OrderCancellation();
Scanner scanner = new Scanner(System.in);
manager.placeOrder("Pizza", 2); // For demo purposes
System.out.println("Cancel Order:");
System.out.print("Dish Name: ");
String dishName = scanner.nextLine();
manager.cancelOrder(dishName);
System.out.println("View Orders:");
manager.viewOrders();
}
}
4. 订单结算
用户可以查看订单总金额并完成结算。
代码:
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class OrderSettlement {
private Map<String, Double> menu = new HashMap<>();
private Map<String, Integer> orders = new HashMap<>();
public OrderSettlement() {
// Sample menu
menu.put("Pizza", 8.5);
menu.put("Burger", 5.0);
menu.put("Salad", 4.0);
}
public void placeOrder(String dishName, int quantity) {
orders.put(dishName, quantity);
}
public void settleOrder() {
double totalAmount = 0;
for (Map.Entry<String, Integer> entry : orders.entrySet()) {
String dish = entry.getKey();
int quantity = entry.getValue();
double price = menu.getOrDefault(dish, 0.0);
totalAmount += price * quantity;
}
System.out.println("Total Amount: $" + totalAmount);
orders.clear();
System.out.println("Order settled.");
}
public static void main(String[] args) {
OrderSettlement manager = new OrderSettlement();
Scanner scanner = new Scanner(System.in);
manager.placeOrder("Pizza", 2); // For demo purposes
manager.placeOrder("Burger", 1); // For demo purposes
System.out.println("Settle Order:");
manager.settleOrder();
}
}