指南
💞当前专栏:安卓程序设计
精彩专栏推荐👇🏻👇🏻👇🏻
💎:Asp.net程序设计
📘:java控制台课程设计
🎈:php课程设计
🎀:微信小程序设计
🕹:python程序设计
🚀:JavaWeb程序设计
🧩:SpringBoot程序设计
🎗:javaSwing程序设计
⛳️:javaSwing游戏设计
🌍:Vue+Node程序设计
🌟:安卓程序设计
🎃:C#程序设计
📕:C++程序设计
💞:C语言程序设计
咨询
见下方二维码
摘要
本系统的开发和运行将会给人们的用餐带来巨大的便捷,使得用餐摆脱了时间和空间的限制。本系统内部后台采用Java开发,系统的总体划分为前端和后端。前端模块主要是用来展示现相关的订餐页面和餐点的数据渲染;后端则主要体用一些业务和逻辑上的处理服务。课题将运用电子商务系统规划设计与分析理论,项目管理理论,Push技术理论等。对中国点餐系统的运营模式发展的基础上,设计一套切实可行的点餐系统。
第3章点餐平台系统分析
3.1需求概述
随着社会的进步发展,传统餐饮行业也收到了互联网技术的冲击。传统线下都是开门待客或者是电话预约,每当在中午、下午等饭点时间就出现餐厅无法应付的场面,为了最大努力的满足用户的吃饭需求和餐厅老板的营业需求,特此设计一款在线订餐系统帮助用户实现远程点餐,同时为用户和餐厅都节省了时间成本。
3.2功能需求分析
针对不同用户需求,本系统主要划分了两类用户用例,主要有用户和管理员组成,每一组不同的用例都包含了不同的系统模块和使用权限。
3.2.1用户用例需求分析
(1)系统遵循开放模式,注册用户可以按照自己的需要查看配件和账单结算;未注册用户也可以任意查看,但在生成订单时要求正式登陆系统。
(2)菜品信息主要包括编码、名称、类型、活动、描述和图片等。
(3)提供查询功能,可实现关键字模糊查询,按照类别和活动查询。
(4)购物车中要清楚显示编码、名称、价格和数量,并显示总价格。
(5)为了方便用户的操作,可以直接在购物车中删除配件,如果用户想继续购买,通过点击该连接可再次购买,更新数量。
(6)用户在关闭浏览器之前,可随时查看自己的购物车,并可随时下订单。
(7)用户可以查看自己的订单,并且可以更改订单状态。
用户用例图如图3-1所示。
系统用户的功能用例分析下表3-1所示:
表3-1 用户信息表
项目 内容
用例名称 用户功能用例
用例描述 用户可以实现对系统内部登录、注册、个人信息、在线订餐等功能
参与者 用户
状态 使用系统内部的功能模块
前置条件 成功登录系统
后置条件 退出系统
基本操作流程 用户登录之后进入系统,然后就可以在系统内部进行商品浏览,然后可以选择商品进行在线订餐
可选操作流程 退出系统结束本次流程
假设 用户完成了系统内部的功能流程
3.2.2管理员用例需求分析
(1)管理员拥有最大权限,可以进入管理页面并配置系统信息。
(2)管理员可以管理会员,对用户信息进行删除。
(3)管理员可以随时更新菜品信息,上传新菜品,以及删除菜品。
(4)管理员查看订单,并更新订单状态。
管理员用例图如图3-2所示。
第4章系统的详细设计
4.1系统架构
系统功能模块结构图反映了在线订餐系统的系统功能模块的划分,本系统的主要是实现了两个用例模块一个是用户端另一个是管理员端。
(1)管理员端:
用户信息管理:实现了对系统内部用户信息的管理。
商品管理:实现了对系统内部商品信息的管理。
订单管理:实现了对系统内部用户的订单信息的管理。
登录功能:实现了管理员账号和密码的验证。
分类管理:实现了对系统内部商品菜品信息的分类管理。
(2)用户端:
用户登录:验证了用户的账号和密码的匹配性并对用户进行分流。
用户注册:实现了游客用户的账号注册。
商品浏览:实现了对商品信息的浏览和查看。
购物车:实现了对商品信息的结算操作,添加至购物车等功能。
商品购买:实现了对商品信息的下单购买操作。
个人信息管理:实现了对个人信息的管理。
系统总体功能结构图,如图4-1所示,
4.2系统主要模块功能设计
4.2.1登录模块分析
在系统内部进行若干的操作都需要是在登录状态下所操作的,因为只有用户在登录之后系统才可以获取到当前用户的基本信息并根据用户的基本信息来操作相关的业务流程。具体的登录流程图如图4-2所示。
4.2.2订餐模块分析
当用户完成登录操作之后进入到系统主界面就可以在系统内部进行点餐和查看,订餐模块的功能图如下图4-3所示。
数据库
4.3.2物理设计
物理设计是确定数据库内部表格结构的大小,变量类型的以及存储的数据引擎。系统内部的数据信息表字段都是具有一定的现实意义,都代表这不同的数据含义,具体的数据表表格字段的设计如下所示。
用户信息表如表4-1所示。
表4-1 用户信息表
字段名 说 明 类 型 长 度 可否为空 主键
Id 用户编号 varchar2 20 否 是
Name 账号 varchar2 20 否 否
Password 用户密码 varchar2 20 是 否
Status 状态 varchar2 20 是 否
Address 地址 varchar2 20 是 否
Phone 手机 varchar2 11 否 否
权限信息表如表4-2所示。
表4-2 权限信息表
字段名 说 明 类 型 长 度 可否为空 主键
Id I varchar2 50 否 是
Name 权限名 varchar2 20 否 否
Description 描述 varchar2 50 否 否
产品信息表如表4-3所示。
表4-3 产品信息表
字段名 说 明 类 型 长 度 可否为空 主键
Id id varchar2 100 否 是
name 名称 varchar2 99 否 否
Price 价格 Double 4000 否 否
Zan 点赞数 Int 100 否 否
Number 库存 Int 20 否 否
Image_url 封面 varchar2 30 否 否
Description 描述 Varchar2 100 否 否
管理员信息表如表4-4所示。
表4-4 管理员信息表
字段名 说 明 类 型 长 度 可否为空 主键
Id ID varchar2 20 否 是
Password 管理员密码 varchar2 20 否 否
Name 账号 Varchar2 20 否 否
评论信息表如表4-5所示。
表4-5评论信息表
字段名 说 明 类 型 长 度 可否为空 主键
Id 评论id Varchar2 100 否 是
Content 内容 Varchar2 1000 否 否
create_time 发表时间 Datetime 100 否 否
PubilishId 发表人id Varchar2 99 否 否
第5章点餐平台的实现
5.1点餐平台前台实现
5.1.1点餐平台登录界面
登录界面实现了用户的验证,在该模块要对所有的访问者进行身份验证,通过了验证才可以进入系统。如图5-1所示。
系统后台服务器通过/backLogin接口来处理和接受用户的基本请求,注册核心代码如下图5-2所示。
5.1.2点餐平台注册页面
注册页面的实现主要是在前端设置一个form表单,用户将个人信息进行填写然后点击注册按钮来进行注册。用户注册时系统后台会检查用户所填写的账号是否已经注册过了,如果已经注册过了,那么就会提醒用户该想用户已经注册过,需要重新进行填写。如图5-3所示。
系统内部的注册接口为:“/registerUser”,实现了对用户注册业务逻辑的判断。
如下图5-4所示。
5.1.3点餐平台主页
当用户登录成功之后就会进入到系统的主界面,订餐界面主要流程是用户在系统主页开始选择所要选择的食品、饮料然后加入购物车最后统一在购物车之内进行结算处理。如图5-5所示。
5.1.4点餐平台菜品搜索
用户进入系统可以在顶部的搜索框内输入具体的菜品信息或者输入模糊的查询关键字也可以。然后点击放大镜图标即可进行菜品的搜索。如图5-6所示。
菜品搜索主要是通过模糊查询进行搜索的,利用MySQL提供的concat函数、‘%’占位符和like关键字进行模糊匹配,将查询到的结果集合映射到productResultMap中,从而实现查询结果的结果集映射。核心代码如下图5-7所示。
5.1.5点餐平台菜品详情
用户点击要选择是商品之后进入商品的详情页面来进行查看商品的具体信息。其中包含了对该商品的介绍信息,评价,价格,库存等等。用户可以选择数量并进行加入购物车。之后再购物车中统一进行结账下单。如图5-8所示。
菜品详情主要是通过ID来进行传值,利用select语句根据菜品的ID将其数据信息从MySQL数据库中查询而出,然后将结果赋值给Product类。
如下图5-9所示。
5.1.6点餐平台购物车界面
用户将所有的商品都加入到购物车当中之后就可以对商品进行结账下单,并且在下单的时候需要填写用户的收货地址,收货人信息,手机号等。然后选择支付方式来进行支付,支付成功之后就会生成订单信息。如图5-10所示。
购物车功能需要利用临时变量根据用户的ID去查询暂留在购物车之中的商品信息,通过合并查询可以快速的显示用户的购物车信息,通过POST方法请求服务器后台,并将数据结果通过视图信息转发到前台界面当中。如下图5-11所示。
5.1.7点餐平台订单界面
用户在下单之后就会自动生成关于订单的信息,然后可以在订单界面查看刚才的下单,此外还可以在这里查看到当前的订单送货情况以及个人的地址信息,如图5-12所示。
个人订单信息也是依照select语句根据用户ID来查询而出的,将List结果集中的数据信息打包传入到order实体当中,通过HTTP请求发送至前台界面进行渲染。如下图5-13所示。
5.2点餐平台后台实现
5.2.1点餐平台分类界面
分类界面包含了对系统内部餐品信息的管理和维护,如图5-14所示。
5.2.2点餐平台用户界面
用户管理界面实现了对用户的个人信息的管理。其中主要展示了系统内部的所有用户的基础信息(id,用户名,密码,地址,手机,等级)此外还提供了删除操作、改变用户等级操作。如图5-15所示。
通过select函数查询系统用户信息,然后利用JSON格式将其初始化在前台中,通过函数是实现对用户操作接口的渲染。如下图5-16所示。
5.2.3点餐平台菜品管理界面
管理员可以在后台对系统内部所有展示的菜品信息进行管理操作,后台系统提供了对菜品信息的添加、删除搜索等操作。如图5-17所示。
菜品信息管理也是通过服务器的数据查询得到的。SQL语句执行完毕之后们可以查找到数据的结果集,然后利用JSON格式进行传递。如下图5-18所示。
5.2.4点餐平台订单管理界面
订单模块提供了对订单信息的查看、发货等操作,管理员可以在后台对订单的状态信息进行修改操作,如图5-19所示。
订单管理首先先将所有的订单信息查询出来,然后通过设置click触发时间,通过点击按钮来触发管理事件,以使用系统的功能。如下图5-20所示。
开发文档
开发语言:Java
框架:springboot
JDK版本:JDK1.8
服务器:tomcat7
数据库:mysql 5.7(一定要5.7版本)
数据库工具:Navicat11
开发软件:eclipse/myeclipse/idea
Maven包:Maven3.3.9
浏览器:谷歌浏览器
配置环境安装包:
Java配置环境链接:https://cloud.189.cn/t/baeQZrAjEvyy (访问码:pfd5)
后台路径地址:localhost:8080/项目名称/admin/dist/index.html
前台路径地址:localhost:8080/项目名称/front/dist/index.html (无前台不需要输入)
管理员账号:admin
管理员密码:admin