基于Java的连锁餐饮管理系统设计

2023-11-30 22:03施海涛
无线互联科技 2023年18期
关键词:餐饮管理系统

作者简介:施海涛(2001— ),男,湖南醴陵人,学士;研究方向:计算机科学与技术。

摘要:随着互联网技术的飞速发展,餐饮行业也迎来了有力的发展契机。文章采用Java技术构建了一个连锁餐饮管理系统,系统采用的Web服务器是Tomcat,开发平台是Eclipse。在整个开发过程中,首先对餐饮管理系统进行需求分析,得出系统的主要功能和总体框架。接着对系统进行相关技术分析和设计实现,相关技术主要包括界面展示层、业务逻辑层和数据访问层技术。系统的具体实现包括餐饮App主页面、购物车模块和消费场景模块。最后对系统进行总结,用户可在该系统进行订餐、消费场景订购和双主场选择等操作。

关键词:Java;餐饮;管理系统;Eclipse;Web

中图分类号:TP311  文献标志码:A

0  引言

由于人们生活方式的不断进步,越来越多的人开始追求便捷高效、足不出户的网络生活,在餐饮上只要通过手机App进行快餐点单,餐饮企业便能与用户进行供需交流,实现了互联网餐饮模式的开拓[1-2]。近几年来,陆续推出的几款利用手机App形式进行外卖点单的系统,其中饿了么、百度外卖和淘宝口碑外卖是当前比较热门的应用软件[3-4]。本文基于上述餐饮软件,尝试从新的角度设计实现一款连锁餐饮管理系统。

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.js 3个文件。分别用来放置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 }=ctx.request.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网络框架。如果场景渲染失败,则继续验证;如果场景渲染成功,则结束。而且,在管理员登录后台之后,可进入首页左边的导航菜单栏下点击消费场景模块进行场景管理。管理员可以在该模块对场景分类的基本信息进行增删改查的操作。比如要修改或删除场景的信息时,只需要点击该条场景信息最后的修改和删除按钮即可完成对应的操作功能。点击该场景信息最后的详情按钮可以查看该场景的信息详情。在页面上方的搜索框中填入场景分类名可以对场景分类的信息进行查询操作。搜索框下方的添加场景分类的按钮,点击此按钮可以进行添加场景的功能操作。

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, Yongzhou 425199, 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

猜你喜欢
餐饮管理系统
基于James的院内邮件管理系统的实现
可怕的餐饮外卖
制止餐饮浪费,从你我做起
基于LED联动显示的违停管理系统
海盾压载水管理系统
在餐饮外企挥洒精彩人生
送外卖送出的“餐饮淘宝”
基于RFID的仓储管理系统实现