餐饮管理系统-计算机毕业设计源码43667

餐饮管理系统

摘 要

在信息化、数字化的时代背景下,餐饮行业面临着前所未有的挑战与机遇。为了提高运营效率、优化顾客体验,餐饮企业亟需一套高效、稳定且灵活的管理系统来支撑其日常运营。基于Spring Boot的餐饮管理系统应运而生,成为餐饮行业数字化转型的重要工具。

Spring Boot以其简化的配置、快速的开发部署以及良好的扩展性,为餐饮管理系统的构建提供了强大的技术支撑。通过整合仓库信息管理、菜系分类管理、菜品信息管理、菜品预订管理、点餐订单管理以及订单结算管理等核心功能,该系统能够帮助餐饮企业实现全面的业务管理,提高运营效率,降低运营成本。

此外,基于Spring Boot的餐饮管理系统还具备良好的用户体验和交互性。顾客可以通过系统轻松浏览菜品、在线预订、下单支付,享受更加便捷、高效的用餐体验。同时,系统也提供了丰富的数据分析和报表功能,帮助餐饮企业更好地了解顾客需求、优化菜品结构、提升服务质量。

综上所述,基于Spring Boot的餐饮管理系统是餐饮行业数字化转型的得力助手。它不仅能够提升餐饮企业的运营效率和服务质量,还能够为顾客带来更加便捷、舒适的用餐体验。随着技术的不断发展和完善,相信该系统将在未来为餐饮行业带来更多的创新和变革。

关键词:餐饮管理系统;Java;Spring Boot框架

Catering management system

Abstract

In the context of informatization and digitization, the catering industry is facing unprecedented challenges and opportunities. In order to improve operational efficiency and optimize customer experience, catering enterprises urgently need an efficient, stable, and flexible management system to support their daily operations. The catering management system based on Spring Boot has emerged as an important tool for the digital transformation of the catering industry.

Spring Boot provides powerful technical support for the construction of catering management systems with its simplified configuration, fast development and deployment, and good scalability. By integrating core functions such as warehouse information management, dish classification management, dish information management, dish reservation management, ordering order management, and order settlement management, this system can help catering enterprises achieve comprehensive business management, improve operational efficiency, and reduce operational costs.

In addition, the catering management system based on Spring Boot also has a good user experience and interactivity. Customers can easily browse dishes, make online reservations, place orders and make payments through the system, and enjoy a more convenient and efficient dining experience. At the same time, the system also provides rich data analysis and reporting functions, helping catering enterprises better understand customer needs, optimize dish structure, and improve service quality.

In summary, the catering management system based on Spring Boot is a powerful assistant for the digital transformation of the catering industry. It can not only improve the operational efficiency and service quality of catering enterprises, but also bring customers a more convenient and comfortable dining experience. With the continuous development and improvement of technology, we believe that this system will bring more innovation and change to the catering industry in the future.

Key words:Catering management system; Java; Spring Boot framework

目  录

第1章 绪论

1.1 研究背景与意义

1.2 国内外研究现状

1.3 论文组成结构

第2章 系统分析

2.1 可行性分析

2.1.1 技术可行性

2.1.2 经济可行性

2.1.3 操作可行性

2.2 需求分析

2.3 性能分析

2.4 系统用例分析

2.5 系统流程分析

第3章 系统设计

3.1 系统架构设计

3.2 系统功能结构

3.3 数据库设计

3.3.1 数据库E-R图设计

3.3.2 逻辑结构设计

第4章 系统实现

4.1 普通用户模块的实现

4.1.1 前台首页界面

4.1.2 用户注册界面

4.1.3 用户登录界面

4.1.4 餐饮资讯界面

4.1.5 菜品信息界面

4.2 管理员功能模块的实现

4.2.1 管理员登录界面

4.2.2 管理员功能界面

4.2.3 系统用户管理界面

4.2.4仓库信息管理界面

4.2.5 系统管理界面

4.2.6公告消息管理界面

4.3 前台人员功能模块的实现

4.3.1菜品预订管理界面

4.3.2点餐订单管理界面

4.4 后厨人员功能模块的实现

4.4.1菜品预订管理界面

4.4.2点餐订单管理界面

第5章 系统测试

5.1系统测试的目的

5.2 系统测试用例

5.3 系统测试结果

第6章 总结与展望

参考文献

致谢

  1. 绪论
    1. 研究背景与意义

餐饮管理系统,作为现代餐饮业的核心支撑工具,其研究背景与意义深远而广泛。随着科技的飞速发展和人们生活水平的持续提升,餐饮业正面临着前所未有的变革与机遇。在这一背景下,餐饮管理系统的研究与应用显得尤为重要。

从研究背景来看,餐饮行业正逐渐从传统的经营模式向数字化、智能化转型。传统的餐饮管理方式往往依赖于人工操作和纸质记录,效率低下且容易出错。而随着消费者需求的日益多样化和个性化,餐饮企业急需一种高效、准确的管理方式来应对市场的快速变化。此外,随着互联网和移动设备的普及,线上预订、在线支付等新型消费模式也逐渐成为主流,这进一步推动了餐饮管理系统的研发与应用。

在意义方面,餐饮管理系统的研究与应用对于提升餐饮企业的运营效率、降低成本、优化顾客体验等方面具有显著作用。通过系统化的管理,餐饮企业可以实现对食材采购、库存管理、菜品制作、销售等各个环节的精准把控,从而确保食材的新鲜度、提高菜品的制作效率、减少浪费和损耗。餐饮管理系统还可以帮助企业更好地了解顾客需求和消费习惯,通过数据分析和挖掘,为企业的菜品创新、营销策略制定等提供有力支持。最后,通过优化顾客的点餐、支付等流程,餐饮管理系统可以大大提升顾客的用餐体验,增强顾客的忠诚度和口碑传播。

综上所述,餐饮管理系统的研究与应用是餐饮业发展的必然趋势,也是提升餐饮企业竞争力和可持续发展的关键所在。随着技术的不断进步和创新,相信未来餐饮管理系统将为餐饮业带来更多的惊喜和变革。

    1. 国内外研究现状

在国内,随着餐饮行业的快速发展和市场竞争的加剧,餐饮企业对于高效、精准的管理系统的需求日益迫切。国内的研究机构和企业纷纷投入大量资源进行餐饮管理系统的研发与创新,以满足市场的多样化需求。这些系统不仅涵盖了仓库信息管理、菜系分类管理、菜品信息管理、菜品预订管理、点餐订单管理、订单结算管理等基础功能,还通过引入大数据、人工智能等先进技术,实现了更加智能化、个性化的服务。例如,一些先进的餐饮管理系统能够通过对消费者行为的分析,为餐饮企业提供精准的营销策略和菜品推荐,从而提升顾客满意度和忠诚度。

在国际上,餐饮管理系统的研究与应用同样取得了显著的进展。发达国家在餐饮管理系统的技术研发、应用推广等方面具有较高的水平,一些国际知名的餐饮管理软件厂商提供了全面的解决方案,涵盖了从前端点餐到后端供应链管理的全流程。同时,这些系统也注重与物联网、云计算等前沿技术的融合,为餐饮企业提供了更加便捷、高效的管理工具。

然而,尽管餐饮管理系统在国内外的研究与应用取得了一定的成果,但仍然存在一些挑战和问题。例如,系统的稳定性和安全性需要得到进一步保障,同时,随着消费者需求的不断变化和技术的快速发展,餐饮管理系统也需要不断更新和升级,以适应市场的变化。

综上所述,餐饮管理系统在国内外的研究与应用均呈现出积极的发展态势,但仍需不断完善和创新,以更好地满足餐饮企业的需求,推动餐饮行业的持续发展。

    1. 论文组成结构

根据市场调研得到的信息数据,结合国内外前沿研究,利用相关系统开发和设计方法,最终设计出餐饮管理系统。

本文共有七章,如下所示。

第一章概述了餐饮管理系统的研究背景和意义;精炼地总结了国内外研究情况和未来的研究趋势,最后给出了论文的组成结构。

第二章简要对系统各业务流程进行需求分析、可行性分析。

第三章对餐饮管理系统进行设计。

第四章对餐饮管理系统进行实现,并贴出相关页面截图,语言描述出具体功能实现的操作方法。

第五章对餐饮管理系统采用测试用例的方式来对一些主要功能模块测试,最后得出测试结果。

第六章总结全文并对未来的研究做出展望。

  1. 系统分析
    1. 可行性分析

在软件开发的过程中系统的可行性分析是必不可少的,可行性的研究就是评估问题是否能得到解决并且是要以最少的时间和最少的代价来解决。为实现上面的目标还要必须考虑到解决这些问题的方法的优点和缺点,还要考虑到实现了这些系统规模的开发带来的经济效益。这里可以用技术的可行性,操作的可行性,经济的可行性对我们的系统进行可行性的研究。餐饮管理系统的可行性分析如下所示:

      1. 技术可行性

餐饮管理系统采用Spring Boot框架进行开发,在技术上是完全可行的。Spring Boot以其简洁、快速和高效的特点,为系统的开发和部署提供了强大的支持。它集成了众多成熟的技术和组件,使得开发者能够专注于业务逻辑的实现,而无需过多关注底层技术的细节。同时,Spring Boot还提供了丰富的文档和社区支持,使得开发者在遇到问题时能够快速找到解决方案。因此,基于Spring Boot开发餐饮管理系统,不仅技术实现上可行,而且能够确保系统的稳定性和可扩展性,为餐饮行业的运营管理提供可靠的技术保障。

      1. 经济可行性

餐饮管理系统在经济可行性方面展现出显著优势。通过引入该系统,餐饮企业能够实现对各项业务流程的精准把控和高效管理,从而有效降低运营成本、提升运营效率。同时,系统提供的数据分析和预测功能有助于企业做出更明智的决策,优化资源配置,进一步降低经营风险。长远来看,餐饮管理系统的投资回报率高,能够为企业创造持续的价值和竞争优势,因此在经济层面具备高度的可行性。

      1. 操作可行性

本系统是基于浏览器和服务器的餐饮管理系统,系统开发完成之后用户只需要在浏览器中输入正确的URL地址即可进行访问。本系统的前台页面简单明了,在没有操作指导的情况下也可以进行操作,无论是系统管理员还是用户在页面中所有的操作都是在浏览器中完成的,因此只要电脑在有网络的情况下,打开浏览器都能操作。而且在使用之前也不用进行相关的环境配置,因此本系统方便、简单、易于使用,所以该系统是容易并且可操作的。

    1. 需求分析

在设计和开发餐饮管理系统之前,我们进行了详尽的需求分析,旨在确保系统能够精准地满足餐饮企业及其用户群体的实际需求。

明确业务核心:餐饮管理系统应全面覆盖仓库信息管理、菜系分类管理、菜品信息管理、菜品预订管理、点餐订单管理、订单结算管理等核心业务流程。这些流程需要紧密衔接,以确保餐饮企业能够高效、有序地运营。

系统性能与效率:餐饮行业通常面临高峰时段的业务压力,因此系统必须具备高性能和稳定性,能够应对大量并发请求,确保业务流程的顺畅进行。此外,系统还应提供快速的数据处理和分析能力,帮助餐饮企业实时掌握经营情况,做出及时有效的决策。

用户体验与交互:系统界面应设计得直观、友好,易于操作。通过优化用户体验,降低顾客和员工的学习成本,提高操作效率。同时,系统还应支持多种设备接入和支付方式,以满足不同顾客的需求。

数据安全与隐私:餐饮管理系统涉及大量的敏感信息,如顾客资料、交易数据等。因此,系统必须采取严格的数据加密和访问控制措施,确保数据的安全性。此外,系统还应具备完善的备份和恢复机制,以防止数据丢失或损坏。

扩展性与可维护性:随着餐饮业务的不断发展和市场的变化,系统可能需要适应新的业务模式或调整现有功能。因此,在设计系统时,我们充分考虑了扩展性和可维护性,采用模块化设计和灵活的架构,以便在未来能够轻松地添加新功能或进行功能调整。

综上所述,餐饮管理系统的需求分析旨在确保系统能够精准地满足餐饮企业的业务需求,提升企业的运营效率和服务质量。通过优化性能、提升用户体验、保障数据安全以及实现系统的可扩展性和可维护性,我们期待这一系统能够为餐饮企业带来实质性的改进,推动餐饮行业的健康发展。

    1. 性能分析

餐饮管理系统的性能分析是评估系统是否能够满足餐饮企业日常运营需求的关键环节。以下是关于餐饮管理系统性能的主要分析点:

响应速度是评估系统性能的重要指标之一。在餐饮业务中,尤其是在高峰时段,系统需要能够快速响应各种操作请求,如订单处理、菜品更新等。快速的响应速度能够提升顾客满意度,减少等待时间,同时也有助于提高工作效率。

系统的稳定性和可靠性也至关重要。餐饮管理系统需要能够持续稳定运行,避免因系统故障或崩溃导致业务中断。这要求系统具备强大的容错能力和恢复机制,能够在遇到问题时迅速恢复正常运行。

系统的数据处理能力也是性能分析的重要方面。餐饮管理系统需要处理大量的数据,包括订单信息、库存数据、顾客资料等。系统需要能够高效地处理这些数据,确保数据的准确性和实时性,为企业的决策提供有力支持。

易用性和用户友好性也是影响系统性能的关键因素。餐饮管理系统的界面设计应简洁明了,操作流程应简单易懂,以降低员工的学习成本和提高操作效率。同时,系统还应提供完善的帮助文档和客服支持,以便用户在使用过程中遇到问题时能够及时得到解决。

系统的扩展性和可维护性也是性能分析不可忽视的方面。随着餐饮业务的发展和市场的变化,系统可能需要不断升级和扩展以满足新的需求。因此,系统在设计之初就应考虑到未来的扩展性,采用模块化设计等方式以便于后期的维护和升级。

综上所述,餐饮管理系统的性能分析涉及多个方面,包括响应速度、稳定性、数据处理能力、易用性以及扩展性和可维护性等。通过对这些方面的全面评估,可以确保系统能够满足餐饮企业的实际需求,并为企业的发展提供有力支持。

    1. 系统用例分析

餐饮管理系统的完整UML用例图分别是图2-1、图2-2、图2-3和图2-4,在参与者上包括普通用户、前台人员、后厨人员和管理员。

普通用户角色的用例描述:用户通过简单的注册登录,即可畅享系统的各项服务。在首页,用户可以浏览最新的公告消息和餐饮资讯,了解餐厅的最新动态和美食推荐。菜品信息展示丰富多样,方便用户挑选心仪的佳肴。在个人中心,用户可以轻松管理自己的账户信息,查看个人首页、菜品预订、点餐订单、订单结算等详细信息,还能收藏喜爱的菜品,实现个性化的用餐体验。整个系统操作简单直观,满足了普通用户对餐饮服务的多样化需求。

普通用户角色用例如图2-1所示。

图2-1普通用户用例图

管理员角色的用例描述:管理员通过登录系统,可以方便地管理系统用户,确保用户信息的准确性和安全性。同时,系统支持仓库信息管理、菜系分类管理、菜品信息管理等功能,帮助管理员高效管理餐厅的物料和菜品资源。此外,管理员还能轻松进行菜品预订管理、点餐订单管理、订单结算管理,实时监控餐厅的业务情况。系统还提供了轮播图管理、公告消息管理以及餐饮资讯和资讯分类的资源管理功能,帮助管理员灵活发布餐厅动态和资讯,提升品牌形象。整体而言,餐饮管理系统为管理员提供了全方位、高效便捷的管理工具,助力餐厅实现精细化运营。

管理员角色用例如图2-2所示。

图2-2管理员用例图

前台人员角色的用例描述:前台人员通过系统可以迅速更新菜品信息,确保菜单的实时性和准确性;同时,系统支持预订管理,方便前台人员处理顾客的预订需求,提升服务效率。在点餐和订单管理方面,系统简化了操作流程,使前台人员能够迅速处理订单,提高顾客满意度。此外,订单结算管理功能也大大简化了收银流程,提高了工作效率。综上所述,餐饮管理系统为前台人员提供了全面的管理支持,助力他们更好地服务顾客,提升餐厅的整体运营效率。

前台人员角色用例如图2-3所示。

图2-3前台人员用例图

后厨人员角色的用例描述:餐饮管理系统餐饮管理系统为后厨人员提供了菜品预订管理和点餐订单管理的核心功能,极大地提升了后厨的工作效率和准确性。通过系统,后厨人员可以实时查看并处理菜品预订信息,提前准备食材,确保食材的充足和新鲜。同时,点餐订单管理功能使得后厨人员能够迅速获取订单详情,按照顺序进行菜品制作,避免了因信息传递不畅导致的延误或错误。这些功能不仅提高了后厨的响应速度,也确保了顾客订单的准确执行,为餐厅提供了更加稳定、高效的运营支持。

后厨人员角色用例如图2-4所示。

图2-4后厨人员用例图

    1. 系统流程分析

(1)增加数据流程

系统中的所有用户(管理员、普通用户、前台人员和后厨人员)都可以实现增加数据功能,图2-5显示的就是在增加数据时的流程。

图2-5增加数据流程图

(2)修改数据流程

在录入系统信息的时候如果信息有错,可以对系统中的数据进行编辑。图2-6显示的就是修改数据的流程。

图2-6修改数据流程图

(3)删除数据流程

在系统中经常会出现一些过期的数据,那就可以直接删除这些数据,图2-7就是删除数据时的流程图。

图2-7删除数据流程图

  1. 系统设计
    1. 系统架构设计

由于本系统在逻辑事务处理方面对数据库的操作比较频繁所以系统在底层连接数据库时并没有使用原生的JDBC,而是把JDBC进行了封装,封装之后相当于一个连接数据库的工具DB UTIL,这样使用起来会更加方便而且这样进行封装还可以降低系统中代码的冗余,当我们需要连接和使用数据库时只需要调用这个工具里面的一个方法就可以了。而且通过封装可以把对数据库的操作独立起来,当需要连接不同种类的数据库时只需要加以修改就可以达到目的。

DAO层本来并无这个类,它只是java中MVC构造里的一个model概念,主要就是里面的一些方法,而这些方法就是用来访问数据库的方法。我们在软件开发时DAO层我们一般都放接口和接口的实现类,用于来规范实现类的我们叫它接口,实现类重点用于对数据库的操纵。

MVC是一种系统研发的关键模型,M是Model模型,它是系统内部关键程序运行的核心,主要进行对数据库的各种操作。视图View是V也叫做视图,主要的作用是对一些数据进行显示。控制器Controller 是C执行从View的视图层来读取数据,然后控制用户的输入。

系统架构如下图所示。

图3-1系统架构图

    1. 系统功能结构

进入系统后首先要进行登录,验证你的身份,赋予你不同的权限。当你成功登录后,页面会有多个板块,分别是系统用户、仓库信息管理、菜系分类管理、菜品信息管理、菜品预订管理、点餐订单管理、订单结算管理、系统管理(轮播图)、公告消息管理、资源管理(餐饮资讯、资讯分类)等。系统分为普通用户、前台人员、后厨人员和管理员四大模块,里面界面简单易懂,根据标示可以直接进行方便快捷的操作。

系统功能结构图如下所示。

图3-2系统功能结构图

    1. 数据库设计

一个好的系统它的后台数据库一定要考虑的全面,这和我们建造房子一个概念,房子不是随心所欲建起来的,一切都是在合理设计的基础是实现的,地基打牢固了房子才能建的更高。数据库如果设计的很合理,而且每个方面都能考虑到了那么这个系统才能不会出现大的问题。

一个好的数据库可以关系到程序开发的优劣,数据库设计离不开表结构的设计,还有表与表之间的联系,以及系统开发需要设计的数据表内容等信息。在进行数据库设计期间,要结合实际情况来对数据库进行针对性的开发设计。

      1. 数据库E-R图设计

餐饮管理系统采用的是mysql数据库,数据存储快,因为餐饮管理系统,主要的就是对信息的管理,信息内容比较多,这就需要好好的设计一个好的数据库,分类要清楚,不能添加信息的时候,造成信息太过混乱,设计好的数据库首先就需要先把各个实体之间的关系表达明确,

系统的主要实体间关系E-R图如下图所示。

图3-3系统E-R图

      1. 逻辑结构设计

此环节把概念转变成数据。由于整个数据库所处理的信息过多,就只展示以下几个表。

表access_token (登陆访问时长)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

token_id

int

10

0

N

Y

临时访问牌ID

2

token

varchar

64

0

Y

N

临时访问牌

3

info

text

65535

0

Y

N

4

maxage

int

10

0

N

N

2

最大寿命:默认2小时

5

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

6

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

7

user_id

int

10

0

N

N

0

用户编号:

表article (文章:用于内容管理系统的文章)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

article_id

mediumint

8

0

N

Y

文章id:[0,8388607]

2

title

varchar

125

0

N

Y

标题:[0,125]用于文章和html的title标签中

3

type

varchar

64

0

N

N

0

文章分类:[0,1000]用来搜索指定类型的文章

4

hits

int

10

0

N

N

0

点击数:[0,1000000000]访问这篇文章的人次

5

praise_len

int

10

0

N

N

0

点赞数

6

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

7

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

8

source

varchar

255

0

Y

N

来源:[0,255]文章的出处

9

url

varchar

255

0

Y

N

来源地址:[0,255]用于跳转到发布该文章的网站

10

tag

varchar

255

0

Y

N

标签:[0,255]用于标注文章所属相关内容,多个标签用空格隔开

11

content

longtext

2147483647

0

Y

N

正文:文章的主体内容

12

img

varchar

255

0

Y

N

封面图

13

description

text

65535

0

Y

N

文章描述

表article_type (文章分类)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

type_id

smallint

5

0

N

Y

分类ID:[0,10000]

2

display

smallint

5

0

N

N

100

显示顺序:[0,1000]决定分类显示的先后顺序

3

name

varchar

16

0

N

N

分类名称:[2,16]

4

father_id

smallint

5

0

N

N

0

上级分类ID:[0,32767]

5

description

varchar

255

0

Y

N

描述:[0,255]描述该分类的作用

6

icon

text

65535

0

Y

N

分类图标:

7

url

varchar

255

0

Y

N

外链地址:[0,255]如果该分类是跳转到其他网站的情况下,就在该URL上设置

8

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表auth (用户权限管理)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

auth_id

int

10

0

N

Y

授权ID:

2

user_group

varchar

64

0

Y

N

用户组:

3

mod_name

varchar

64

0

Y

N

模块名:

4

table_name

varchar

64

0

Y

N

表名:

5

page_title

varchar

255

0

Y

N

页面标题:

6

path

varchar

255

0

Y

N

路由路径:

7

position

varchar

32

0

Y

N

位置:

8

mode

varchar

32

0

N

N

_blank

跳转方式:

9

add

tinyint

3

0

N

N

1

是否可增加:

10

del

tinyint

3

0

N

N

1

是否可删除:

11

set

tinyint

3

0

N

N

1

是否可修改:

12

get

tinyint

3

0

N

N

1

是否可查看:

13

field_add

text

65535

0

Y

N

添加字段:

14

field_set

text

65535

0

Y

N

修改字段:

15

field_get

text

65535

0

Y

N

查询字段:

16

table_nav_name

varchar

500

0

Y

N

跨表导航名称:

17

table_nav

varchar

500

0

Y

N

跨表导航:

18

option

text

65535

0

Y

N

配置:

19

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

20

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表classification_of_cuisine (菜系分类)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

classification_of_cuisine_id

int

10

0

N

Y

菜系分类ID

2

classification_of_cuisine

varchar

64

0

Y

N

菜系分类

3

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表collect (收藏)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

collect_id

int

10

0

N

Y

收藏ID:

2

user_id

int

10

0

N

N

0

收藏人ID:

3

source_table

varchar

255

0

Y

N

来源表:

4

source_field

varchar

255

0

Y

N

来源字段:

5

source_id

int

10

0

N

N

0

来源ID:

6

title

varchar

255

0

Y

N

标题:

7

img

varchar

255

0

Y

N

封面:

8

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表comment (评论)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

comment_id

int

10

0

N

Y

评论ID:

2

user_id

int

10

0

N

N

0

评论人ID:

3

reply_to_id

int

10

0

N

N

0

回复评论ID:空为0

4

content

longtext

2147483647

0

Y

N

内容:

5

nickname

varchar

255

0

Y

N

昵称:

6

avatar

varchar

255

0

Y

N

头像地址:[0,255]

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

9

source_table

varchar

255

0

Y

N

来源表:

10

source_field

varchar

255

0

Y

N

来源字段:

11

source_id

int

10

0

N

N

0

来源ID:

表dish_information (菜品信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

dish_information_id

int

10

0

N

Y

菜品信息ID

2

dish_name

varchar

64

0

Y

N

菜品名称

3

classification_of_cuisine

varchar

64

0

Y

N

菜系分类

4

price_of_dishes

int

10

0

Y

N

0

菜品价格

5

taste_of_dishes

varchar

64

0

Y

N

菜品口味

6

description_of_dishes

varchar

64

0

Y

N

菜品描述

7

dish_pictures

varchar

255

0

Y

N

菜品图片

8

introduction_to_dishes

longtext

2147483647

0

Y

N

菜品简介

9

praise_len

int

10

0

N

N

0

点赞数

10

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

11

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表dish_reservation (菜品预订)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

dish_reservation_id

int

10

0

N

Y

菜品预订ID

2

dish_name

varchar

64

0

Y

N

菜品名称

3

classification_of_cuisine

varchar

64

0

Y

N

菜系分类

4

price_of_dishes

int

10

0

Y

N

0

菜品价格

5

taste_of_dishes

varchar

64

0

Y

N

菜品口味

6

regular_users

int

10

0

Y

N

0

普通用户

7

user_name

varchar

64

0

Y

N

用户姓名

8

user_phone_number

varchar

64

0

Y

N

用户电话

9

booking_time

date

10

0

Y

N

预订时间

10

booking_quantity

int

10

0

Y

N

0

预订数量

11

booking_amount

varchar

64

0

Y

N

预订金额

12

booking_remarks

varchar

64

0

Y

N

预订备注

13

pay_state

varchar

16

0

N

N

未支付

支付状态

14

pay_type

varchar

16

0

Y

N

支付类型: 微信、支付宝、网银

15

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

16

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表front_desk_staff (前台人员)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

front_desk_staff_id

int

10

0

N

Y

前台人员ID

2

personnel_name

varchar

64

0

Y

N

人员姓名

3

gender_of_personnel

varchar

64

0

Y

N

人员性别

4

age_of_personnel

varchar

64

0

Y

N

人员年龄

5

examine_state

varchar

16

0

N

N

已通过

审核状态

6

user_id

int

10

0

N

N

0

用户ID

7

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表hits (用户点击)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

hits_id

int

10

0

N

Y

点赞ID:

2

user_id

int

10

0

N

N

0

点赞人:

3

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

表kitchen_staff (后厨人员)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

kitchen_staff_id

int

10

0

N

Y

后厨人员ID

2

personnel_name

varchar

64

0

Y

N

人员姓名

3

gender_of_personnel

varchar

64

0

Y

N

人员性别

4

age_of_personnel

varchar

64

0

Y

N

人员年龄

5

examine_state

varchar

16

0

N

N

已通过

审核状态

6

user_id

int

10

0

N

N

0

用户ID

7

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表notice (公告)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

notice_id

mediumint

8

0

N

Y

公告id:

2

title

varchar

125

0

N

N

标题:

3

content

longtext

2147483647

0

Y

N

正文:

4

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

5

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表ordering_orders (点餐订单)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

ordering_orders_id

int

10

0

N

Y

点餐订单ID

2

dish_name

varchar

64

0

Y

N

菜品名称

3

classification_of_cuisine

varchar

64

0

Y

N

菜系分类

4

price_of_dishes

int

10

0

Y

N

0

菜品价格

5

taste_of_dishes

varchar

64

0

Y

N

菜品口味

6

order_number

varchar

64

0

Y

N

订单编号

7

regular_users

int

10

0

Y

N

0

普通用户

8

user_name

varchar

64

0

Y

N

用户姓名

9

user_phone_number

varchar

64

0

Y

N

用户电话

10

order_date

date

10

0

Y

N

点餐日期

11

order_quantity

int

10

0

Y

N

0

点餐数量

12

order_amount

varchar

64

0

Y

N

点餐金额

13

order_notes

varchar

64

0

Y

N

点餐备注

14

order_status

varchar

64

0

Y

N

订单状态

15

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

16

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表order_settlement (订单结算)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

order_settlement_id

int

10

0

N

Y

订单结算ID

2

dish_name

varchar

64

0

Y

N

菜品名称

3

classification_of_cuisine

varchar

64

0

Y

N

菜系分类

4

price_of_dishes

int

10

0

Y

N

0

菜品价格

5

taste_of_dishes

varchar

64

0

Y

N

菜品口味

6

order_number

varchar

64

0

N

N

订单编号

7

regular_users

int

10

0

Y

N

0

普通用户

8

user_name

varchar

64

0

Y

N

用户姓名

9

user_phone_number

varchar

64

0

Y

N

用户电话

10

order_date

date

10

0

Y

N

点餐日期

11

order_quantity

int

10

0

Y

N

0

点餐数量

12

order_amount

varchar

64

0

Y

N

点餐金额

13

order_notes

varchar

64

0

Y

N

点餐备注

14

settlement_date

date

10

0

Y

N

结算日期

15

pay_state

varchar

16

0

N

N

未支付

支付状态

16

pay_type

varchar

16

0

Y

N

支付类型: 微信、支付宝、网银

17

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

18

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表outbound_information (出库信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

outbound_information_id

int

10

0

N

Y

出库信息ID

2

item_name

varchar

64

0

Y

N

物品名称

3

item_type

varchar

64

0

Y

N

物品类型

4

purpose_of_the_item

varchar

64

0

Y

N

物品用途

5

outbound_date

date

10

0

Y

N

出库日期

6

outbound_quantity

int

10

0

Y

N

0

出库数量

7

outbound_remarks

varchar

64

0

Y

N

出库备注

8

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表praise (点赞)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

praise_id

int

10

0

N

Y

点赞ID:

2

user_id

int

10

0

N

N

0

点赞人:

3

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

8

status

bit

1

0

N

N

1

点赞状态:1为点赞,0已取消

表regular_users (普通用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

regular_users_id

int

10

0

N

Y

普通用户ID

2

user_name

varchar

64

0

Y

N

用户姓名

3

user_gender

varchar

64

0

Y

N

用户性别

4

user_age

varchar

64

0

Y

N

用户年龄

5

examine_state

varchar

16

0

N

N

已通过

审核状态

6

user_id

int

10

0

N

N

0

用户ID

7

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表slides (轮播图)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

slides_id

int

10

0

N

Y

轮播图ID:

2

title

varchar

64

0

Y

N

标题:

3

content

varchar

255

0

Y

N

内容:

4

url

varchar

255

0

Y

N

链接:

5

img

varchar

255

0

Y

N

轮播图:

6

hits

int

10

0

N

N

0

点击量:

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表storage_information (入库信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

storage_information_id

int

10

0

N

Y

入库信息ID

2

item_name

varchar

64

0

Y

N

物品名称

3

item_type

varchar

64

0

Y

N

物品类型

4

purpose_of_the_item

varchar

64

0

Y

N

物品用途

5

storage_date

date

10

0

Y

N

入库日期

6

inventory_quantity

int

10

0

Y

N

0

入库数量

7

storage_remarks

varchar

64

0

Y

N

入库备注

8

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表upload (文件上传)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

upload_id

int

10

0

N

Y

上传ID

2

name

varchar

64

0

Y

N

文件名

3

path

varchar

255

0

Y

N

访问路径

4

file

varchar

255

0

Y

N

文件路径

5

display

varchar

255

0

Y

N

显示顺序

6

father_id

int

10

0

Y

N

0

父级ID

7

dir

varchar

255

0

Y

N

文件夹

8

type

varchar

32

0

Y

N

文件类型

表user (用户账户:用于保存用户登录信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

user_id

mediumint

8

0

N

Y

用户ID:[0,8388607]用户获取其他与用户相关的数据

2

state

smallint

5

0

N

N

1

账户状态:[0,10](1可用|2异常|3已冻结|4已注销)

3

user_group

varchar

32

0

Y

N

所在用户组:[0,32767]决定用户身份和权限

4

login_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

上次登录时间:

5

phone

varchar

11

0

Y

N

手机号码:[0,11]用户的手机号码,用于找回密码时或登录时

6

phone_state

smallint

5

0

N

N

0

手机认证:[0,1](0未认证|1审核中|2已认证)

7

username

varchar

16

0

N

N

用户名:[0,16]用户登录时所用的账户名称

8

nickname

varchar

16

0

Y

N

昵称:[0,16]

9

password

varchar

64

0

N

N

密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成

10

email

varchar

64

0

Y

N

邮箱:[0,64]用户的邮箱,用于找回密码时或登录时

11

email_state

smallint

5

0

N

N

0

邮箱认证:[0,1](0未认证|1审核中|2已认证)

12

avatar

varchar

255

0

Y

N

头像地址:[0,255]

13

open_id

varchar

255

0

Y

N

针对获取用户信息字段

14

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

15

vip_level

varchar

255

0

Y

N

会员等级

16

vip_discount

double

11

2

Y

N

0.00

会员折扣

表user_group (用户组:用于用户前端身份和鉴权)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

group_id

mediumint

8

0

N

Y

用户组ID:[0,8388607]

2

display

smallint

5

0

N

N

100

显示顺序:[0,1000]

3

name

varchar

16

0

N

N

名称:[0,16]

4

description

varchar

255

0

Y

N

描述:[0,255]描述该用户组的特点或权限范围

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

8

register

smallint

5

0

Y

N

0

注册位置:

9

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表warehouse_information (仓库信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

warehouse_information_id

int

10

0

N

Y

仓库信息ID

2

item_name

varchar

64

0

Y

N

物品名称

3

item_type

varchar

64

0

Y

N

物品类型

4

inventory_of_items

int

10

0

Y

N

0

物品库存

5

purpose_of_the_item

varchar

64

0

Y

N

物品用途

6

item_images

varchar

255

0

Y

N

物品图片

7

item_remarks

text

65535

0

Y

N

物品备注

8

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

  1. 系统实现
    1. 普通用户模块的实现

4.1.1 前台首页界面

进入系统首页,系统以上中下的布局进行展示,首先映入眼帘的是系统的导航栏,下面是轮播图,最下面是餐饮资讯,其主界面展示如下图所示。

图4-1 前台首页界面图

4.1.2 用户注册界面

用户注册:当用户想要进入系统中对信息进行查看的时候,就必须要登录到系统当中,要是新的用户没有系统的账号的话,点击“注册”按钮,就会进入到新用户注册这个界面上,用户输入对应的账号(必须填写)+密码(必须填写)+确认密码(必须填写,而且要与密码一直)+昵称+邮箱+性别+联系电话+选择用户身份等,然后点击“注册”,系统在用户这一数据库中会查询账号是不是存在,两次密码是不是一样,都填写正确就会注册成功,然后再进行登录,如果是之前已经注册过的用户很长时间没有使用,忘记密码,也可以点击“忘记密码”进行找回。用户注册界面如下图所示。

图4-2 用户注册界面图

注册代码如下:

public String encryption(String plainText) {

        String re_md5 = new String();

        try {

            MessageDigest md = MessageDigest.getInstance("MD5");

            md.update(plainText.getBytes());

            byte b[] = md.digest();

            int i;

            StringBuffer buf = new StringBuffer("");

            for (int offset = 0; offset < b.length; offset++) {

                i = b[offset];

                if (i < 0)

                    i += 256;

                if (i < 16)

                    buf.append("0");

                buf.append(Integer.toHexString(i));

            }

            re_md5 = buf.toString();

        } catch (Exception e) {

            e.printStackTrace();

        }

        return re_md5;

}

4.1.3 用户登录界面

系统中的前台上注册后的用户是可以通过自己的账户名、密码进行登录的,当用户输入完整的自己的账户名和密码信息并点击“登录”按钮后,将会首先验证输入的有没有空数据,再次验证输入的账户名+密码和数据库中当前保存的用户信息是否一致,只有在一致后将会登录成功并自动跳转到系统的首页中;否则将会提示相应错误信息。用户登录界面如下图所示。

图4-3用户登录界面图

登录代码如下:

/**

     * 登录

     * @param data

     * @param httpServletRequest

     * @return

     */

    @PostMapping("login")

    public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {

        log.info("[执行登录接口]");

        String username = data.get("username");

        String email = data.get("email");

        String phone = data.get("phone");

        String password = data.get("password");

        List resultList = null;

        Map<String, String> map = new HashMap<>();

        if(username != null && "".equals(username) == false){

            map.put("username", username);

            resultList = service.selectBaseList(service.select(map, new HashMap<>()));

        }

        else if(email != null && "".equals(email) == false){

            map.put("email", email);

            resultList = service.selectBaseList(service.select(map, new HashMap<>()));

        }

        else if(phone != null && "".equals(phone) == false){

            map.put("phone", phone);

            resultList = service.selectBaseList(service.select(map, new HashMap<>()));

        }else{

            return error(30000, "账号或密码不能为空");

        }

        if (resultList == null || password == null) {

            return error(30000, "账号或密码不能为空");

        }

        //判断是否有这个用户

        if (resultList.size()<=0){

            return error(30000,"用户不存在");

        }

        User byUsername = (User) resultList.get(0);

        Map<String, String> groupMap = new HashMap<>();

        groupMap.put("name",byUsername.getUserGroup());

        List groupList = userGroupService.selectBaseList(userGroupService.select(groupMap, new HashMap<>()));

        if (groupList.size()<1){

            return error(30000,"用户组不存在");

        }

        UserGroup userGroup = (UserGroup) groupList.get(0);

        //查询用户审核状态

        if (!StringUtils.isEmpty(userGroup.getSourceTable())){

            String res = service.selectExamineState(userGroup.getSourceTable(),byUsername.getUserId());

            if (res==null){

                return error(30000,"用户不存在");

            }

            if (!res.equals("已通过")){

                return error(30000,"该用户审核未通过");

            }

        }

        //查询用户状态

        if (byUsername.getState()!=1){

            return error(30000,"用户非可用状态,不能登录");

        }

        String md5password = service.encryption(password);

        if (byUsername.getPassword().equals(md5password)) {

            // 存储Token到数据库

            AccessToken accessToken = new AccessToken();

            accessToken.setToken(UUID.randomUUID().toString().replaceAll("-", ""));

            accessToken.setUser_id(byUsername.getUserId());

            Duration duration = Duration.ofSeconds(7200L);

            redisTemplate.opsForValue().set(accessToken.getToken(), accessToken,duration);

            // 返回用户信息

            JSONObject user = JSONObject.parseObject(JSONObject.toJSONString(byUsername));

            user.put("token", accessToken.getToken());

            JSONObject ret = new JSONObject();

            ret.put("obj",user);

            return success(ret);

        } else {

            return error(30000, "账号或密码不正确");

        }

    }

4.1.4 餐饮资讯界面

当用户点击“餐饮资讯”这一菜单按钮,会显示管理员在后台发布的所有的餐饮资讯信息,支持通过关键词对资讯进行搜索,选择需要的资讯信息点击可以进入到资讯信息详细的介绍界面,同时可以进行点赞、收藏和评论等操作,餐饮资讯界面如下图所示。

图4-4餐饮资讯界面图

4.1.5 菜品信息界面

当用户点击“菜品信息”这一菜单按钮,会显示管理员在后台发布的所有的菜品信息,支持通过关键词对菜品信息进行搜索,选择需要的菜品信息点击可以进入到菜品信息详细的介绍界面,同时可以进行预订、点餐、点赞、收藏和评论,菜品信息界面如下图所示。

图4-5菜品信息界面图

    1. 管理员功能模块的实现 

4.2.1 管理员登录界面

管理员进入到系统登录界面,需要填写正确的账号、密码和验证码等信息输入准确无误后登录进入到系统操作界面。管理员的账号是在数据表表中直接设置生成的,不需要进行注册;修改密码:管理员可以随时修改自己进入系统的登录密码,以保证系统的安全性。管理员登录界面如下图所示。

图4-6管理员登录界面图

4.2.2 管理员功能界面

管理员可以查看系统用户、仓库信息管理、菜系分类管理、菜品信息管理、菜品预订管理、点餐订单管理、订单结算管理、系统管理(轮播图)、公告消息管理、资源管理(餐饮资讯、资讯分类)等,并且可以根据需要进行相应的操作。在功能界面可以查看菜品预订统计和订单结算统计。管理员功能界面如下图所示。

图4-7管理员功能界面图

4.2.3 系统用户管理界面

管理员可以对系统中所有的用户角色进行管控,包含了管理员、普通用户、前台人员和后厨人员这四种角色,如果需要添加新的用户,点击页面中的“添加”按钮根据提示输入上用户信息,点击“提交”以后在对应的用户界面就可以查看到了,可以点击用户后面的“删除”按钮直接删除某一用户。系统用户管理界面如下图所示。

图4-8系统用户管理界面图

4.2.4仓库信息管理界面

管理员可以管理系统中的仓库信息,包括添加新的仓库、编辑已有仓库的信息、删除仓库等操作,以确保系统中的仓库信息准确完整。仓库信息管理界面如下图所示。

图4-9仓库信息管理界面图

4.2.5 系统管理界面

管理员可以对系统前台展示的轮播图进行增删改查,方便用户进行查看。系统管理界面如下图所示。

图4-10系统管理界面图

轮播图添加代码:

@PostMapping("/add")

    @Transactional

    public Map<String, Object> add(HttpServletRequest request) throws IOException {

        service.insert(service.readBody(request.getReader()));

        return success(1);

    }

public Map<String, Object> addMap(Map<String,Object> map){

    service.insert(map);

     return success(1);

 }

4.2.6公告消息管理界面

管理员可以对系统前台展示的通知公告进行增删改查,方便用户进行查看。公告消息管理界面如下图所示。

图4-11公告消息管理界面图

    1. 前台人员功能模块的实现 

4.3.1菜品预订管理界面

前台人员可以管理系统中的菜品预订信息,包括接受顾客的菜品预订、确认预订信息、调整预订时间等操作,以便于提供更好的预订服务。界面如下图所示。

图4-12菜品预订管理界面图

4.3.2点餐订单管理界面

前台人员可以管理系统中的点餐订单,包括接受顾客的点餐、确认订单信息、调整订单内容等操作,以确保顾客点餐的准确性和及时性。界面如下图所示。

图4-13点餐订单管理界面图

    1. 后厨人员功能模块的实现 

4.4.1菜品预订管理界面

后厨人员可以查看系统中的菜品预订信息,包括已接受的预订、预订时间、预订菜品等,以便于准备和安排菜品的制作。界面如下图所示。

图4-14菜品预订管理界面图

4.4.2点餐订单管理界面

后厨人员可以查看系统中的点餐订单信息,包括顾客的点餐内容、数量、要求等,以便于准备和安排菜品的制作。界面如下图所示。

图4-15点餐订单管理界面图

系统测试

5.1系统测试的目的

系统开发到了最后一个阶段那就是系统测试,系统测试对软件的开发其实是非常有必要的。因为没什么系统一经开发出来就可能会尽善尽美,再厉害的系统开发工程师也会在系统开发的时候出现纰漏,系统测试能够较好的改正一些bug,为后期系统的维护性提供很好的支持。通过系统测试,开发人员也可以建立自己对系统的信心,为后期的系统版本的跟新提供支持。

5.2 系统测试用例

系统测试包括:用户登录功能测试、餐饮资讯查看功能测试、菜品信息添加、菜品信息搜索、密码修改功能测试,如表5-1、5-2、5-3、5-4、5-5所示:

用户登录功能测试:

表5-1 用户登录功能测试表

用例名称

用户登录系统

目的

测试用户通过正确的用户名和密码可否登录功能

前提

未登录的情况下

测试流程

1) 进入登录页面

2) 输入正确的用户名和密码

预期结果

用户名和密码正确的时候,跳转到登录成功界面,反之则显示错误信息,提示重新输入

实际结果

实际结果与预期结果一致

餐饮资讯查看功能测试:

表5-2餐饮资讯查看功能测试表

用例名称

餐饮资讯查看

目的

测试餐饮资讯查看功能

前提

用户登录

测试流程

点击餐饮资讯列表

预期结果

可以查看到所有餐饮资讯信息

实际结果

实际结果与预期结果一致

管理员添加菜品信息界面测试:

表5-3 管理员添加菜品信息界面测试表

用例名称

菜品信息添加测试用例

目的

测试菜品信息添加功能

前提

管理员正常登录情况下

测试流程

1)管理员点击菜品信息添加,填写信息。

2)点击进行提交。

预期结果

提交以后,菜品信息列表会显示新的菜品信息

实际结果

实际结果与预期结果一致

菜品信息搜索功能测试:

表5-4菜品信息搜索功能测试表

用例名称

菜品信息搜索测试

目的

测试菜品信息搜索功能

前提

测试流程

1)在搜索框填入搜索关键字。

2)点击搜索按钮。

预期结果

页面显示包含有搜索关键字的菜品信息

实际结果

实际结果与预期结果一致

密码修改功能测试:

表5-5 密码修改功能测试表

用例名称

密码修改测试用例

目的

测试管理员密码修改功能

前提

管理员用户正常登录情况下

测试流程

1)管理员密码修改并完成填写。

2)点击进行提交。

预期结果

使用新的密码可以登录

实际结果

实际结果与预期结果一致

5.3 系统测试结果

通过编写餐饮管理系统的测试用例,已经检测完毕用户登录模块、餐饮资讯查看模块、菜品信息添加模块、菜品信息搜索模块、密码修改功能测试,通过这5大模块为餐饮管理系统的后期推广运营提供了强力的技术支撑。

  1. 总结与展望

餐饮管理系统的开发与实践,无疑是我大学生活中极具挑战性和收获的一段经历。这个项目不仅考验了我的技术能力,还锻炼了我对餐饮行业管理需求的理解与应对能力,为我未来的职业发展奠定了坚实的基础。

在餐饮管理系统的开发过程中,我充分利用了所学的专业知识,结合餐饮市场的实际需求,为餐饮企业量身打造了一套高效、实用的管理系统。该系统涵盖了菜品信息管理、菜品预订管理、点餐订单管理、订单结算管理等多个核心模块,实现了餐饮业务从前端到后端的全面数字化管理。

通过餐饮管理系统的应用,餐饮企业能够更加高效地管理菜品信息、库存数据、顾客订单等关键信息,提升了工作效率和服务质量。同时,系统还提供了丰富的数据分析和报表功能,帮助企业管理层更好地了解业务状况,制定更加科学的经营策略。

在项目的推进中,我深刻体会到了团队协作的重要性。我们团队成员紧密配合,共同攻克了一个又一个技术难题,不断优化和完善系统功能。这种团队协作的精神不仅提升了项目的开发效率,也增强了我们之间的默契和信任。

展望未来,我将继续关注餐饮行业的发展动态和技术趋势,不断优化和完善餐饮管理系统。我希望能够引入更多的创新技术,进一步提升系统的智能化和自动化水平,为餐饮企业提供更加便捷、高效的管理工具。

同时,我也希望能够将餐饮管理系统拓展到更多的餐饮业态中,满足不同规模和需求的餐饮企业的管理需求。我相信,随着餐饮行业的不断发展和技术的不断进步,餐饮管理系统将会发挥更加重要的作用,为餐饮企业的运营和管理带来更大的便利和效益。

总之,餐饮管理系统的开发与实践是我大学生活中的一次宝贵经历。它不仅提升了我的技术能力和团队协作精神,也让我更加深入地了解了餐饮行业的实际需求和发展方向。在未来的道路上,我将继续努力学习、不断进步,为餐饮行业的发展贡献自己的力量。

参考文献

[1]Salsabila D ,Awalia N ,Maharani S , et al.The Correlation Between Economic Activities to Water Pollution in Banyumas District, Central Java Province, Indonesia[J].IOP Conference Series: Earth and Environmental Science,2024,1313(1):

[2]Insani N ,Ridhoi R ,Hidajat G H , et al.Pro-Environmental Tourism: Lessons Learned from Adventure, Wellness and Eco-tourism in Padusan Village, Mojokerto, East Java[J].IOP Conference Series: Earth and Environmental Science,2024,1313(1):

[3]Annisa F L ,Umi L .Accuracy of Antenatal Visits in West Java Province: Comparison between Rural and Urban Areas Data Analysis of the Indonesian Demographic and Health Survey 2017[J].IOP Conference Series: Earth and Environmental Science,2024,1313(1):

[4]Acintya R ,Kinanthi D H ,Kuncoro B A , et al.Impact of Rice Field Conversion on the Availability of Rice in Banyumas Regency, Central Java Province[J].IOP Conference Series: Earth and Environmental Science,2024,1313(1):

[5]Utami W B ,Hariadi S S ,Raya B A .The Paradox of Farmers in Response Agricultural Land Conversion to National Strategic Development Policies in Central Java[J].IOP Conference Series: Earth and Environmental Science,2024,1313(1):

[6]孙铁强,刘俊,于洪健,等.基于SpringBoot框架的在线监测和专家系统的研究[J].自动化应用,2024,65(04):15-16+19.DOI:10.19769/j.zdhy.2024.04.006.

[7]徐少军,李宗哲,梅杰,等.基于Springboot+Vue框架的质量检验监督管理系统研发[J].纺织标准与质量,2024,(01):11-14+21.

[8]雷欣,马宏琳,郑霖,等.基于SpringBoot的域名信息系统设计与实现[J].电脑知识与技术,2024,20(05):44-47.DOI:10.14004/j.cnki.ckt.2024.0188.

[9]施海涛.基于Java的连锁餐饮管理系统设计[J].无线互联科技,2023,20(18):83-85.

[10]张金凤.餐饮管理系统的统计模块设计[J].福建电脑,2022,38(09):90-93.DOI:10.16707/j.cnki.fjpc.2022.09.020.

[11]唐春燕.基于微服务的智慧餐饮系统的设计与实现[D].华东师范大学,2022.DOI:10.27149/d.cnki.ghdsu.2022.002129.

[12]钟良堂,谭昊,廖瑾睿,等.基于图像识别的智慧餐饮管理系统[J].信息与电脑(理论版),2022,34(06):175-179.

[13]张健.餐饮系统的设计与实现[J].信息与电脑(理论版),2021,33(08):135-138.

[14]张银霞,郭畅.虚拟化校园食堂餐饮管理系统的设计与实现[J].现代计算机,2020,(25):90-96.

[15]孙晨熙.基于微信公众平台的餐饮管理系统的设计与实现[D].山东大学,2020.DOI:10.27272/d.cnki.gshdu.2020.000686.

[16]仇博.酒店餐饮信息管理系统的设计与实现[J].信息与电脑(理论版),2020,32(06):78-80.

[17]杨阳,徐淮东,刘柏君,等.互联网+智能餐饮管理系统的实现[J].现代营销(经营版),2020,(01):126-127.DOI:10.19921/j.cnki.1009-2994.2020.01.103.

[18]叶久峰,沈明旦.基于移动互联网的精神专科医院餐饮管理系统设计与实现[J].电脑编程技巧与维护,2019,(11):61-63.DOI:10.16184/j.cnki.comprg.2019.11.020.

[19]张光勇.餐饮管理系统的设计与优化[J].电脑知识与技术,2019,15(24):98-99.DOI:10.14004/j.cnki.ckt.2019.2829.

[20]何敏,罗云清.基于C#的酒店餐饮管理系统开发研究[J].电脑知识与技术,2019,15(12):57-59.DOI:10.14004/j.cnki.ckt.2019.1341.

致谢

经过几个月时间的努力终于完成了这篇文章,在文章的写作与研究的过程中遇到了很多困难,都在同学和老师的帮助下解决了。尤其非常感谢我最敬爱的老师,他对我进行了无私的指导和帮助,不厌其烦的帮助进行文章的修改。老师严谨的治学态度、渊博的学术知识、诲人不倦的敬业精神以及宽容的待人风范使我获益颇丰。此外,在校图书馆查找资料的时候,图书馆的老师也给我提供了很多方面的支持与帮助。在此,向帮助和指导过我的老师表示最衷心的感谢!感谢这篇文章所涉及到的各位学者。本文引用了数位学者的文献,如果没有各位学者的研究成果的帮助和启发,我将很难完成本篇文章的写作。感谢我的同学和朋友,在我写文章的过程中给与了我很多素材和帮助,还在文章的撰写和排版过程中提供热情的帮助。同时,感谢我的室友对我的热心指导和帮助,经常有不懂之处都是大家在帮助我,才使得我比较顺利的完成了这篇文章。由于我水平有限,所写文章难免有不足之处,恳请各位老师和学友批评和指正!

免费领取项目源码,请关注❥点赞收藏并私信博主,谢谢~

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

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

相关文章

mac 安装nvm的教程

在macOS上切换Node.js版本&#xff0c;可以使用nvm&#xff08;Node Version Manager&#xff09;。以下是安装nvm和切换Node.js版本的步骤&#xff1a; 安装nvm 下载方式 终端复制输入&#xff1a; curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.…

GIT - 一条命令把项目更新到远程仓库

前言 阅读本文大概需要1分钟 说明 更新项目到远程仓库只需要执行一条命令&#xff0c;相当的简便 步骤 第一步 编辑配置文件 vim ~/.bash_profile第二步 写入配置文件 gsh() {local msg"${1:-ADD COMMIT PUSH}"git add . && git commit -m "$m…

mipi协议中的calibration和scramble模式

在MIPI(Mobile Industry Processor Interface)协议中,calibration(校准)和scramble(加扰)模式是两个重要的特性,它们分别用于优化数据传输的准确性和减少信号干扰。以下是对这两个模式的详细解析: Calibration(校准)模式 目的与功能: 校准模式主要用于优化和补偿由…

C生万物之文件操作

文章目录 一、为什么使用文件&#xff1f;二、什么是文件&#xff1f;1、程序文件2、数据文件3、文件名 三、文件的打开和关闭1、文件指针2、文件的打开和关闭 四、文件的顺序读写1. 8个重要的库函数1.1 单字符输入输出【fputc和fgetc】1.2 文本行输入输出【fputs和fgets】1.3 …

机器学习 C++ 的opencv实现SVM图像二分类的测试 (三)【附源码】

机器学习 C 的opencv实现SVM图像二分类的测试 (三) 数据集合下载地址&#xff1a;https://download.csdn.net/download/hgaohr1021/89506900 根据上节得到的svm.xml&#xff0c;测试结果为&#xff1a; #include <stdio.h> #include <time.h> #include <o…

yolov5 json 和 txt数据格式关系

训练阶段 和 推理阶段数据格式转换说明 关于yolov5 数据格式一直以来都傻傻分不清楚&#xff0c;这下进行了一个梳理&#xff0c;做了笔记&#xff0c;也希望可帮助到有需要的有缘人~ 转换部分代码

大厂面试官赞不绝口的后端技术亮点【后端项目亮点合集(2):消息队列、ElasticSearch、Mysql等亮点合集】

本文将持续更新~~ 历史文章&#xff1a; 后端项目亮点合集&#xff08;1&#xff09;&#xff1a;Redis篇_后端项目有什么亮点-CSDN博客 本文的作用&#xff1a; &#xff08;1&#xff09;简历优化&#xff1a;针对自己的简历&#xff0c;对Redis亮点进行优化升级&#xff0c;…

虚拟机交叉编译基于ARM平台的opencv(ffmpeg/x264)

背景&#xff1a; 由于手上有一块rk3568的开发板&#xff0c;需要运行yolov5跑深度学习模型&#xff0c;但是原有的opencv不能对x264格式的视频进行解码&#xff0c;这里就需要将ffmpegx264编译进opencv。 但是开发板算力有限&#xff0c;所以这里采用在windows下&#xff0c;安…

绝缘子陶瓷绝缘子玻色绝缘子聚合物绝缘子检测数据集VOC+YOLO格式2050张3类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;2050 标注数量(xml文件个数)&#xff1a;2050 标注数量(txt文件个数)&#xff1a;2050 标注…

Ubuntu 22.04远程自动登录桌面环境

如果需要远程自动登录桌面环境&#xff0c;首先需要将Ubuntu的自动登录打开&#xff0c;在【settings】-【user】下面 然后要设置【Sharing】进行桌面共享&#xff0c;Ubuntu有自带的桌面共享功能&#xff0c;不需要另外去安装xrdp或者vnc之类的工具了 点开【Remote Desktop】…

Orangepi配合IIC驱动OLED屏幕

目录 一、OLED屏幕 二、Orangepi的IIC接口及OLED屏幕硬件接线 2.1 Orangepi的IIC接口&#xff1a; 2.2 Orangepi与OLED屏幕硬件接线&#xff1a; 三、wiringPi库示例代码 3.1 wiringPi库OLED屏幕示例代码&#xff1a; 3.2 OLED显示自己想要的字符&#xff1a; 一、OLED屏…

unix高级编程系列之文件I/O

背景 作为linux 开发者&#xff0c;我们不可避免会接触到文件编程。比如通过文件记录程序配置参数&#xff0c;通过字符设备与外设进行通信。因此作为合格的linux开发者&#xff0c;一定要熟练掌握文件编程。在文件编程中&#xff0c;我们一般会有两类接口函数&#xff1a;标准…

Mysql慢日志、慢SQL

慢查询日志 查看执行慢的SQL语句&#xff0c;需要先开启慢查询日志。 MySQL 的慢查询日志&#xff0c;记录在 MySQL 中响应时间超过阀值的语句&#xff08;具体指运行时间超过 long_query_time 值的SQL。long_query_time 的默认值为10&#xff0c;意思是运行10秒以上(不含10秒…

阿里云RDS云数据库库表恢复操作

最近数据库中数据被人误删了,记录一下恢复操作方便以后发生时进行恢复. 1.打开控制台&#xff0c;进入云数据库实例. 2.进入实例后 &#xff0c;点击右侧的备份恢复&#xff0c;然后看一下备份时间点&#xff0c;中间这边都是阿里云自动备份的备份集&#xff0c;基本都是7天一备…

详解「一本通 5.1 练习 1」括号配对(区间DP经典题)

一.题目 二.思路 题目的大意是说:给你一个只由[ ] ( )构成的字符串&#xff0c;请问需要增加多少个字符才能使其变为一个合法的括号序列。 因为添加若干字符使其达到匹配的目的等价于将不匹配的字符去除使得字符串达到匹配的目的 所以这题只需计算出已匹配完成的括号数,再…

中英双语介绍伦敦金融城(City of London)

中文版 伦敦金融城&#xff0c;通常称为“金融城”或“城”&#xff08;The City&#xff09;&#xff0c;是英国伦敦市中心的一个著名金融区&#xff0c;具有悠久的历史和全球性的影响力。以下是关于伦敦金融城的详细介绍&#xff0c;包括其地理位置、人口、主要公司、历史背…

【优化论】约束优化算法

约束优化算法是一类专门处理目标函数在存在约束条件下求解最优解的方法。为了更好地理解约束优化算法&#xff0c;我们需要了解一些核心概念和基本方法。 约束优化的核心概念 可行域&#xff08;Feasible Region&#xff09;&#xff1a; 比喻&#xff1a;想象你在一个园艺场…

基于机器学习的永磁同步电机矢量控制策略-高分资源-下载可用!

基于机器学习的永磁同步电机矢量控制策略 优势 训练了RL-Agent&#xff0c;能够提高电机在非线性负载下的性能。 部分程序 仿真结果 转矩估计及dq轴电流。 代码有偿&#xff0c;50&#xff0c;需要的可以联系。

数学建模算法目标规划

在人们的生产实践中&#xff0c;经常会遇到如何利用现有资源来安排生产&#xff0c;以取得最大经济 效益的问题。此类问题构成了运筹学的一个重要分支—数学规划&#xff0c;而线性规划(Linear Programming 简记 LP)则是数学规划的一个重要分支。特别是在计算机能处理成千上万个…

pycharm如何使用jupyter

目录 配置jupyter新建jupyter文件别人写的方法&#xff08;在pycharm种安装&#xff0c;在网页中使用&#xff09; pycharm专业版 配置jupyter 在pycharm终端启动一个conda虚拟环境&#xff0c;输入 conda install jupyter会有很多前置包需要安装&#xff1a; 新建jupyter…