# 8-网上订餐系统 - 功能说明

# 项目概述

连接用户、餐饮商家和配送员的网上订餐平台,提供商家与菜品浏览、购物车结算、订单确认、配送分配、评价及反馈。管理员统一维护账号和平台数据。


# 项目概览

# 创新点

  1. 配送角色独立:配送员拥有订单入口,后端限制其只能操作分配给自己的订单及指定状态。
  2. 商家确认与配送分配:订单确认后可分配配送员,明确餐厅处理与配送执行的职责。
  3. 结算信息完整:订单保存联系人、电话、地址、商品金额、配送费和实付金额,并关联菜品明细。

# 项目亮点

  • 角色分工:提供管理员、商家、配送员、用户等业务入口。
  • 业务数据组织:主初始化脚本包含 14 张表,围绕该系统的核心对象与业务记录建模。
  • 前后端分离:前端负责页面交互,后端通过控制器、服务与数据映射层提供接口。
  • 操作体验:提供列表查询、表单编辑、状态展示及个人资料维护入口。

# 管理员

# 账号管理

维护管理员、用户、商家及配送员信息。

# 菜品管理

维护菜品分类与菜品资料。

# 交易管理

管理订单、订单明细并分配配送员。

# 数据管理

维护评价、购物车和收货地址记录。

# 平台内容

维护轮播图、公告和用户反馈。


# 商家

# 菜品维护

通过分类与菜品入口维护餐饮商品信息。

# 订单处理

查看本商家订单及明细,确认新订单并分配配送员。


# 配送员

# 订单配送

查看分配给自己的订单和配送信息,将已确认订单更新为配送中,再标记已完成。


# 用户

# 点餐浏览

浏览商家、商家详情及菜品详情。

# 购物车结算

维护购物车,选择地址,核对菜品金额和配送费,使用余额完成下单流程。

# 订单与评价

查看订单详情,按当前状态取消或确认收货,提交评价。

# 个人中心

管理地址、评价、反馈、个人资料、密码与余额。


# 功能权限对照表

下表说明当前菜单与业务入口分工。“—”表示未列为该角色的常规入口;不代表已对每个接口完成权限安全审计。

功能模块 管理员 商家 配送员 用户
账号及平台内容 管理 — — 浏览
菜品分类与菜品 管理 维护 — 浏览
订单 管理分配 确认分配 本人配送任务 下单查询
订单明细 管理 查看维护 订单详情 订单详情
地址、购物车与评价 后台管理 — — 个人使用

# 业务状态说明

  • 订餐订单:待确认 → 已确认 → 配送中 → 已完成;另有已取消。
  • 商家账号存在待审核状态;反馈使用待处理、已处理。

# 默认账号

以下为主初始化 SQL 中能够核实的示例账号;需先导入对应脚本。这里不把脚本初始值视为当前运行数据库的实际账号或余额。

登录角色 角色标识 用户名 初始密码
管理员 ADMIN admin 123456
商家 MERCHANT merchant 123456
配送员 DELIVERY delivery 123456
用户 USER user 123456

# 核心业务流程

# 下单

  1. 选择商家菜品。
  2. 加入购物车。
  3. 选择收货地址。
  4. 创建待确认订单和明细。
  5. 扣减用户余额。
  6. 清理已结算购物车。

# 配送

  1. 商家确认订单。
  2. 商家或管理员分配配送员。
  3. 配送员开始配送。
  4. 配送员完成配送。

# 评价反馈

  1. 查看订单与菜品。
  2. 提交评价。
  3. 通过我的反馈提交问题。
  4. 管理员回复。

# 技术说明

# 系统架构

项目 当前源码配置
Vue ^3.4.29
Element Plus ^2.8.4
Pinia ^2.2.2
Axios ^1.7.5
Vite ^5.3.1
Spring Boot 3.2.10
Java 17
MyBatis 集成组件 3.0.4
数据库 MySQL;具体运行版本以实际部署为准
身份认证 JWT;通过登录接口生成令牌

前端版本按 package.json 中的声明范围记录,不将依赖范围等同于已安装的精确版本。

# 访问地址

# 数据库

  • 配置数据库名:a_2026_8_online_ordering_system。
  • 主初始化脚本:sql/sql.sql。
  • 主脚本建表数量:14 张,仅统计当前主脚本的 CREATE TABLE,不包含临时 SQL、迁移脚本或运行时改动。
  • 字符集:主脚本采用 utf8mb4。
  • 数据表清单:address、admin、banner、cart、category、delivery、dish、feedback、merchant、notice、order_item、orders、review、user。

# 文件上传

  • 上传接口:POST /file/upload。
  • 文件访问:GET /file/{fileName}。
  • 配置限制:单文件 100MB,单次请求 1000MB。
  • 使用范围:根据业务页面上传图片或附件;具体允许类型以对应上传组件配置为准。

# 系统特色

# 配送角色独立

配送员拥有订单入口,后端限制其只能操作分配给自己的订单及指定状态。

# 商家确认与配送分配

订单确认后可分配配送员,明确餐厅处理与配送执行的职责。

# 结算信息完整

订单保存联系人、电话、地址、商品金额、配送费和实付金额,并关联菜品明细。


# 当前实现说明

  1. 未发现优惠券、促销活动的独立表、菜单与业务服务,不保留原文满减、折扣券、核销等说明。
  2. 配送员不能新增或删除订单,状态操作限于已确认到配送中、配送中到已完成。
  3. 当前下单由前端连续调用订单、明细、扣款和购物车接口完成,不能据此宣称整条交易链路已具备统一事务保障或自动退款。

本次按本地源码进行静态核对,未启动前后端或连接数据库执行端到端验证;上述说明反映当前代码与页面定义。

Java导航网   |