第18期2023年9月无线互联科技
Wireless Internet Technology
No.18
September,2023
作者简介:施海涛(2001 ),男,湖南醴陵人,学士;研究方向:计算机科学与技术㊂
基于Java 的连锁餐饮管理系统设计
施海涛
(湖南科技学院信息工程学院,湖南永州425199)
摘要:随着互联网技术的飞速发展,餐饮行业也迎来了有力的发展契机㊂文章采用Java 技术构建了一个连锁餐饮管理系统,系统采用的Web 服务器是Tomcat ,开发平台是Eclipse ㊂在整个开发过程中,首先对餐饮管理系统进行需求分析,得出系统的主要功能和总体框架㊂接着对系统进行相关技术分析和设计实现,相关技术主要包括界面展示层㊁业务逻辑层和数据访问层技术㊂系统的具体实现包括餐饮App 主页面㊁购物车模块和消费场景模块㊂最后对系统进行总结,用户可在该系统进行订餐㊁消费场景订购和双主场选择等操作㊂
关键词:Java ;餐饮;管理系统;Eclipse ;Web 中图分类号:TP311㊀㊀文献标志码:A
0㊀引言
㊀㊀由于人们生活方式的不断进步,越来越多的人开始追求便捷高效㊁足不出户的网络生活,在餐饮上
只要通过手机App 进行快餐点单,餐饮企业便能与用户进行供需交流,实现了互联网餐饮模式的开拓[1-2]㊂近几年来,陆续推出的几款利用手机App 形式进行外卖点单的系统,其中饿了么㊁百度外卖和淘宝口碑外卖是当前比较热门的应用软件[3-4]㊂本文基于上述餐饮软件,尝试从新的角度设计实现一款连锁餐饮管理系统㊂
1㊀分析与设计
1.1㊀需求分析与总体框架
㊀㊀通过前期调研,笔者对互联网上的餐饮管理进行了需求分析,了解到目前餐饮系统在供求㊁技术等方面存在的问题㊂一方面,大部分餐饮管理系统并没有实现线上线下双主场,要么针对堂食,要么只有外卖,没有零售和外带的模式㊂随着消费的碎片化和时段的随机性,餐饮企业的餐点不再像过去那样泾渭分明,而是变得更加灵活㊂疫情更是催化外卖成为重要的分发方式,经营好餐饮管理系统的双主场成为基本能力模型,让系统实现涉及堂食㊁外卖㊁外带㊁零售等多种业态才是正确的技术方向㊂另一方面,人们在餐饮管理系统点餐时,没有用餐场景的选择,包括在家㊁到店㊁办公室㊁便利店㊁野外露营等㊂消费者对产品形态的需求多样化,情感和体验需求也有所增加㊂为了满足需求,在餐饮管理系统的设计和实现中,应该让餐饮品类融合发展,提供多样化体验,让品类之间界
限清晰,提供必要的技术服务㊂为缓解这一难题,笔
者开发的系统提供对同一用户个性化点餐的信息化管理,此设计极大提升了用户点餐的体验,增加了餐饮行业的利润,有助于解决上述就餐难题㊂本系统的基本框架如图1所示㊂
图1㊀连锁餐饮管理系统的总体框架
1.2㊀系统的相关技术分析
㊀㊀本文实现的连锁餐饮管理系统,前端主要采用Webpack 搭建Vue 框架,后端Web 服务器采用node.js 的MVVM 开发模式,以及Mongodb 数据库等相关技术㊂系统的开发工具是Tomcat 和Eclipse㊂
1.2.1㊀界面展示层技术
㊀㊀在界面展示层,笔者使用Webpack 来搭建一个Vue -cil 框架㊂具体方法是,首先安装Webpack 的环
境,搭建开发和生产环境,创建一个生产环境和开发环境分开的结构㊂其次,创建这个结构需要webpack.
base.js㊁webpack.dev.js㊁webpack.prod.js3个文件㊂分别用来放置Webpack公共文件㊁开发环境所需要的配置㊁生产环境所需要的配置等信息㊂还需要public/ index.html㊁src/main.js两个文件,分别代表一个html 模板文件和一个webpack的入口文件㊂最后,在3个文件中做配置㊂在公共文件中配置entry打
包入口文件和output打包出口文件以及安装HtmlWebpackPlugin插件处理打包后的html文件㊂在webpack.dev.js文件中配置开发环境,引入公共文件安装webpack-merge㊁webpack-dev-server插件,将此文件合并到公共文件中并开启本地服务㊂在webpack.prod.js文件中配置生产环境,引入公共文件并安装webpack-merge㊁clean-webpack-plugin插件,将此文件合并到公共文件中㊂笔者针对每次打包都会清除上一次的缓存文件㊂当这些基础设施搭建好后,即可构建系统所需的业务逻辑层框架㊂
1.2.2㊀业务逻辑层技术
㊀㊀业务逻辑分为两个模块,一个是管理员模块,一个是商家模块㊂不同的角进入的业务管理层界面有所不同,这个功能主要通过全局的导航定位BeforeEach技术来实现㊂用户登录之后,系统直接获取带有用户信息的token字段,将用户的信息储存到VueX状态管理工具中㊂如果没有token字段,会重新跳转到登录页㊂然后,检查用户信息的角字段,通过用户的角来动态生成用户角可以访问的路由,路由里面的字段可以控制管理系统左边的导航信息㊂有些界面只有管理员才会显示,有些界面只有商家才会显示㊂管理系统主要用来管理商家餐饮的审核㊁商家的权限等㊂商家使用管理系统主要是用来上传餐饮信息㊁编辑修改信息等㊂
1.2.3㊀数据访问层技术
㊀㊀本系统的数据访问层主要涉及数据库中数据表的设计㊂在餐饮管理系统中,所有数据的访问都要以
登录为基础㊂商家登录后,根据账号权限会进入商家界面,可以通过点击最上方的查询按钮来搜餐饮,点击新增按钮增加餐饮,点击单条餐饮编辑按钮编辑餐饮信息㊂因为数据是重要的信息资源,所以上传过的餐饮不允许删除,点击删除后不会显示在客户端,但是还会留在数据库中,只是将餐饮状态置位-1㊂管理员登录账号后,可以在餐饮列表查看所有餐饮,如果商家上传的餐饮信息合格,则可以通过点击审核按钮给予通过㊂管理员点击左侧用户管理,可以查看并管理所有的商户㊂如商户有违规行为,可以通过点击禁用按钮禁止操作,还可以通过点击新增按钮,在弹出的提示框中添加用户信息,也可以通过点击搜索按钮来查询商家的信息㊂
笔者针对具体的需求,将系统设计为8个基本数据表模型,分别是用户集合模型㊁餐饮品类模型㊁购物车模型㊁消息集合模型㊁消费场景模型㊁多主场模型㊁角分类模型和数据分析模型㊂
2 连锁餐饮管理系统的实现
㊀㊀系统具体的硬软件环境设计如下㊂要实现移动端App项目的功能,首先需要一个支持Vue技术的框架以及运行JS环境的平台㊂因此,笔者在上述技术基础上搭建了一个Webpack-Vue框架,并在Vue框架上安装移动端App平台的组件库和后端管理系统的组件库㊂在安装好Node和Koa框架后,后端即可连接数据库,并实现数据库接口等功能㊂其次,笔者在后端创建MongoDB数据库集合模型,将接口传入数据并自动创建数据库集合㊂最后,笔者在安装好Git后,将每次修改的代码上传到云仓库储存,方便查看每次代码的修改,避免失误操作㊂
2.1㊀餐饮App主页面的实现
㊀㊀移动端App的界面效果主要是由Vant-ui组件库实现,在Visual studio Code搭建好Vue框架之后,即可开始使用组件库界面的渲染以及动态交互㊂当用户直接打开移动端,即可直接跳转到首页㊂笔者设计移动端App用户的登录验证是token的鉴权方式㊂服务端通过Jwt的Createtoken方法在登录方获取用户的信息,生成token,然后在需要token鉴权的路由上添加路由鉴权Checktoken方法,在HTTP请求头信息中带上token㊂每次HTTP请求服务端都会反解析token信息从而获取用户信息㊂只有通过Jwt反解析token成功的路由,才能成功访问请求路径㊂当用户通过点击不同的路由跳转到不同的页面时,登录注册验证以及路由跳转页面有不同的操作流程㊂
2.2㊀购物车模块的实现
㊀㊀购物车是整个模块当中逻辑最复杂的模块,涉及价格的计算㊁餐饮和餐饮场景的全选或者单选㊁餐饮数量的选择以及地址的选择等,每一次选择之后都要重新计算餐饮的价格㊂当用户选择好餐饮之后,确认自己的收货地址,点击提交订单即可结算这个订单㊂购物车的更新价格总数的核心代码如下所示㊂static async updCartCount(ctx){
let{cart_id,new_num}=quest.query await cartModel.updateOne({_id:cart_id}, {num:new_num})
ctx.body={err:0,msg:'success',data:}
static async submitCart(ctx){
const arr=ids.split(';').filter(ele=>ele)}}
如果地址不正确,用户可以通过点击修改地址进入地址修改页面,然后选择想要送达的地址㊂如果所有的地址里面不包含用户想要送达的地址,可以通过点击新增地址进入到新增地址页面,填写好必填基本信息,通过地区选择框选择地址,系统会对所有的信息进行前端校验,验证通过保存修改即可㊂
2.3㊀消费场景模块的实现
㊀㊀此模块的设计是从新的角度出发,考虑用户对消费场景的体验而增加的功能模块㊂实现的主要方法是采用Eclipse的API流程为接口定义,注解参数,验证Retrofit2.0网络框架㊂如果场景渲染失败,则继续验证;如果场景渲染成功,则结束㊂而且,在管理员登录后台之后,可进入首页左边的导航菜单栏下点击消费场景模块进行场景管理㊂管理员可以在该模块对场景分类的基本信息进行增删改查的操作㊂比如要修改或删除场景的信息时,只需要点击该条场景信息最后的修改和删除按钮即可完成对应的操作功能㊂点击该场景信息最后的详情按钮可以查看该场景的信息详情㊂在页面上方的搜索框中填入场景分类名可以对场景分类的信息进行查询操作㊂搜索框下方的添加场景分类的按钮,点击此按钮可以进行添加场景的功能操作㊂
webpack打包流程 面试3 结语
㊀㊀本文设计实现的连锁餐饮管理系统采用了稳定性强的Vue框架,从而改善了系统的性能,提高了系统的维护性,优化了用户体验㊂平台的网页设计合理,简洁大方,标注合适的提示,方便用户进行各种餐饮㊁消费场景和双主场等功能的操作,不存在过多的广告㊁活动等信息㊂系统设计符合软件Web工程设计的基本流程㊂
参考文献
[1]项春,李少琼,谷鑫.跨园区在线餐饮一体化管理系统的设计与应用[J].中国医院建筑与装备,2022 (3):55-59.
[2]钟良堂,谭昊,廖瑾睿,等.基于图像识别的智慧餐饮管理系统[J].信息与电脑,2022(6):175-179. [3]张金凤.餐饮管理系统的统计模块设计[J].福建电脑,2022(9):90-93.
[4]张健.餐饮系统的设计与实现[J].信息与电脑, 2021(8):135-138.
(编辑㊀沈㊀强)
Design of chain catering management system based on Java
Shi Haitao
School of Information Engineering Hunan University of Science and Engineering Yongzhou425199 China
Abstract With the rapid development of Internet technology the catering industry has also ushered in a strong development opportunity.This paper uses Java technology to build a chain catering management system.The Web server used in the system is Tomcat and the development platform is Eclipse.In the whole development process first of all the demand analysis of the catering management system is carried out and the main functions and overall framework of the system are obtained.Then the related technical analysis and design of the system are carried out. Related technologies mainly include interface display layer business logic layer and data access layer technology.The specific implementation of the system includes the main page of the catering App the shopping cart module and the consumption scene module.Finally the system is summarized and users can order food order consumption scene and double home selection in the system.
Key words Java catering management system Eclipse Web