简介
本项目主要包括了外卖订餐系统(在线订餐和外卖配送)、厨艺论坛系统、管理员后台、用户中心等功能。用户注册后可以选择餐桌在线点餐支付,也可以选择外卖配送到家的方式。
演示视频 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所示