欢迎光临
我们一直在努力

SpringBoot 微信小程序点餐系统|多角色(用户 / 商家 / 管理员)毕设项目

项目简介

传统餐饮线下人工管理,餐桌预订、订单处理效率低下。本项目是点餐微信小程序系统,实现管理员‑商家‑普通用户三角色完整闭环,移动端微信小程序做用户端,Web 页面做商家和管理员后台。

项目亮点

  • 三角色权限隔离:用户、商家、超级管理员
  • 餐桌资源管理 + 餐桌在线预订核心业务
  • 完整订单状态流转:未支付 / 已支付 / 已完成 / 已退款 / 已取消
  • 菜品管理、购物车、投诉反馈、公告发布全套功能
  • 技术栈

    • 后端:SpringBoot、Java、MyBatis‑Plus
    • 移动端:微信小程序 WXML + Vue
    • 后台管理:Vue
    • 数据库:MySQL8

    一、角色功能梳理

    商家(Web 后台)

  • 维护菜品信息:新增、修改、上下架菜品,设置库存价格
  • 餐桌信息管理,更新餐桌空闲 / 占用状态
  • 处理各类状态订单,接单、查看退款、取消订单
  • 查看运营统计看板
  • 管理员(Web 总后台)

  • 用户账号管理、商家账号审核管理
  • 美食分类维护、公告发布
  • 投诉反馈工单处理、系统日志查看
  • 二、系统架构设计

    B/S 架构,三层分离:

  • 小程序 & 前端页面:小程序面向普通消费者;Vue 网页面向商家、管理员;通过 RESTful 接口和后端交互。
  • SpringBoot 业务层:权限控制、订单状态机、餐桌预订业务逻辑;事务保证预订、订单数据一致性。
  • MySQL 持久层:存储餐桌、菜品、订单、用户、商家、预订记录、投诉工单。
  • 核心实体 E‑R:用户、商家、餐桌、菜品、订单、餐桌预订记录;餐桌与预订记录一对多;订单关联用户、菜品。

    关键数据表:用户表、商家表、餐桌信息表、餐桌预订表、菜品表、订单表、购物车表、投诉反馈表。

    三、关键业务:餐桌预订流程

    餐桌预订是本系统核心,要处理并发冲突,防止多人同时预订同一张餐桌。

  • 用户提交餐桌预订请求,携带餐桌 ID、预约时间、人数信息
  • 后端校验餐桌状态,判断该时间段餐桌是否空闲
  • 空闲:数据库事务锁定餐桌资源,生成预订记录
  • 占用:直接返回提示,预订失败
  • 商家后台收到预订通知,可以确认 / 拒绝用户预订
  • 四、订单状态流转

    订单完整状态:未支付 → 已支付 → 已完成 / 已取消 / 已退款

    后端采用状态机控制订单流转,不允许跨状态更新,保证业务逻辑严谨;同时记录订单操作日志。

    五、系统效果展示

     图 5 微信小程序用户首页 轮播展示公告、菜品分类导航,展示推荐菜品。

    图 6 菜品详情页面 展示菜品价格、介绍、销量,支持加入购物车、收藏。

    图 7 小程序我的订单页面 分类展示不同状态订单,支持退款、查看订单详情。

    图 8 商家 Web 后台订单管理界面 展示全部订单,实现接单、修改订单状态操作。

    六、系统测试与问题

    黑盒功能测试,覆盖预订冲突、订单状态变更、商家审核、投诉反馈。

    发现的问题:

  • 高并发预订场景,MySQL 行锁会带来响应延迟;优化方案引入 Redis 预占餐桌资源。
  • 小程序列表大量数据加载较慢,需要做虚拟滚动、分页懒加载。
  • 通过点赞、收藏、评论可以免费领取源码-可以私信博主

    赞(0)
    未经允许不得转载:171主机测评 » SpringBoot 微信小程序点餐系统|多角色(用户 / 商家 / 管理员)毕设项目
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址