一、项目介绍

基于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:任意版本都可以

四、运行截图

基于SSM的校园点餐管理系统_校园点餐管理系统

基于SSM的校园点餐管理系统_java实战项目_02

基于SSM的校园点餐管理系统_校园点餐管理系统_03

基于SSM的校园点餐管理系统_java实战项目_04

基于SSM的校园点餐管理系统_校园点餐管理系统_05

基于SSM的校园点餐管理系统_校园点餐管理系统_06

基于SSM的校园点餐管理系统_java实战项目_07

基于SSM的校园点餐管理系统_校园点餐管理系统_08

基于SSM的校园点餐管理系统_java实战项目_09

五、主要功能代码实现

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