🙊作者简介:多年一线开发工作经验,原创团队,分享技术代码帮助学生学习,独立完成自己的网站项目。
- 代码可以查看文章末尾⬇️联系方式获取,记得注明来意哦~🌹
- 赠送计算机毕业设计600个选题excel文件,帮助大学选题。
- 赠送开题报告模板,帮助书写开题报告。
作者完整代码目录供你选择:
⬇️文章末尾可以获取联系方式,需要源码或者演示视频可以联系⬇️
⚡感兴趣大家可以点点关注收藏,后续更新更多项目资料。⚡
项目展示
时代的发展带来了巨大的生活改变,很多事务从传统手工管理转变为自动管理。自动管理是利用科技的发展开发的新型管理系统,这类管理系统可以帮助人完成基本的繁琐的反复工作。酒店是出门的必需品,无论出差还是旅游都需要酒店的服务。由于在旺季预定酒店的人数太多,需要提前预定才不会影响行程。使用传统方式来管理酒店需要多人、多时间,开发酒店管理系统则可以有效的提高管理效率。
本酒店管理系统采用SpringBoot框架进行开发,数据库采用MySQL设计,运行环境为Idea。本系统包括前台界面、用户界面和管理员界面、员工界面。在前台界面里游客和用户可以浏览客房信息、公告信息等,用户可以预定客房,在用户中心界面里,用户可以管理预定信息,管理员负责用户预定的审核以及客房的发布、用户的入住等。员工也可以安排用户的入住以及管理客户的预定。本系统实现酒店客房的管理以及用户预定管理,以此来保证酒店的正常运行。
关键词:预定客房;客房信息管理;入住安排管理;SpringBoot框架
第1章 绪论
1.1课题背景与问题来源
计算机类的管理系统可以帮助人们的工作管理以及生活管理,目前各种管理系统已布满人们的整个生活。计算机类的管理系统还需要网络的支持,近年来,网络发展非常成熟,网速可以达到5G。无论街边小贩还是高档商场都布置了无线网络,网络可以实现信息接收、传递。管理系统和网络相辅相成,减少了工作量,实现了信息的自动化管理。但现在,还有很多事务采用传统的人工手段进行办公管理,有些行业离不开传统方式,比如对于重要事务还需要面对面商讨,所以现在企业中大部分采用传统方式+新型方式的办公手段。
酒店为生活中最常见的设施,来预定酒店的人为全世界各地人世,酒店做为东道主更需要严格管理酒店的所有事项,保证来入住用户的人身安全以及带给他们享受。由于酒店的工作非常多,固定的管理方式根本满足不了需求,需要引入新的管理方式来协助,为了保证安全,对入住人员管控也需要严格把关。大量的入住人员如何才能保证有序安排,如何才能快速审核用户的预定信息是负责酒店管理人员的最大的问题。
1.2课题现状和研究意义
现在管理工作的方式一般为一层分给一层的方式,也就是由第一级的负责人员把工作分配给下一级的人员,再由下一级人员分配给下下一级的人员,实现把工作细分给不同的工作人员,责任到人,一旦出现问题就可以快速的追究到根源。这种方式虽然可以把大的工作量简化成小的工作量,但对于高级管理人员来说信息统计、信息分析以及统管安排还是不好把控。
我国计算机技术和网络技术已发展非常先进,计算机类的管理系统可以帮助人们的工作,提供更专业的办公服务。计算机类的管理系统可以快速收集信息、根据用户命令快速完成要求,并且正确率高。把计算机技术应用到酒店的日常管理工作中去,可以实现用户自主预定酒店,本系统可以快速把预定信息传送到负责人手中,负责人只需要浏览信息完成审核就可以登记用户的入住。解决用户预定的问题,解决用户选择客房的问题,本系统的开发非常有意义。
1.3课题研究内容
本酒店管理系统使用用户为用户、游客和管理员、员工。用户为游客注册后产生的,管理员为负责酒店管理的领导,游客为非注册人员。员工为酒店的工作人员。游客可以在系统的前台通过填写资料注册成用户,用户可以浏览客房信息、公告信息,实现在线预定。预定后可以管理客房预定信息。管理员在后台可以管理用户信息、审核客房预定、发布公告信息、客房信息以及安排用户的入住等。员工同样可以安排用户的入住以及管理客房的预定。本系统的内容涉及到酒店管理工作中的方方面面,提高用户预定酒店速度以及审核预定的速度。
1.4论文结构安排
论文的结构安排为论文的章节安排。本论文的章节分为五部分,分别为前导部分、调研部分、设计部分、实现部分和测试部分。前导部分为第一章的绪论,描述了本系统的开发背景、问题来源等内容。调研部分为第二章和第三章,第二章为开发技术的选择分析,第三章为课题的全面分析。设计部分为第四章,包括界面方面、功能方面、数据库方面的设计。实现部分为第五章,描述了具体的界面。测试部分相当于系统的检查,可以检测系统的错误。在论文章节结束后加入总结、致谢和参考文献部分。
2.1技术、环境对比
目前流行的技术为微信小程序、SpringBoot框架、MVC框架、Java语言、App技术等,调试环境热门的有Idea、Mysql、Sqlsever、MyEclipse、Eclipse等。因为本人大学主学SpringBoot框架,SpringBoot框架提供大量框架,可以加快项目的开发,所以本系统选择SpringBoot框架,语言采用和SpringBoot框架搭配的Java语言,在选择运行环境时,因为Idea软件综合性强,支付多种框架,所以选择Idea软件。具体的技术、环境特点下几节详细描述。
2.2 SpringBoot框架介绍
SpringBoot框架是集合了Spring+Cloud的一种集成框架模式。Spring是管理日志权限等各种事务,管理的时候是非常有条理性的,每个不同的层都是由Spring来进行管理的,不同的层之间还可以互相的进行调用,比如Handler可以调用service,service又可以直接调用mapper等,Cloud的工作原理是用JavaBean来完成所有的事情,不仅可以用来服务器端的开发,还可以用在各种应用中,非常的简单好用,而且兼容性非常的好,是一个标准的控制反转和面向切面的标准型容器框架。Cloud负责的是接收外部的数据请求,然后进行安排和处理,首先是服务器先发送访问请求,然后控制器收到请求后可以在配置好的数据文件中进行解析,然后调用处理器进行数据处理,最后把处理好的数据信息进行返回。Spring主要是负责业务代码和数据库表之间进行关联起来,是一个基于Java持久层的框架,去掉了所有的代码参数的手动设置和检索方式,直接通过映射自动来完成,然后生成数据库记录。
2.3 Tomcat服务器介绍
Tomcat是一个免费的轻量的应用服务器,一般是应用在web服务中,常用来Java语言的开发和调试。属于一个优秀的Servlet容器,收到客户端的访问请求时,可以进行加载并处理程序代码,然后进行信息显示。Servlet可以不用浏览器直接运行在服务端上,不光可以在HTTP协议上运行,还可以在其他协议的服务器上运行,非常适合一些中小型项目的开发和使用。
2.4 Mysql数据库介绍
Mysql是一个可以跨平台使用的,非常高效的 数据库系统,可以搭配java,php等语言使用,因为体积小,处理速度非常的快,所以成本也非常的低,而且还是开源的项目,每个企业都可以根据自己的需求进行个性化定制,因为是免费的,所以受到很多开发者的喜爱。Mysql可以提供很多种不同的数据库引擎,能应用在不同的开发场景中,用户可以根据自己的需求选择不同的场景,从而达到最高的性能。还支持跨平台使用,不同的平台直接进行使用,不需要进行任何修改,处理速度快是mysql最大的特征,因为采用了索引压缩和 B树磁盘表,可以很快的进行扫描连接,使sql函数可以得到最大的优化,从而提高处理速度,效率也更高。安全性也是非常的高,登录主机的时候需要基本的密码验证,而且在连接服务器的过程中,都是采用加密的形式,数据信息也有更好的安全保障,存储量也是非常的大,完全能满足一般用户的需求。
2.5 B/S架构介绍
B/S架构是通过www浏览器来实现用户访问,是从c/s架构上进行改进的结构,随着网络技术的发展,各种框架结构都在不停的升级。只需要维护服务器就行了,客户端可以直接通过浏览器运行。c/s一般只能用在局域网上,使用范围非常的小,只适合企业内部使用,B/S只需要有网络就行,可以应用在各种环境,各种平台上,不受时间地点的限制,只要有操作系统安装的有浏览器就可以直接访问,非常的方便。但是c/s安全性更高,因为只能局域网内使用,所以其他人是不能进行访问的,所以更适合企业内部管理使用。而B/S架构相对是开发的,所以安全性相对较低,所以开发的时候可以根据自己的需求选择适合的框架。
3.1系统需求分析
需求分析就是对课题的主题进行是否需要的分析。目前,管理系统的应用已非常广泛,给人们的生活、工作带来了巨大的帮助。管理系统可以减化信息收集、信息统计、信息分析的时间,可以提高人们的工作效率,愉快工作人员的身心,提供服务帮助。本酒店管理系统提供客房信息、公告信息给想要预定酒店的人,可以加快用户找酒店的效率,也可以提供安全有保证的审核机制。
3.2系统可行性分析
系统的可行性关系着系统开发后的成功,如果没有做好系统可行性分析将会很有可能导致系统的淘汰。在开发系统时需要充分考虑到经济方面、操作方面和技术方面、法律方面的可行性。通过搜集相关的资料和进行市场调研分析本系统在经济方面、操作方面、操作方面和法律方面的可行性,下几节进行详细阐述。
3.2.1经济可行性分析
经济可行性主要是从开发这个系统所需要的投入进行分析,对开发好以后的后期维护费用分析,然后对开发完成后是能带来多大的经济效益等方面进行分析。开发这个系统所需要的投入主要是硬件和软件方面,硬件只需要一台计算机设备就行,软件方面采用的编程软件和数据库软件全部都是开源免费的,直接就能网上下载,所以在开发上不需要过多的投入。由于本息系统采用B/S框架开发,所以后期维护的时候只需要在服务端就能完成,非常的简单方便。而本系统开发完成以后,可以帮助企业提高工作效率,减少人工方面的开支,减少企业的管理运营成本,而且通过网络可以帮助企业进行更好的宣传。所以开发本系统在经济上是可行的。
3.2.2 技术可行性分析
技术可行性要先分析所采用的技术是否能满足开发本系统的需求,而且还要多方面的进行考虑。开发本系统采用Java语言,兼容性非常的好,不同的操作系统都可以直接使用,数据库采用Mysql,有很好的安全性,而且处理速度非常的快,完成能满足本系统的数据存储。
3.2.3 法律可行性
开发本系统所用到的技术都是老师上课所教的,所翻阅的相关的资料都是图书馆借阅的,开发所用到的编程软件都是开源免费的,都是从官网下载的。而且开发过程中都是自己原创的,没有抄袭任何其他系统。
3.3系统性能分析
系统性能方面一般指系统的运行、安全、扩展性、兼容性、实用性等方面的问题。考虑到系统除了功能方面以外的所有问题才可以使系统的分析完整,也是保证系统可以顺利开发的基础。
- 在开发技术、语言、环境方面的选择上要注意先进性。因为现在科技发展的速度很快,为了延长系统的生命就需要选择更热门的开发语言、技术和环境。本系统采用SpringBoot框架,SpringBoot框架可以支持多种运行环境、兼容性强,可以使系统在运行中选择多种运行软件;
- 在保证系统的安全上要注意权限问题和个人资料的问题。不同权限只能管理属于自己权限的功能,这种情况下就需要做好权限划分,所有权限都不能越权操作,管理员为最高权限可以负责所有信息的管理、审核;
- 在系统的扩展性上来说要注意接口的预留。由于时间、能力、技术水平等问题,现阶段开发的系统考虑不到更长远的事情,所以预留接口可以保证后期系统的升级,也可以方便后期开发人员进行功能扩展;
- 在系统的运行上来说需要注意运行的稳定问题。多人访问系统和单人访问系统效果肯定不一样,当多人在同时操作系统时要注意系统的稳定不出错和不会出现Bug的问题;
- 在系统的实用性问题上要注意系统功能的设计。系统要实用还要功能丰富,所以就需要在市场上多次调研,多次参考用户的需求和建议设计更符合用户要求的系统。
3.4系统功能分析
对系统的功能进行分析可以为系统的实现提供基础,也可以保证系统功能的完整,在分析系统功能时需要进行市场调研,本人实际参加酒店的管理工作,并了解工作人员、用户的需求以及了解管理工作的流程,咨询老师、学生的建议完成本次系统功能分析。
本系统的功能分为客房信息管理、公告信息管理、预定信息管理、客房类型管理以及用户信息管理、入住安排管理、酒店简介管理。客房信息功能为用户浏览和预定,公告信息管理功能为管理员发布、用户浏览,预定功能为用户发布,管理员、员工审核和管理,酒店简介管理功能为用户查询、管理员设置,用户信息管理功能为用户和管理员共同管理,系统管理则是管理员负责的。
3.5系统操作流程分析
一个受欢迎的系统必然有一个好的系统操作流程,简单、友好的操作流程才可以使用户更快速的满足自己的要求。系统的操作流程正确系统的数据才可以被正确调用。从数据的来源到去处进行分析形成数据的闭环。本系统的操作流程为游客注册为用户,用户浏览客房信息完成预定,管理员发布客房和审核用户的预定,用户浏览客房预定结果。员工也可以管理预定信息和安排用户的入住。本系统的操作流程图如下图3.1所示:
图3.1系统操作流程图
3.6角色用例分析
本系统设计的角色为管理员和用户、员工,根据系统功能分析总结角色的用例。
(1)管理员可以管理个人中心信息、公告信息、酒店简介信息、客房类型信息、用户信息、客房信息、入住安排等。管理员的用例图如下图3.2所示:
图3.2管理员用例图
(2)用户可以查询客房信息、公告信息、客房类型信息、预定客房和管理预定信息、个人资料信息等。用户用例图如下图3.3所示:
图3.3用户用例图
(3)员工可以管理酒店客房和客房预定以及安排用户的入住。员工用例图如下图3.4所示:
图3.4员工用例图
4.1系统功能结构设计
功能结构为系统功能的展示,一般采用树形图进行系统功能的结构描述。第一层为系统的名称,第二层为划分的功能界面,第三层为功能界面里的详细功能。本系统的功能结构图第一层为酒店管理系统,第二层为前台、用户、管理员、员工,第三层为相对应的具体功能。本系统的功能结构图如下图4.1所示:
图4.1系统功能结构图
4.2数据库设计
任何一个系统中,数据库都是非常重要的一部分,因为数据库做为系统的数据存储,保障着系统的安全,如果数据库出错,那系统肯定也就出错。所以要选择适合自己系统的数据库,然后建立表结构,使系统有更好的关联性,保密性,和完整性。用户进行数据访问时候只能通过正规的通道获取信息,防止非法获取用户数据,必须保证用户的数据安全,这就需要设计数据库的时候进行安全验证。
数据库ER图设计又称为数据库逻辑结构设计,数据库逻辑结构主要是确定物理架构,然后对数据结构进行构造,建立实体和表之间的关系。数据库ER图是采用不同的图形来描述数据和数据的字段。数据库ER图设计是数据库设计的第一步,只有划分好系统的数据以及数据的字段才可以建立正确的数据库。本系统的数据主要为管理员信息、客房信息、预定信息、用户信息、类型信息等。
- 用户需要游客注册后才可以形成,用户信息的ER图如下图4.2所示:
(2) 管理员为系统开发者设置的。管理员信息ER图如下图4.3所示:
图4.3管理员信息ER图
(3)客房信息需要管理员添加后才会展示。客房信息ER图如下图4.4所示:
图4.4客房信息ER图
(4)预定信息为用户预定客房后展示的。预定信息ER图如下图4.5所示:
图4.5预定信息ER图
(5)系统关系ER图如下图4.6所示:
图4.6系统关系ER图
4.2.2数据库表设计
数据库的最终呈现形式为数据库表,数据库表中记录了系统中的所有数据,为了使用户在操作中数据可以正确流动,就需要设置正确的数据库表的关系。本系统的数据库表为用户信息表、客房信息表、客房预定信息表、公告信息表等。本系统的数据库表如下表4.1-4.7所示:
表4.1 config
表4.2 discussjiudianjianjie
表4.3 discussjiudiankefang
表4.4 jiudianjianjie
表4.5 jiudiankefang
表4.6 kefangleixing
表4.7 kefangyuding
表4.8 news
表4.9 ruzhuanpai
表4.10 storeup
表4.11 token
表4.12 users
表4.13 yonghu
表4.14 yuangong
5.1前台功能模块的界面实现
系统在运行后进入的第一个页面就是前台首页,前台里的信息可以让任意身份的人员浏览。没有登录的游客也可以使用搜索功能进行信息的搜索。在前台里展示公告信息、客房信息、酒店简介信息以及用户中心功能,后台管理功能、用户登录功能等。前台功能界面实现如下图5.1所示:
5.1.1客房信息功能模块的界面实现
点击客房信息功能后可以进入客房界面,客房界面里展示了查询框,客房信息列表。在查询框里按要求填写关键字点击查询就可以展现相对应的客房信息。客房信息功能的实现界面如下图5.2所示:
图5.2客房信息界面的实现效果
5.1.2客房详情界面实现
本界面是用户点击具体的客房后跳转进入的界面,在客房详情界面里,用户可以预定。客房详情信息的实现界面如下图5.3所示:
图5.3客房详情界面
5.1.3用户登录功能的界面实现
此功能设置在前台的上方,游客通过登录后可以成为用户,在登录时需要选择权限并输入用户名和密码。在此功能里输入的每一种信息都会自动判断,在用户登录时需要三种信息都核对正确才可以登录成功。用户登录功能的实现界面如下图5.4所示:
图5.4用户登录功能的实现界面
5.1.4客房预定功能模块的界面实现
用户登录成功后可以预定客房,客房预定功能的实现界面如下图5.5所示:
图5.5用户预定客房的实现界面
5.1.5酒店简介功能的界面实现
用户通过此功能可以了解酒店信息,酒店简介信息的设计运行界面如下图5.6所示:
图5.6酒店简介信息展现界面
5.1.6在线评价功能的实现
用户可以评价酒店客房。用户在线评价的实现界面如下图5.7所示:
图5.7用户在线评价功能的实现界面
5.1.7用户中心功能的实现
在用户中心里可以修改个人资料和查询客房预定的申请结果以及管理入住安排。用户中心的实现界面如下图5.8所示:
图5.8用户中心功能的实现界面
5.2后台管理员角色的功能界面实现
管理员在后台里可以更新前台的信息,如公告信息、客房分类信息、客房信息,还可以管理用户信息、审核客房预定信息和安排用户的入住,进行酒店简介设置等。后台管理员角色的功能实现界面如下图5.9所示:
图5.9后台管理员的功能实现界面
5.3员工角色功能的实现界面
员工可以管理个人资料和酒店客房预定信息以及对用户安排入住。员工角色功能的实现界面如下图5.10所示:
图5.10员工角色功能的实现界面
6.1系统测试的目的
系统设计完成后,还并没有真正的完成,还需要进行软件测试。软件测试也是非常重要的一个步骤,测试也是需要有步骤有规划的进行,测试的质量也决定了系统的质量,测试的根本目的就是发现系统中的错误的一个过程,也是一项非常繁琐的工作。在系统设计阶段会出现各种各样的错误,但是一般就是两类,一种是代码方面的错误,这种非常的好解决,每个功能都添加不同的数据进行测试一遍,就能发现代码是否有错误,而且也比较好解决。另一种错误就是设计思路方面的逻辑性错误,因为开发者本身就是站在自己的立场上进行开发的,他认为的逻辑都是他认为正确的逻辑,所以这种问题不好发现,需要在不同的角度进行系统分析,然后进行测试。必须保证系统在进行测试完成后,发现问题及时解决问题,然后才能投入使用。
6.2系统测试的步骤
测试一般要从以下几个方面进行,首先是从界面设计方面进行测试,界面是否简单直观,用户是否能方便查看到系统的各种信息,而且是否有各种功能操作提示,对于计算机操作不熟练的用户是否能轻松使用本系统。其次就是对功能方面进行测试 测试系统中的所有功能是否都能正常使用,比如查询功能是否能搜索到相关的信息,多条件查询时候,是否能搜到用户想要的数据信息。通过这个测试步骤可以发现系统中代码错误。最后一步就是需求测试,根据开发需求,测试本系统是否满足各项需求,逻辑是否连贯。这就需要对自己的项目需求有充分的了解,然后才能通过不同的层面进行需求测试。
6.3具体测试过程
按照用户使用本系统的过程进行功能测试,测试的功能有管理员登录功能,客房预定功能,客房预定审核功能,客房信息管理功能等。
6.3.1用户登录功能的测试
对用户登录功能的测试采用输入各种信息进行登录,查看登录结果的方式进行测试。用户登录功能的测试过程如下表6.1所示:
表6.1用户登录功能的测试过程表
当输入以上第二条和第三条数据时的测试结果如下图6.1所示:
图6.2输入错误数据的用户登录测试结果
6.3.2修改密码功能的测试
修改密码可以使密码保持安全,用户和管理员都拥有修改密码的功能。修改密码功能的测试过程和用户登录功能的测试过程一样。修改密码功能的测试过程如下表6.2所示:
表6.2修改密码功能的测试过程表
当输入上表中第二条信息时,修改密码的测试结果如下图6.3所示:
图6.3输入错误原密码的测试结果
6.3.3客房预定功能的测试
对客房预定功能的测试采用用户填写预定信息,管理员通过审核和不通过审核进行测试。当管理员通过审核后用户可以看到通过结果,当管理员不通过审核后用户可以看到不通过的结果,证明客房预定功能为正确的。
6.3.4客房信息管理功能的测试
对客房信息管理功能的测试主要是采用管理员登录后添加、修改、删除客房信息后在前台查看客房信息的结果。通过测试发现,客房信息管理功能的测试结果为正确的。
6.4测试总结
在本次测试中所有的功能都通过了测试,本系统完成了客房信息展示、客房预定和预定审核等功能。通过本次测试本人明白了测试的重要性和测试的困难,在测试中发现了很多问题,经过修改后都可以正确运行,至此,本系统正式完成。
本系统经过分析、设计、实现、测试后最终完成目标,在本系统中可以完整展示客房信息、客房类型信息、公告信息,用户可以顺利预定客房,管理员可以随时审核客房预定信息,用户也可以实现在线评价。员工和管理员可以对用户安排入住。本系统提高了酒店管理的效率以及客房预定审核、管理,可以为酒店的管理工作提供帮助。同时也为用户提供客房预定服务的平台。
在设计这个系统的过程中,充分的利用了上课时候学到的各种知识,在开发过程中遇到了很多的困难,最后在老师和同学的帮助下都很好的解决了,最大的收货就是发现了自己的不足,还需要学习的地方还有很多,也是对自己大学知识的一次检验,所以通过本次设计让我学到了很多的知识。很好的提高了自己的实践能力,从选题阶段,到需求分析,系统设计实现部分,都是自己完成的,熟悉了开发一个项目所需要经历的全部流程。使自己的实践能力得到了很大的提高,对于以后的项目开发有了一个很好的经验。
通过本次毕业设计,发现了自己的很多不足,还需要不断学习各种专业的代码知识,而且还要有耐心和毅力,遇见问题要勇敢的解决问题,才能更好的提高自己的处理事情的能力。
[1]李艳杰.浅析MySQL数据库在促进中小型企业发展中的应用[J].中小企业管理与科技(下旬刊),2020(09):182-183.
[2]张鹏.基于SSH框架的高并发与高可用网站架构的设计与开发[J].电脑知识与技术,2020,16(27):100-101+104.
[3]刘向东.数据库技术在无线电网络安全控制中的应用[J].数字技术与应用,2020,38(09):181-183.
[4]高丽.Java编程语言在计算机软件开发中的应用[J].信息与电脑(理论版),2020,32(18):80-82.
[5]王烽杰,郭玉靖.JAVA编程语言在计算机软件开发中运用[J].大众标准化,2020(18):66-67.
[6]吴小青.嵌入式数据库(MySQL)中数据模糊检索方法解析[J].软件,2020,41(09):115-118.
[7]张帅,方欢,丁飞.基于Java语言对10种经典排序算法的研究[J].电脑知识与技术,2020,16(25):223-225+231.
[8]张迎春.计算机软件开发的JAVA编程语言及应用[J].信息技术与信息化,2020(08):47-49.
[9]刘莹.计算机软件开发中Java编程语言的应用研究[J].计算机产品与流通,2020(09):42.
[10]黄华,黄兴,张永.疫情背景下线上教学的探索与实践——以“Java语言程序设计”课程为例[J].现代信息科技,2020,4(15):186-189.
[11]程灿.计算机软件Java编程及应用分析[J].电脑编程技巧与维护,2020(07):16-18.
[12]董淑丽.JAVA编程语言在计算机软件开发中的应用[J].数字通信世界,2020(07):192+199.
[13]马波.JAVA编程语言在计算机软件开发应用中的探究[J].济南职业学院学报,2020(03):117-118+124.
[14]董华军.酒店管理系统的设计与实现[J].工业控制计算机,2022,35(01):140-141.
[15]岳颖颖.基于Web酒店管理系统设计分析[J].电子技术与软件工程,2021(17):196-197.
[16]邵全勇,雒海东.基于CRM的酒店管理信息系统设计与实现[J].电子设计工程,2021,29(14):15-19.DOI:10.14022/j.issn1674-6236.2021.14.004.
[17]王维,刘峻杰,李洪亮.中小型酒店住宿管理系统的设计与实现[J].内江科技,2021,42(05):42+19.
[18]刘映群,刘俊钦,梁健煊.智慧酒店管理系统设计与实现[J].现代信息科技,2021,5(09):87-92.DOI:10.19850/j.cnki.2096-4706.2021.09.023.
[19]刘聪.酒店管理系统设计与研究[J].电子技术与软件工程,2021(01):165-166.
[20]刘聪.酒店信息管理系统与CRM系统的研究与实现[J].电子技术与软件工程,2020(24):146-147.
[21]Gao Jing,Shen Changbing,Ko Randy,Guo Yajun,Shen Xue,Cui Yong,Yang Chunjun. Clinical Observation and Follow-Up of Subungual Splinter Hemorrhages of Toenails in Chinese Adults.[J]. Indian journal of dermatology,2020,65(1).
[22]X M Yang,G Zhang,Z Song. Phase transition in phase transition lines of quantum XY model[J]. Journal of Physics: Condensed Matter,2019,31(24).
在这里要非常感谢我的母校,是你给我们提供了这么好的学习环境和学习氛围,才能让我们无忧无虑的进行学习,把我们当花朵一样保护起来。还要感谢每个老师,是你教了我们很多专业的知识,让我们以后找工作的时候才有了很多专业的技能。而且在毕业设计的过程中给了我很多专业的指导,帮我提了很多改进意见,才使系统更加的完善。最后还要感谢我的同学,在大学生活中的互相帮助,互相学习,让我们一起努力,一起加油。
核心代码展示
/**
* 登录相关
*/
@RequestMapping("users")
@RestController
public class UserController{
@Autowired
private UserService userService;
@Autowired
private TokenService tokenService;
/**
* 登录
*/
@IgnoreAuth
@PostMapping(value = "/login")
public R login(String username, String password, String captcha, HttpServletRequest request) {
UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
if(user==null || !user.getPassword().equals(password)) {
return R.error("账号或密码不正确");
}
String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
return R.ok().put("token", token);
}
/**
* 注册
*/
@IgnoreAuth
@PostMapping(value = "/register")
public R register(@RequestBody UserEntity user){
// ValidatorUtils.validateEntity(user);
if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
return R.error("用户已存在");
}
userService.insert(user);
return R.ok();
}
/**
* 退出
*/
@GetMapping(value = "logout")
public R logout(HttpServletRequest request) {
request.getSession().invalidate();
return R.ok("退出成功");
}
/**
* 密码重置
*/
@IgnoreAuth
@RequestMapping(value = "/resetPass")
public R resetPass(String username, HttpServletRequest request){
UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
if(user==null) {
return R.error("账号不存在");
}
user.setPassword("123456");
userService.update(user,null);
return R.ok("密码已重置为:123456");
}
/**
* 列表
*/
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params,UserEntity user){
EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
return R.ok().put("data", page);
}
/**
* 列表
*/
@RequestMapping("/list")
public R list( UserEntity user){
EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
ew.allEq(MPUtil.allEQMapPre( user, "user"));
return R.ok().put("data", userService.selectListView(ew));
}
/**
* 信息
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") String id){
UserEntity user = userService.selectById(id);
return R.ok().put("data", user);
}
/**
* 获取用户的session用户信息
*/
@RequestMapping("/session")
public R getCurrUser(HttpServletRequest request){
Long id = (Long)request.getSession().getAttribute("userId");
UserEntity user = userService.selectById(id);
return R.ok().put("data", user);
}
/**
* 保存
*/
@PostMapping("/save")
public R save(@RequestBody UserEntity user){
// ValidatorUtils.validateEntity(user);
if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
return R.error("用户已存在");
}
userService.insert(user);
return R.ok();
}
/**
* 修改
*/
@RequestMapping("/update")
public R update(@RequestBody UserEntity user){
// ValidatorUtils.validateEntity(user);
userService.updateById(user);//全部更新
return R.ok();
}
/**
* 删除
*/
@RequestMapping("/delete")
public R delete(@RequestBody Long[] ids){
userService.deleteBatchIds(Arrays.asList(ids));
return R.ok();
}
}
项目推荐
【计算机毕业设计】基于Springboot的网上购物商城销售系统
⬇️文章末尾可以获取联系方式,需要源码,高清图片,演示视频可以联系(不开源)⬇️
⚡感兴趣大家可以点点关注收藏,后续更新更多项目资料。⚡