# 5-在线订餐系统 - 功能说明

本文作者:程序员瑞哥 (opens new window)

获取网址:https://javadh.com (opens new window)

# 项目演示

# 项目概述

在线订餐系统是一个集菜品展示、在线点餐、商家管理、订单配送于一体的综合性外卖服务平台。采用前后端分离架构,基于Vue 3和Spring Boot技术栈,为用户提供便捷的在线点餐体验,为商家提供完善的菜品和订单管理工具,为平台管理员提供全面的系统管理功能。


# ✨ 创新点

# 1. 多商家入驻模式

  • 商家入驻:支持多个餐饮商家入驻平台,形成美食生态。
  • 独立管理:每个商家独立管理自己的菜品和订单。
  • 商家收藏:用户可以收藏喜欢的商家,快速访问。

# 2. 完整外卖体验

  • 购物车系统:支持批量点餐,统一下单结算。
  • 收货地址管理:支持多个配送地址,便捷切换。
  • 订单追踪:实时查看订单状态,配送进度一目了然。

# 3. 个性化推荐

  • 浏览历史:自动记录用户浏览的菜品,方便回看。
  • 菜品收藏:收藏喜欢的菜品,快速下单。
  • 智能推荐:基于浏览历史推荐相关菜品。

# 4. 运营工具完善

  • 轮播图管理:首页轮播图展示热门商家或活动。
  • 广告位管理:多位置广告投放,提升运营效率。
  • 数据统计:菜品销量、订单数据统计分析。

# 5. 技术架构先进

  • 前后端分离:清晰的职责划分,提升开发效率。
  • JWT认证:基于Token的无状态认证,安全高效。
  • 组件化开发:前端高复用组件库,后端模块化设计。

# ✨ 项目亮点

# 一、 业务功能亮点

  1. 多商家外卖平台:支持多商家入驻,丰富的美食选择。
  2. 完整购物流程:购物车、地址管理、在线支付、订单追踪全流程。
  3. 用户互动功能:菜品评价、商家收藏、浏览历史记录。
  4. 运营推广工具:轮播图、广告位、数据统计分析。

# 二、 技术实现亮点

  1. 现代化前端技术栈:采用 Vue 3 + Vite + Element Plus + Pinia,开发高效,体验流畅。
  2. 稳定可靠的后端架构:基于 Spring Boot 3 + MyBatis,配合JWT认证,构建稳健后端。
  3. 完善的数据库设计:14张核心表,utf8mb4字符集,数据规范完整。
  4. 安全性设计:Token认证、接口权限拦截、多角色数据隔离。

# 三、 用户体验亮点

  1. 双界面设计:前台简洁直观的点餐界面,后台高效的管理界面。
  2. 响应式布局:基于Element Plus栅格系统。
  3. 交互优化:加载提示、操作确认、消息提示、表单验证全面。
  4. 文件上传便捷:图片预览、拖拽上传,操作流畅。

# 管理员功能

# 系统管理

管理员管理:管理全部管理员账号,支持新增、编辑、删除、启用/禁用操作

用户管理:管理全部用户账号,可修改用户信息、状态,支持重置密码

商家管理:管理全部餐饮商家,包括商家信息、启用/禁用商家

# 菜品管理

菜品分类:管理菜品分类(中餐、西餐、饮品等),支持新增、编辑、删除

菜品管理:管理全部菜品,支持新增、编辑、删除、上下架、库存管理

# 订单管理

订单管理:管理全部订单,可查看订单详情、修改订单状态、取消订单并退款

订单评价:查看全部订单评价,可删除不当评价

# 运营管理

轮播图管理:管理首页轮播图,支持新增、编辑、删除、排序

广告位管理:管理各个位置的广告,支持新增、编辑、删除、排序

收货地址管理:查看全部用户的收货地址信息


# 商家功能

# 菜品管理

菜品管理:管理本商家的菜品,支持新增、编辑、删除、上下架、库存管理

# 订单管理

订单管理:查看本商家的订单,可接单、配送、查看订单详情


# 普通用户功能

# 菜品浏览

首页:浏览轮播图、广告位、推荐菜品、热门商家

菜品列表:按分类浏览菜品,支持搜索、筛选

菜品详情:查看菜品详细信息(图片、价格、库存、简介、评价)

浏览历史:自动记录浏览过的菜品,方便回看

# 点餐功能

加入购物车:将菜品加入购物车,可修改数量

购物车管理:查看购物车,可删除菜品、修改数量、结算

立即购买:直接购买菜品,选择配送地址、提交订单

菜品收藏:收藏喜欢的菜品,方便下次点餐

商家收藏:收藏喜欢的商家,方便访问商家店铺

# 订单管理

订单列表:查看自己的全部订单,支持按状态筛选

订单详情:查看订单详细信息(菜品、价格、配送地址、状态)

订单操作:可取消订单(自动退款)、确认收货、评价订单

订单评价:对已完成的订单进行评价(评分、评价内容)

# 个人中心

收货地址:管理配送地址,支持新增、编辑、删除、设置默认地址

个人信息:修改个人信息(昵称、头像、手机号、邮箱)

修改密码:修改登录密码


# 功能权限对照表

功能模块 管理员 商家 用户
管理员管理 ✓ - -
用户管理 ✓ - -
商家管理 ✓ - -
菜品分类管理 ✓ - -
菜品管理 ✓(全部) ✓(本商家) -
订单管理 ✓(全部) ✓(本商家) ✓(仅自己的)
订单评价管理 ✓(全部) - ✓(仅自己的)
轮播图管理 ✓ - -
广告位管理 ✓ - -
收货地址管理 ✓(全部) - ✓(仅自己的)
菜品浏览 - - ✓
购物车 - - ✓
菜品收藏 - - ✓
商家收藏 - - ✓
浏览历史 - - ✓

# 订单状态说明

  • 待支付:订单已创建,等待支付(当前系统自动支付)
  • 待接单:已支付,等待商家接单
  • 配送中:商家已接单并配送,等待用户确认收货
  • 已完成:用户已确认收货,交易完成,可评价
  • 已取消:订单已取消,已退款

# 默认账号

# 管理员

用户名: admin
密码: 123456
1
2

# 测试用户

用户名: user
密码: 123456
1
2

# 测试商家

用户名: shop
密码: 123456
1
2

# 核心业务流程

# 用户点餐流程

1. 用户浏览菜品 → 查看菜品详情
2. 点击"加入购物车"或"立即购买"
3. 选择配送地址 → 确认订单信息
4. 提交订单 → 系统自动支付
5. 扣减库存,增加销量,生成订单(状态:待接单)
6. 商家接单并配送(状态:配送中)
7. 用户确认收货(状态:已完成)
8. 用户评价订单
1
2
3
4
5
6
7
8

# 购物车点餐流程

1. 用户浏览菜品 → 加入购物车
2. 继续浏览其他菜品 → 加入购物车
3. 进入购物车 → 查看菜品列表
4. 修改菜品数量或删除菜品
5. 勾选要购买的菜品 → 点击"去结算"
6. 选择配送地址 → 确认订单信息 → 提交订单
7. 后续流程同"用户点餐流程"
1
2
3
4
5
6
7

# 系统特色

# 多商家模式

  • 商家入驻:支持多个餐饮商家入驻平台
  • 独立管理:每个商家独立管理自己的菜品和订单
  • 商家收藏:用户可以收藏喜欢的商家

# 个性化推荐

  • 浏览历史:自动记录用户浏览的菜品
  • 收藏功能:用户可以收藏菜品和商家
  • 智能推荐:基于浏览历史推荐相关菜品

# 运营工具

  • 轮播图:首页轮播图展示,支持排序
  • 广告位:多个位置的广告位管理
  • 数据统计:菜品销量统计、订单统计

# 购物体验

  • 购物车:支持批量管理菜品,批量结算
  • 订单评价:用户可对订单进行评价,其他用户可查看
  • 配送地址:支持多个配送地址,可设置默认地址

Java导航网   |