java基于springboot外卖系统在线订餐系统app源码厨艺论坛APP

news2024/9/23 14:38:57

简介

本项目主要包括了外卖订餐系统(在线订餐和外卖配送)、厨艺论坛系统、管理员后台、用户中心等功能。用户注册后可以选择餐桌在线点餐支付,也可以选择外卖配送到家的方式。

演示视频 https://www.bilibili.com/video/BV1xv411t7JD/?share_source=copy_web&vd_source=ed0f04fbb713154db5cc611225d92156
商家管理员后台
https://www.bilibili.com/video/BV1xv411t7JD/?p=2&share_source=copy_web&vd_source=ed0f04fbb713154db5cc611225d92156
调式视频 https://www.bilibili.com/video/BV1xv411t7JD/?p=3&share_source=copy_web&vd_source=ed0f04fbb713154db5cc611225d92156

使用技术

springMvc、springBoot、myibats、mysql、layer、jq、js、css等

功能:

1.外卖模块(首页、分类、搜索、根据销量和价格排序、详情、购物车、订单【代付款、待确认、待退款、待评价、已完成】、外卖配送、在线点餐等(订单没有合并,是一个商品一个订单哦))

下单分为两种:
在线点餐:在店点餐,选择餐桌下单支付;
外卖配送:在家点餐,选择收货地址下单支付。

2.用户模块(注册、登录、基本信息、上传和剪裁头像、修改密码、收货地址管理、充值、提现、账单、系统通知 等) 3.厨艺论坛模块(论坛首页、详情、发布、关注、点赞、楼中楼回复、贴子管理、举报等)

3.管理员后台模块(订单处理【接单、退款、查询】、用户解禁、举报处理、分类管理、商品管理、广告管理等)

部分截图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
java基于springboot外卖系统在线订餐系统app源码论文
1.1 系统业务流程分析
1.1.1 普通用户业务流程分析
普通用户的业务流程分为三个部分,点餐、浏览论坛和修改个人信息。
点餐业务流程如下:
(1)用户进入网站后,浏览菜系分类,还可以在搜索栏查看热销菜。
(2)菜品加入购物车后,选择是否支付订单,如果不支付订单,可以选择删除订单,接着选餐,若是支付订单,则系统转到支付界面。
(3)选择立即支付后,如果余额充足,则支付成功,如果余额不足,需要充值余额后再支付订单。
(4)支付订单成功后,订单将会被提交到后台管理员那里,管理员选择接单并发货。
(5)确认收货后可以选择是否评价订单,如果评价,则可以对菜品进行星级打评或文字评论,还可以上传图片,如果不评价则直接订单完成。
浏览论坛业务流程如下:
用户点击论坛模块后,进入论坛页面,可以在这里可以进行对帖子的点赞、回复,还可以自己发布新帖子。
用户的整体业务流程图如图2.1所示。

图2.1用户的业务流程图

1.1.2 超级管理员流程分析
超级管理员需要进行身份验证后才可以进入后台管理系统,身份验证通过后,可以在后台管理系统进行一系列的操作,包括对订单的管理,商品的管理,用户的管理以及对论坛的管理。如图2.2所示。

图2.2超级管理员的业务流程图

1.2 系统用例分析
游客用例分析
如图2.3所示,游客进入系统后,可实现的功能如下:
(1)查看菜品
游客进入系统后可以查看各个菜品的详细信息。
(2)查看论坛
游客进入系统后可以查看论坛里的各个帖子。

图2.3游客的用例图
1.2.1 普通用户用例分析
如图2.4所示,普通用户进入系统登录后,可实现的主要功能如下:
(1)订餐
普通用户可以在订餐模块对菜品进行选择并订购。
(2)查看订单
普通用户可以在订单模块查看自己的订单详细信息,还包括有提醒发货或申请退款功能。
(3)评价
普通用户可以在确认收货后选择评价订单。
(4)查看评价
普通用户可以查看其他用户对各个菜品的相关评价包括文字评论和星级打分以及上传的图片。
(5)个人中心
普通用户可在“我的”即个人中心板块查看系统通知、修改收货地址、充值钱包还有上传头像。
(6)使用论坛
普通用户可以发布帖子、查看帖子、点赞以及关注其他用户。

图2.4普通用户的用例图
1.2.2 超级管理员用例分析
如图2.5所示,超级管理员登录后台管理系统后,可实现的主要功能如下:
(1)在线订餐管理
在线订餐管理指的是管理员对堂食客户的订单信息进行管理,包括对订单接单、退款等功能。
(2)外卖配送管理
外卖配送管理指的是管理员对选择外卖服务的客户的订单进行管理,包括对待发货的订单进行接单、退款等功能。
(3)商品管理
商品管理包括对商品的分类管理、商品的详细内容管理、广告管理以及餐桌管理。
(4)用户管理
用户管理指的是管理员对用户的账号权限进行管理,还有对用户的余额提现进行管理。
(5)论坛管理
论坛管理包括对论坛的分类管理、正常帖子的管理以及对举报贴的管理。

图2.5超级管理员的用例图
第 2 章 系统的概念设计
本章在基于上一章系统需求分析的结果上进行对系统的详细设计,主要从三个模块进行系统的设计,分别是前台模块的设计,后台模块的设计和数据库的设计。前台模块设计的使用对象主要是普通用户,而后台模设计的使用对象则是超级管理员。
2.1 前台模块设计
前台设计的功能模块主要提供给顾客点餐功能、购物车功能、论坛功能和个人信息管理功能,顾客可以点击不同的功能模块查看里面的信息并进行相对应的操作。
(1)点餐功能模块显示的是网站上所有可选购的菜品,用户可以点击感兴趣的菜品查看此菜品的详细信息,包括菜品的价格、销量、详细介绍以及购买过的用户对此菜品的评价。用户如果喜欢的话,就可以把菜品加入购物车进行支付。其中点餐功能模块还设计可以按照菜品的分类或销量和价格排序进行查看,而销量是按照从高到低的顺序排序,价格则是完全相反,按照从低到高的顺序排序,性价比还是一个很重要的考虑因素的。用户如果觉得浏览点餐比较耗费时间,想节省时间快速点餐,可以直接点击搜索栏直接搜索自己喜欢的菜品进行选购。
(2)购物车功能模块显示的是用户添加进来的各类菜品,在这个功能模块里,用户可以选择单独一个菜品进行支付或删除,也可以选择好几个菜品进行同时支付或删除。如果点击立即支付,页面将会跳转到服务类型页面,这里设计的是用户可以选择在线订餐服务或是外卖配送服务,如果选择了在线订餐,直接点击用户所在的餐桌编号即可,如果选择的是外卖配送,将要填写送货地址,选择好后支付订单即可。
(3)论坛功能模块显示的是用户发布的各种类型的帖子,这里显示着四个类型的模块。用户可以按照最新、热门、点赞三种排序浏览用户发布的各类帖子,也可以直接点击自己感兴趣的帖子主题类型,查看或发布帖子。在这个功能模块里,用户不仅可以浏览或发布帖子,还可以对帖子进行回复、点赞、和举报。
(4)我的功能模块显示的是收货地址、购物车、我的订单、系统通知、我的钱包、充值、我的论坛、联系我们等信息。用户可以点击相应的超链接跳转到相对应的界面。收货地址里可以增加删除自己的地址,点击购物车则是跳转到了购物车功能模块,我的订单也是同样的结果,跳转到了我的订单功能模块。系统通知里显示的是以往发布的系统通知,我的钱包里显示的是用户充值的余额,点击充值,用户可以选择不同的支付方式进行充值。论坛里设计显示的是,用户可以看到自己以往发布和举报的帖子,还有点赞关注的用户,包括关注的帖子主题。在我的功能模块右上角,还可以修改用户密码,也可以注销用户,重新登录新用户。
2.2 后台模块设计
后台模块的设计主要是针对超级管理员使用后台所需要的功能而设计的模块,包括订单管理模块、商品管理模块、用户管理模块和论坛管理模块。后台模块的设计大大提高了管理员管理平台的效率,缩短了不必要的时间。
2.2.1 订单管理模块
订单管理功能模块分别包括在线订单功能模块和外卖配送功能模块,其中两个模块内包含的功能基本一致。
(1)待上菜/待发货显示的是用户已经下单的订单信息,包括订单号、商品名称、单价、购买件数、状态、创建时间和用户信息,管理员可以选择接单或退款。
(2)已接单/已发货显示的是管理员接单后的订单详细信息,包括订单号、商品名称、单价、购买件数、状态、创建时间和用户信息。
(3)确认收货显示的是用户点击确认收货后显示的订单,也包含有一些订单的详细信息。
(4)已完成显示的是用户确认收货并评价后的商品。
(5)待退款显示的是用户申请的退款订单,包括订单号、商品名称、单价、购买件数、总价、状态、用户信息等等。后台管理员可以点击确认退款。
(6)已退款显示的是后台管理员已经确认退款后的订单。
订单管理模块设计如图3.1所示。

图3.1订单管理功能模块设计图
2.2.2 商品管理模块
商品管理功能模块分别包括商品详情管理、商品分类管理、广告管理和餐桌信息管理,管理员通过商品管理功能模块方便快捷的管理商品相关信息,提升了工作效率。
(1)商品详情显示的是商品的详细信息,包括商品的id、商品名、商品所在的分类名、商品的详情内容、商品的价格、商品的状态、排序字段以及可以对商品进行的操作,包括更换商品图片,对商品进行修改,下架商品还有添加商品。管理员可以直接输入商品名进行搜索商品,也可以根据商品的字段按照升序或降序排序浏览或按照商品分类或状态进行搜索浏览。
(2)商品分类显示的是对商品的类型进行分类,包括有煲仔饭类型、小碗菜类型、营养汤肴和主食类型。这里显示着每个类型的id、分类名、图标、排序字段以及是否启用的状态。后台管理员也可以对分类进行修改和查找。
(3)广告显示的是发布在网站上的广告,包括每条广告的id、标题、图片、发布的位置、链接、排序字段以及状态。管理员可以对广告进行随时更换或添加删除。
(4)餐桌显示的是这个系统应用的高校食堂有多少餐桌,每个餐桌都有自己独一无二的id和餐桌编号,管理员根据编号和id来上菜,如果某个餐桌发生故障不能使用,这里管理员也可以点击停用这张餐桌,餐桌修好后,随时都可以启用此餐桌。
商品管理模块设计如图3.2所示。

图3.2商品管理功能模块设计图
2.2.3 用户管理模块
用户管理模块设计了三个部分,分别是用户详情管理、用户投诉处理和提现申请处理,这个模块管理员主要用来处理和用户相关的操作。
(1)用户详情显示的是注册这个系统的用户详细信息,包括用户的id、电话号码、用户名、头像、创建时间和状态(是否被禁用)、粉丝量。管理员可以通过输入用户名或用户手机号进行搜索用户。
(2)用户投诉显示的是被被投诉者的信息以及投诉者的信息,还有投诉内容和理由,包括状态。管理员可以选择不符实或符实,如果选择符实,则被举报的用户将被禁用,如果选择不符实,则被举报用户的账号则可以继续使用。
(3)提现申请显示的是用户发出的提现申请,包括申请人的信息、提现金额。
用户管理模块设计如图3.3所示。

图3.3用户管理功能模块设计图
2.2.4 论坛管理模块
论坛管理模块主要设计为管理员对论坛主题分类的增删改查、已发布的贴子的状态修改和查找以及对举报贴的禁用等操作。
(1)主题分类显示的是对帖子主题进行的大分类,包括分类id、分类名、图标、排序字段、状态、关注人数、发帖量和回复量。管理员可以修改分类信息,包括修改名字、图片。还可以选择禁用分类或添加删除分类,也可以输入分类名对分类进行搜索或根据启用/禁用状态进行搜索。
(2)发布帖显示的是用户已经发布的帖子详细内容,包括帖子的id、标题、所属分类、状态、点赞量、浏览量、回帖量。管理员可以对帖子进行禁用和删除,也可以直接输入帖子分类名进行搜索帖子或根据屏蔽/显示状态进行搜索。
(3)举报贴显示的是被举报的帖子详细信息,包括帖子的id、举报者信息、举报内容、被举报的帖子目前状态。管理员可以点击符实或不符实进行处理该举报贴。如果点击不符实,则帖子继续存在于前端页面,若是点击符实,则举报贴将会被屏蔽掉,用户不会再在前端页面看到该屏蔽贴。
论坛管理模块设计如图3.4所示。

图3.4论坛管理功能模块设计图
2.3 数据库的设计
2.3.1 数据库概念设计
(1)地址信息表
地址信息表是用来存储地址ID、详细收获地址信息、联系手机号、收货人姓名、用户id等信息。如图3.6所示。

图3.6地址实体E-R图
(2)广告信息表
广告信息表是用来存储广告ID、广告标题、广告图片、广告定位、广告外连接路径等信息。如图3.7所示。

图3.7广告实体E-R图
(3)帖子信息表
帖子信息表是用来存储帖子的ID、帖子的内容、帖子的标题、此贴的点赞数量、帖子的浏览量、发帖用户ID、帖子类别ID、帖子的图片路径等信息。如图3.8所示。

图3.8帖子信息E-R图
(4)帖子分类信息表
帖子分类信息表是用来存储帖子的分类ID、分类名、分类图标地址、该分类下的帖子数量、该分类下帖子回复的总数量以及关注人数的信息。如图3.9所示。

图3.9帖子分类实体E-R图
(5)购物车信息表
购物车信息表是用来存储每条购物车记录的ID、菜品ID、购买数量、创建时间、用户ID的信息。如图3.10所示。

图3.10购物车实体E-R图
(6)投诉信息表
投诉信息表是用来存储投诉信息ID、投诉时间、投诉用户ID、被投诉用户ID、投诉理由等信息。如图3.11所示。

图3.11投诉实体E-R图
(7)评论信息表
评价信息表是用来存储评价ID、评价内容、评分、评价图、菜品ID、用户ID、等信息。如图3.12所示。

图3.12评价实体E-R图
(8)商品信息表
商品信息表是用来存储商品ID、商品名字、商品介绍、商品分类ID、商品图片地址、商品价格、商品销量等信息。如图3.13所示。

图3.13商品实体E-R图
(9)订单信息表
订单信息表是用来存储订单ID、商品ID、用户ID、订单总价格、餐桌号、订单地址、退款原因等信息。如图3.14所示。

图3.14订单实体E-R图
(10)钱包信息表
钱包信息表是用来存储用户ID、余额和支付密码的信息表。如图3.15所示。

图3.15钱包实体E-R图
(11)座位信息表
座位信息表是用来存储座位ID、座位编号、座位状态的信息表。如图3.16所示。

图3.16座位实体E-R图
(12)用户信息表
用户信息表是用来存储用户ID、用户手机号、登录密码、用户名称、性别、出生日期、粉丝数量等信息。如图3.17所示

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/137926.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Thinkphp5框架简单理解

说明 该文章来源于同事lu2ker转载至此处,更多文章可参考:https://github.com/lu2ker/ 目录说明TP5框架简单理解1. 架构总览1.1 控制器/操作1.2 MVC模式流程1.3 类库自动加载1.4 URL访问检测1.5 路由模式1.5.1 普通模式1.5.2 混合模式1.5.4 强制路由1.6 …

数据结构与算法学习——栈结构

在程序设计中,一定接触过“堆栈”的概念。其实,“栈 ” 和 “堆 ” 是两个不同的概念。这里,栈是一种特殊的数据结构,在中断处理特别是重要数据的现场保护有着重要意义。 什么是栈结构 从数据的逻辑结构来看,栈结构其…

59. 微调(fine-tuning)代码实现

1. 热狗识别 让我们通过具体案例演示微调:热狗识别。 我们将在一个小型数据集上微调ResNet模型。该模型已在ImageNet数据集上进行了预训练。 这个小型数据集包含数千张包含热狗和不包含热狗的图像,我们将使用微调模型来识别图像中是否包含热狗。 %matp…

专访中银金科:数字驱动成为新的增长引擎,未来业务转化是关键

大数据和信息科技正在逐步颠覆银行业过往的业务模式。建立以数据驱动为核心,以优化客户体验为目标的可持续营销理念,逐渐成为行业的共识。但是,伴随着银行业数字化转型进程加速发展,海量客户数据和低效营销之间的矛盾日益凸显。在…

Linux apt 命令

apt(Advanced Packaging Tool)是一个在 Debian 和 Ubuntu 中的 Shell 前端软件包管理器。 apt 命令提供了查找、安装、升级、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。 apt 命令执行需要超级管理员权限(root)。 apt 语…

23.2、Junit单元测试反射注解

Java代码执行的三个阶段 Junit单元测试: * 测试分类: 1. 黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值。 2. 白盒测试:需要写代码的。关注程序具体的执行流程。 * Junit使用&#…

洛谷千题详解 | P1030 [NOIP2001 普及组] 求先序排列【C/C++、pascal语言】

博主主页:Yu仙笙 专栏地址:洛谷千题详解 目录 题目描述 输入格式 输出格式 输入输出样例 解析: C源码: C源码2: pascal源码: C源码: --------------------------------------------------------…

P4Pi AP转wifi模式

调试时间:2022.11.07 树莓派在安装P4Pi后,会自动设置为AP热点模式。本文档通过配置将树莓派系统从ap模式转变为wifi模式。 1 调试环境 Raspberry 4B 4GB-SDcard 32GB Raspberry Pi Imager v1.7.3 Raspberry Pi OS – Raspberry PiFrom industries lar…

值得信赖的数据同步备份软件 -Allway Sync 安全又可靠,简单又易用!

Allway Sync 是一款可靠的数据同步备份工具,最初的版本发布于 2004 年 4 月 19 号,距离今日大约有 19 年的更新历史了,足以说明软件绝对稳定,时间验证了软件的可靠性!而对于我们用户来说,数据同步备份最重要…

基于线性表的查找

目录 一、查找的基本概念 二、顺序查找 关键代码 完整代码 运行结果 增加哨兵 三、二分查找(折半查找) 关键代码 完整代码 运行结果 四、分块查找 图示 关键代码 完整代码 一、查找的基本概念 对查找表进行的操作 1.查找某个特定的数据元素是否存在 …

攻防世界-fakebook

题目 访问题目场景 我自己尝试了很久&#xff0c;发现怎么都找不到这道题的入手点&#xff0c;然后就去看了大佬们的文章&#xff0c;然后我发现这道题更趋近于真实的场景 解题过程 先使用目录扫描器扫一下发现存在robots.txt访问一下 这里发现存在一个备份文件 <?php…

html、css、js的小米商城

首页的展示 首页的功能 1、搜索栏模糊查询 在我在输入框输入关键字的时候&#xff0c;会匹配关键字&#xff0c;如果我的存放的数据里面包含这些关机键字就会显示出来。做到模糊查询的效果。 2、实现搜索功能 在首页的搜索框点击搜索的时候&#xff0c;就会对你输入的关键字进…

Redis 未授权访问的原理、危害及复现

原理介绍 Redis 未授权访问 准确的来说&#xff0c;其实并不是一个漏洞。而是由于开发人员配置不当&#xff0c;而产生的预料之外的危害。 具体原理&#xff1a; 可能由于部分业务要求&#xff0c;或者开发人员的配置不当&#xff0c;将 redis 服务器的 ip 和 port 暴露在公网…

基础数学(7)——常微分方程数值解法

文章目录期末考核方式基础知识解析解&#xff08;公式法&#xff09;解析解例题&#xff08;使用公式法&#xff0c;必考&#xff09;解析解的局限性数值解数值解的基本流程显示Euler法显示欧拉&#xff08;差值理解&#xff09;显示欧拉&#xff08;Taylor展开理解&#xff09…

ClickHouse表引擎详解看这篇就够了-基本讲解、处理逻辑、测试实例

表引擎是ClickHouse设计实现中的一大特色。表引擎在 ClickHouse 中的作用十分关键&#xff0c;直接决定了数据如何存储和读取、是否支持并发读写、是否支持 index、支持的 query 种类、是否支持主备复制等。1、表引擎概述1.1 介绍ClickHouse 提供了大约 28 种表引擎&#xff0c…

ArcGIS基础实验操作100例--实验43填充面要素空洞

本实验专栏参考自汤国安教授《地理信息系统基础实验操作100例》一书 实验平台&#xff1a;ArcGIS 10.6 实验数据&#xff1a;请访问实验1&#xff08;传送门&#xff09; 高级编辑篇--实验43 填充面要素空洞 目录 一、实验背景 二、实验数据 三、实验步骤 &#xff08;1&a…

JavaScript 条件语句

文章目录JavaScript If...Else 语句条件语句If 语句If...else 语句If...else if...else 语句JavaScript If…Else 语句 条件语句用于基于不同的条件来执行不同的动作。 条件语句 通常在写代码时&#xff0c;您总是需要为不同的决定来执行不同的动作。您可以在代码中使用条件语…

【学习笔记】Shell入门

Shell入门 https://www.bilibili.com/video/BV1WY4y1H7d3 资料&#xff1a;评论区取的 公众号的资料链接 https://pan.baidu.com/s/1_nBKUjE57MB2c96wmfSD5A 提取码&#xff1a;yyds 文章目录一、**Shell** 概述二、**Shell** 脚本入门三、变量1.系统预定义变量2.自定义变量**3…

自学软件测试该如何入门?

互联网行业发展很快技术更新也很快&#xff0c;软件测试技能要求在逐渐提高&#xff0c;自学软件测试要尽快而且入行后需要持续学习。保持好心态&#xff0c;找准教程&#xff0c;按照学习路线和自己的规划一步步学习下去~ 软件测试对代码的要求不像其他编程学科那么高&#x…

30个精品Python练手项目

随着 Python 语言的流行&#xff0c;越来越多的人加入到了 Python 的大家庭中。到底为什么这么多人学 Python &#xff1f;我要喊出那句话了&#xff1a;“人生苦短&#xff0c;我用 Python&#xff01;”&#xff0c;正是因为语法简单、容易学习&#xff0c;所以 Python 深受大…