# 5-在线订餐系统 - 功能说明
# 项目演示
# 项目概述
在线订餐系统是一个集菜品展示、在线点餐、商家管理、订单配送于一体的综合性外卖服务平台。采用前后端分离架构,基于Vue 3和Spring Boot技术栈,为用户提供便捷的在线点餐体验,为商家提供完善的菜品和订单管理工具,为平台管理员提供全面的系统管理功能。
# ✨ 创新点
# 1. 多商家入驻模式
- 商家入驻:支持多个餐饮商家入驻平台,形成美食生态。
- 独立管理:每个商家独立管理自己的菜品和订单。
- 商家收藏:用户可以收藏喜欢的商家,快速访问。
# 2. 完整外卖体验
- 购物车系统:支持批量点餐,统一下单结算。
- 收货地址管理:支持多个配送地址,便捷切换。
- 订单追踪:实时查看订单状态,配送进度一目了然。
# 3. 个性化推荐
- 浏览历史:自动记录用户浏览的菜品,方便回看。
- 菜品收藏:收藏喜欢的菜品,快速下单。
- 智能推荐:基于浏览历史推荐相关菜品。
# 4. 运营工具完善
- 轮播图管理:首页轮播图展示热门商家或活动。
- 广告位管理:多位置广告投放,提升运营效率。
- 数据统计:菜品销量、订单数据统计分析。
# 5. 技术架构先进
- 前后端分离:清晰的职责划分,提升开发效率。
- JWT认证:基于Token的无状态认证,安全高效。
- 组件化开发:前端高复用组件库,后端模块化设计。
# ✨ 项目亮点
# 一、 业务功能亮点
- 多商家外卖平台:支持多商家入驻,丰富的美食选择。
- 完整购物流程:购物车、地址管理、在线支付、订单追踪全流程。
- 用户互动功能:菜品评价、商家收藏、浏览历史记录。
- 运营推广工具:轮播图、广告位、数据统计分析。
# 二、 技术实现亮点
- 现代化前端技术栈:采用 Vue 3 + Vite + Element Plus + Pinia,开发高效,体验流畅。
- 稳定可靠的后端架构:基于 Spring Boot 3 + MyBatis,配合JWT认证,构建稳健后端。
- 完善的数据库设计:14张核心表,utf8mb4字符集,数据规范完整。
- 安全性设计:Token认证、接口权限拦截、多角色数据隔离。
# 三、 用户体验亮点
- 双界面设计:前台简洁直观的点餐界面,后台高效的管理界面。
- 响应式布局:基于Element Plus栅格系统。
- 交互优化:加载提示、操作确认、消息提示、表单验证全面。
- 文件上传便捷:图片预览、拖拽上传,操作流畅。
# 管理员功能
# 系统管理
管理员管理:管理全部管理员账号,支持新增、编辑、删除、启用/禁用操作
用户管理:管理全部用户账号,可修改用户信息、状态,支持重置密码
商家管理:管理全部餐饮商家,包括商家信息、启用/禁用商家
# 菜品管理
菜品分类:管理菜品分类(中餐、西餐、饮品等),支持新增、编辑、删除
菜品管理:管理全部菜品,支持新增、编辑、删除、上下架、库存管理
# 订单管理
订单管理:管理全部订单,可查看订单详情、修改订单状态、取消订单并退款
订单评价:查看全部订单评价,可删除不当评价
# 运营管理
轮播图管理:管理首页轮播图,支持新增、编辑、删除、排序
广告位管理:管理各个位置的广告,支持新增、编辑、删除、排序
收货地址管理:查看全部用户的收货地址信息
# 商家功能
# 菜品管理
菜品管理:管理本商家的菜品,支持新增、编辑、删除、上下架、库存管理
# 订单管理
订单管理:查看本商家的订单,可接单、配送、查看订单详情
# 普通用户功能
# 菜品浏览
首页:浏览轮播图、广告位、推荐菜品、热门商家
菜品列表:按分类浏览菜品,支持搜索、筛选
菜品详情:查看菜品详细信息(图片、价格、库存、简介、评价)
浏览历史:自动记录浏览过的菜品,方便回看
# 点餐功能
加入购物车:将菜品加入购物车,可修改数量
购物车管理:查看购物车,可删除菜品、修改数量、结算
立即购买:直接购买菜品,选择配送地址、提交订单
菜品收藏:收藏喜欢的菜品,方便下次点餐
商家收藏:收藏喜欢的商家,方便访问商家店铺
# 订单管理
订单列表:查看自己的全部订单,支持按状态筛选
订单详情:查看订单详细信息(菜品、价格、配送地址、状态)
订单操作:可取消订单(自动退款)、确认收货、评价订单
订单评价:对已完成的订单进行评价(评分、评价内容)
# 个人中心
收货地址:管理配送地址,支持新增、编辑、删除、设置默认地址
个人信息:修改个人信息(昵称、头像、手机号、邮箱)
修改密码:修改登录密码
# 功能权限对照表
| 功能模块 | 管理员 | 商家 | 用户 |
|---|---|---|---|
| 管理员管理 | ✓ | - | - |
| 用户管理 | ✓ | - | - |
| 商家管理 | ✓ | - | - |
| 菜品分类管理 | ✓ | - | - |
| 菜品管理 | ✓(全部) | ✓(本商家) | - |
| 订单管理 | ✓(全部) | ✓(本商家) | ✓(仅自己的) |
| 订单评价管理 | ✓(全部) | - | ✓(仅自己的) |
| 轮播图管理 | ✓ | - | - |
| 广告位管理 | ✓ | - | - |
| 收货地址管理 | ✓(全部) | - | ✓(仅自己的) |
| 菜品浏览 | - | - | ✓ |
| 购物车 | - | - | ✓ |
| 菜品收藏 | - | - | ✓ |
| 商家收藏 | - | - | ✓ |
| 浏览历史 | - | - | ✓ |
# 订单状态说明
- 待支付:订单已创建,等待支付(当前系统自动支付)
- 待接单:已支付,等待商家接单
- 配送中:商家已接单并配送,等待用户确认收货
- 已完成:用户已确认收货,交易完成,可评价
- 已取消:订单已取消,已退款
# 默认账号
# 管理员
用户名: admin
密码: 123456
2
# 测试用户
用户名: user
密码: 123456
2
# 测试商家
用户名: shop
密码: 123456
2
# 核心业务流程
# 用户点餐流程
1. 用户浏览菜品 → 查看菜品详情
2. 点击"加入购物车"或"立即购买"
3. 选择配送地址 → 确认订单信息
4. 提交订单 → 系统自动支付
5. 扣减库存,增加销量,生成订单(状态:待接单)
6. 商家接单并配送(状态:配送中)
7. 用户确认收货(状态:已完成)
8. 用户评价订单
2
3
4
5
6
7
8
# 购物车点餐流程
1. 用户浏览菜品 → 加入购物车
2. 继续浏览其他菜品 → 加入购物车
3. 进入购物车 → 查看菜品列表
4. 修改菜品数量或删除菜品
5. 勾选要购买的菜品 → 点击"去结算"
6. 选择配送地址 → 确认订单信息 → 提交订单
7. 后续流程同"用户点餐流程"
2
3
4
5
6
7
# 系统特色
# 多商家模式
- 商家入驻:支持多个餐饮商家入驻平台
- 独立管理:每个商家独立管理自己的菜品和订单
- 商家收藏:用户可以收藏喜欢的商家
# 个性化推荐
- 浏览历史:自动记录用户浏览的菜品
- 收藏功能:用户可以收藏菜品和商家
- 智能推荐:基于浏览历史推荐相关菜品
# 运营工具
- 轮播图:首页轮播图展示,支持排序
- 广告位:多个位置的广告位管理
- 数据统计:菜品销量统计、订单统计
# 购物体验
- 购物车:支持批量管理菜品,批量结算
- 订单评价:用户可对订单进行评价,其他用户可查看
- 配送地址:支持多个配送地址,可设置默认地址