基于Vue和SpringBoot的宾馆管理系统的设计和实现

news2024/9/24 23:31:27

作者主页:Designer 小郑
作者简介:Java全栈软件工程师一枚,来自浙江宁波,负责开发管理公司OA项目,专注软件前后端开发(Vue、SpringBoot和微信小程序)、系统定制、远程技术指导。CSDN学院、蓝桥云课认证讲师,全栈领域优质创作者,在校期间参加PAT乙级考试获得满分,三年ACM竞赛经验,斩获国奖两项,省奖五项。热爱技术、专注业务、开放合作、乐于分享,期待你我共同成长!
主打方向:Vue、SpringBoot、微信小程序

本文是《基于Vue和SpringBoot的宾馆管理系统》的配套原创说明文档,可以给应届毕业生提供格式撰写参考,也可以给开发类似系统的朋友们提供功能业务设计思路。

摘要

随着人员流动的影响和你管数量的大幅增加,各种宾馆管理信息也在不断增加。由于信息量大,需要一个管理系统来提高宾馆管理的效率。这些系统允许信息的标准化和快速查询,减少了宾馆管理负担。

本文的设计是基于Vue和SpringBoot架构,使用Java编程在Idea集成开发下开发的宾馆管理系统,选择SpringBoot是因为它能够充分发挥客服端PC的处理能力,很多工作可以在客服端处理后再提交给服务器,操作方便实现了可利用资源的可视化,可及时查阅,记录等功能。

优化宾馆运营,包括客人的便利性,最终提高客人的品质。这需要贯穿于整个过程,从方便客人入住宾馆,再到方便客人的退宿。标准的操作,确保宾馆任务在最短的时间内完成,确保客人感到舒适和难忘。因此,引入新的IT管理系统将是提高宾馆管理效率和服务水平的途径之一。

关键词:宾馆、预定、Java

宾馆管理系统的设计和实现-目录

    • 摘要
    • 1 绪论
      • 1.1 研究背景
      • 1.2 研究意义和目的
      • 1.3 国内外研究现状
      • 1.4 研究思路
    • 2 系统相关技术
      • 2.1宾馆管理系统使用的技术
        • 2.1.1 Spring
        • 2.1.2 SpringBoot
        • 2.1.3 SpringMVC
        • 2.1.4 Vue
        • 2.1.5 MySQL数据库
        • 2.1.6 Tomcat
    • 3 系统需求分析
      • 3.1系统需求分析概述
      • 3.2系统开发环境需要
      • 3.3系统可行性分析
        • 3.3.1 经济可行性
        • 3.3.2 技术的可行性
        • 3.3.3 运行可行性的
    • 4 系统详细结构设计
      • 4.1宾馆管理系统的设计思想
      • 4.2宾馆管理系统的服务器部署
      • 4.3系统总体架构设计
      • 4.4数据库分析与设计
        • 4.4.1 系统概念层结构设计
        • 4.4.2 系统逻辑结构设计
    • 5系统功能与界面的实现
      • 5.1登陆注册模块的设计和实现
      • 5.2宾馆管理模块的设计和实现
      • 5.3宾馆评论模块的设计和实现
      • 5.4宾馆预定模块的设计和实现
      • 5.5宾馆资讯模块的设计和实现
    • 总结与展望
    • 参考文献
    • 致 谢

1 绪论

1.1 研究背景

随着科技迅速发展,信息改变着整个社会。各行各业在日常管理等方面也在慢慢的走向网络化,宾馆客房管理也在将信息技术与互联网用于经营和管理。使用传统的手工管理方法来管理宾馆信息,这样的过程繁琐复杂,也容易出错,而且实施效率低。基于Vue和SpringBoot的宾馆管理系统可以使我们实现标准化管理和信息快速检索,可以实现宾馆信息管理的自动化、标准化和系统化,以信息化管理代替传统手工管理,无疑,与传统手工管理相比会使宾馆客房管理更科学、更高效、信息化交流更迅速,这提高了可管理性,降低了管理成本,并减少了管理工作量。

宾馆管理系统在宾馆信息管理中起着非常重要的作用。例如在大型宾馆的案例中,宾馆信息管理、预订信息管理、宾馆品类信息管理等功能的设计内容复杂多样,设计模块较多,如信息统计模块、客房调查模块、报表设计模块等。
系统是用Java语言编写的。本宾馆管理系统和数据库均采用前后端分离模式设计,系统程序使用MyBatis连接MySQL。这些系统都是基于Internet网络,采用Java语言开发网站,重视用户与网站的交互。在此背景下,针对当前互联网网络化的趋势,宾馆管理系统已成为当前管理软件的首选架构。

1.2 研究意义和目的

随着中国互联网技术的不断发展,计算机计算能力和开发技术日趋成熟。软件的力量已被公认,并在人类社会的各个领域发挥着越来越重要的作用。例如,文字处理软件和图像处理软件已经进入到日常生活中。在各个领域,大多数人都可以使用计算机来解决许多复杂的任务,而不需要任何特殊的训练。虽然目前世界上有很多不同的管理软件,但仍然不能满足用户的具体需求。人们必须根据自己的具体需求来开发软件。今天,计算机似乎是我们工作和学习的一个强大动力。虽然计算机的购买成本不高,但其性能却有了很大的提高。

作为一名计算机专业的学生,我希望在这方面有所进步。改革总设计师邓小平同志曾说,科学技术是第一生产力。我真切希望能运用所学知识,找到切实可行的方法,提高宾馆的运营效率。

目前,我国许多宾馆的管理水平还停留在纸媒上。这样的机制已经无法适应时代的变化。它浪费了大量的人力、水和资源。传统的纸媒管理方法主要依靠手工工作,集中归档和编号,之后需要查阅时,需要手工查询大量数据,繁琐、耗时且容易出错。纸张是数据的存储介质,容易燃烧、发霉、变质,也容易滋生蛀虫。在互联网时代,这种传统的管理方式必然会被计算机辅助的信息管理方式所取代。这就需要一种新的高效的管理系统来代替手工的计算机管理宾馆预订

1.3 国内外研究现状

20世纪50年代,计算机越来越多地应用于管理,在当时美国是代表,最初美国用电脑计算工资。60多年过去了,多年来,计算机在计算工资这一领域的作用已经扩大了好几倍。虽然我国利用计算机对其进行自动化管理比较晚,但随着时代的发展,我国在这方面也取得了很大的进步,在一定程度上也促进了我国计算机化管理的发展。

经济快速发展,为传统旅游业带来了一定的商机,同时这也是一个挑战。宾馆作为旅游行业的重要一环,必须要对应做出改变,这对宾馆管理系统提出了更高的要求。由于将计算机信息技术集成到宾馆管理中是一种很好的方法,所以有各种与宾馆管理相关的管理软件。大中型连锁宾馆会自研开发自己的宾馆管理系统,或找到合适的公司开发和实施自己的宾馆。但是,由于资金、人员等诸多先天因素的影响,绝大多数中小型宾馆无法投入大量资金进行此次改革。你只能依靠手动录音。这种陈旧低效的方式对宾馆的发展产生了很大的负面影响;同时,每个宾馆都能在市场上找到属于自己的宾馆管理系统,但是一般的宾馆很难找到适合自己的管理系统,因为很多功能都不适合普通的宾馆管理。

因此,开发一个能够满足宾馆管理的各种需求、服务全面、简单实用、价格低廉的管理系统是一项必不可少的任务

1.4 研究思路

论文以宾馆管理系统设计与实现为主题,开发一套宾馆管理系统。
本文所做工作内容如下:

  1. 了解基于SpringBoot的宾馆管理系统的现状,分析系统背景和开发意义。
  2. 对宾馆管理系统需要的相关技术进行阐述。
  3. 分析宾馆管理系统需要实现的功能模块,即宾馆管理系统的使用者需要哪些功能。
  4. 阐述宾馆管理系统整体的结构设计,主要对功能如何实现方面和数据库设计方面。
  5. 宾馆管理系统功能图文面功能的详细说明。
  6. 最后对宾馆管理系统的设计与实现进行总结,给出未来的优化方案。

2 系统相关技术

2.1宾馆管理系统使用的技术

宾馆管理系统作为典型B/S架构的系统,采用Vue和SpringBoot的前后端分离模式进行开发。前后端分离这种开发模式之前还不是很流行,web化趋势也没有被广泛使用。但随着系统信息化程度的加深,还有各式各样的服务都 Web 化之后,其实很多前端需要展示的内容就变得复杂起来,比如 Github 网站拥有大量的操作界面,就不适用 JSP 这类框架了,因为 JSP 没办法组件化的去高效开发。前端开发需求一旦变多或者变复杂,短时间内就没办法用那种原生的 h5、css、js 代码去开发完成。为什么会这样,就是因为前端没有一个高效的开发模式,比如 Vue 的这种组件化、模块化的开发思想去处理前端的开发任务。

宾馆管理系统正是采用了 Vue 这一组件化的前端框架,使用 SpringBoot 作为后端的主要框架进行开发,将前后端分离开来,实现高内聚低耦合。下面将详细介绍本系统所用到的技术。

2.1.1 Spring

Spring是基于Java的开发框架,有着以下几点优势:

  1. 容器化开发模式。将一个个组件封装为容器,在宾馆管理功能上实现高内聚低耦合,降低开发者的工作量。
  2. 支持单元测试。在编写宾馆管理功能时,支持对单个功能进行单元测试,降低程序的出错率。
  3. 支持面向切面编程。支持将宾馆管理的数据,通过异步的方式将操作人IP等数据存储至指定数据库。
  4. 支持事务回滚。当宾馆前台人员操作系统时出现异常,会自动进行事务回滚,防止出现重复入住的情况。
  5. 集成性强。支持集成Jpa、Mybatis等多个框架,实现宾馆管理系统和其他三方系统的整合。

在这里插入图片描述

2.1.2 SpringBoot

SpringBoot是宾馆管理系统后端的主要框架,负责宾馆管理功能的业务逻辑编写任务。SpringBoot采取约定大于配置的理念,在开发宾馆管理系统中无需进行过多的配置,只需配置必要的内容,程序即可快速启动起来,简化开发的工作量。另外基于Maven的SpringBoot应用启动也非常方便,满足宾馆管理系统的开发需求。

2.1.3 SpringMVC

SpringMVC用于提供后端的API接口支持。SpringBoot内部集成了SpringMVC,支持通过注解的方式实现API接口的对外开放,简化了接口的编写工作量。SpringMVC还支持宾馆管理附件和宾馆照片的上传,能够将宾馆管理系统的功能进行扩充,从而真正满足宾馆管理需求。

在这里插入图片描述
SpringMVC给前端提供API支持,内部结构如图2.2所示,宾馆前台人员发起入住请求后,前端控制器将会请求后端入住映射器,将执行链返回给前端,再请求后端的入住处理适配器,将Model返回给前端,最后将请求转发给宾馆管理视图解析器,完成用户端界面的更新。

2.1.4 Vue

Vue作为宾馆管理系统前端的主要框架,有着组件化和双向数据绑定的优点。当宾馆前台人员登陆系统时,输入宾馆管理密码时,前端变量会根据输入密码值实时改变,无需编写监听方法控制前端变量的改变。大量前端变量的应用,能够简化宾馆管理系统的开发量。

2.1.5 MySQL数据库

宾馆管理系统采用关系型数据库存储宾馆的管理数据,而MySQL正是存储宾馆管理数据的不二之选。它有着高效率、体积小的优势,支持高并发,是国内热门的数据库,符合宾馆管理系统的要求。

2.1.6 Tomcat

因为宾馆管理系统采用了SpringBoot框架,而SpringBoot框架内置了Tomcat服务器,所以宾馆管理系统采用了Tomcat,满足项目的部署要求。


3 系统需求分析

对开发人员来说,了解用户的需求是是完成整个任务的重要一步。为了使宾馆管理系统的设计尽可能的均衡、合理、实用,我们在设计的电中应该研究各个行业的需求和意见以及宾馆的需求。需求调研内容应包括软件开发周期的所有需求,比如宾馆预约,宾馆的外观介绍和预约房间的方式、提供预定服务,如何解决客户可能出现的问题,分析受众客户的潜在需求等等。
在了解用户的需求后,我们就可以对用户的需求进行分析,进而确定系统的功能。本章主要对宾馆预定管理系统进行需求分析和框架设计。

3.1系统需求分析概述

由于用户和软件人员之间交流的困难是造成软件危机的重要原因之一,我们需要充分了解用户的需求。系统需求分析的目的是为用户和软件人员之间的相互了解提供基础;反映宾馆预定管理系统的基本结构,可以作为软件人员设计和编写的基础;作为选取测试用例和进行形式验收的依据。
本系统实现的目的是将每个客人的重要信息、宾馆整体设计的详细信息以及每个宾馆预订订单的详细信息录入到电脑中进行管理。对于上面提到的所有信息,数据库是按类别构建的,由DBMS管理,以确保数据的一致性、完整性和安全性。如有必要,宾馆将根据其义务,对数据库中的相关数据进行查询、更正、研究、分析和汇总。

3.2系统开发环境需要

本次开发使用的设备为个人电脑。机器的配置如下:

  • 处理器:Intel 酷睿i5-8500。
  • 硬件空间:256GB。内存:8G
  • 题目主要采用的技术:
  • 数据库:MySQL8.0。编程语言: JavaScript,java。
  • 服务器:Tomcat8.5,jdk 17开发环境:WindowsXP

3.3系统可行性分析

随着宾馆业务规模的不断扩大,宾馆预订信息的数量也在不断增加。面对庞大的信息量,开发一个宾馆管理系统来提高管理效率是非常必要的。使用计算机管理宾馆预订和订单信息具有手工管理无法比拟的优势。通过这样的系统,可以实现管理的规范、统计信息的快速查询和科学信息的查询,从而减少管理的工作量,利用MySQL数据库所具备的能力,以最简洁最容易的方法,提高服务宾客的工作效率。

3.3.1 经济可行性

通过本系统可以研究和收集系统开发所需的相关数据。其他必要的应用程序和硬件系统很容易获得,开发成本也很低。经过本系统的介绍和使用,与传统方法相比具有效率高、成本低、质量高的特点,可以节省大量的人力、物力和财力,所带来的效益要远远超过投资。

3.3.2 技术的可行性

本宾馆管理系统是采用Java开发语言,调试相对简单,而且技术上绝对可行,因为目前的计算机硬件配置已经足以满足开发需要。前端接口采用VUE框架,允许多种定制功能,前端开发技术没有问题。

3.3.3 运行可行性的

操作可行性是指对系统稳定性的影响,对人事制度、现有制度和环境的适应性,以及招聘培训计划的可行性。操作简单,程序快速,系统简单。

本开发的一个宾馆管理系统就是开发一个典型的前端分离系统。主要包括数据处理、数据采集、数据转换和各种格式的数据报告输出。当使用流行的视觉和跳跃系统时没有技术问题。

4 系统详细结构设计

第四章是对宾馆管理系统的整体结构设计部分,首先对于第三章得出的需求结论,逐一进行功能模块的分析,最终设计出数据库关系表,描绘模块之间的关联,最终实现系统登陆注册模块、宾馆管理模块、宾馆评论模块、宾馆预定模块、宾馆资讯模块的整体设计。

4.1宾馆管理系统的设计思想

结构设计模式是系统开发的精髓所在。在开发宾馆管理系统之前,必须首先对宾馆管理系统的结构进行设计。
宾馆管理管理系统采用MVC模式,将前后端分离的理论加以实践,分为基于浏览器的前端和基于服务器的后端,分别独立部署运行。

4.2宾馆管理系统的服务器部署

宾馆管理系统是面向全国高校使用的,所以需要开放外网端口,以便于宾馆工作人员使用。同时也要保留局域网部署的方式,防止外网被黑客攻击导致系统的瘫痪,保证宾馆的数据安全。宾馆管理系统的网络结构图如图4.1所示。
在这里插入图片描述

4.3系统总体架构设计

通过对班级考勤管理系统的需求分析,我将考勤系统分为五大菜单,分别是系统登陆注册模块、宾馆管理模块、宾馆评论模块、宾馆预定模块、宾馆资讯模块,如图4.2所示。

在这里插入图片描述

4.4数据库分析与设计

宾馆管理系统的模块关联,具体表现在数据库关系表的关联之上,只有将数据库的关联设计好了,系统的模块关联才能变的理想化,所以数据库分析环节也是宾馆管理系统开发的重要一环。

4.4.1 系统概念层结构设计

针对宾馆入住、退住环节的具体需求,上文已对宾馆管理系统的五大模块进行详细设计,接着我将对每个模块都进行数据库的设计,并且通过E-R图来进行展示。

宾馆管理模块是宾馆的基础信息进行记录并管理,其中宾馆类型的信息包括了宾馆的类型名称、类型编号、房间总数、房间描述、房间剩余数、备注等,其中类型编号是系统宾馆的确定性因素。如图4.3所示。

在这里插入图片描述
宾馆客房的数据存储包括宾馆的楼栋号、楼层号、房间号、房间ID、房间状态、房间类型ID、房间类型、价格、备注等信息,如图4.4所示。

在这里插入图片描述

宾馆订单档案的数据存储包括订单号、下单人名称、下单人ID、下单人手机号、下单时间、预定房间数、订单状态、订单ID、订单价格、备注等信息,如图4.5所示。

在这里插入图片描述
餐品订单是用于宾馆客户下的用餐订单,包括了订单号、下单人ID、下单人名称、下单人手机号、订单ID、订单价格、下单时间、预定房间数、订单状态、备注,如图4.6所示。

在这里插入图片描述
系统的整体E-R图如图4.7所示。

在这里插入图片描述

4.4.2 系统逻辑结构设计

宾馆管理系统系统的宾馆类型表、客户档案表、宾馆订单表、宾馆物资采购表的设计如下表所示。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5系统功能与界面的实现

5.1登陆注册模块的设计和实现

登录注册模块包括了基础的用户登录和用户注册功能,用户通过这个模块进行认证,从而进入到宾馆管理系统。
图5.1是宾馆管理系统的登陆界面,用户需要输入登录账号、密码和图形验证码进入系统。

在这里插入图片描述
登陆模块使用 Vue 快速构建了登陆界面,使用 View UIinput 组件,用于存放登陆账号、登陆密码和验证码,验证码图片使用 img 标签,显示后端返回的验证码内容,用户点击登陆后,前端通过 Axios 像后端请求登陆接口,根据后端返回的内容判定是否运行登录。

登陆前端逻辑代码如下:

this.$refs.usernameLoginForm.validate(valid => {
    if (valid) {
        this.loading = true;
        login({
            username: this.form.username,
            password: this.form.password,
            code: this.form.imgCode,
            captchaId: this.captchaId,
            saveLogin: this.saveLogin
        }).then(res => {
            if (res.success) {
                this.afterLogin(res);
            } else {
                this.loading = false;
                this.getCaptchaImg();
            }
        });
    }
});

用户输入正确的账号密码后,即可进入宾馆管理系统,首页中存放了很多图,这些图使用了百度的Echert,套用了现有模板进行实现,如图5.2所示。

在这里插入图片描述
若用户没有登陆账号,可以点击超链接跳转到注册界面,注册界面和登陆一样,也是采用了view ui的input组件存放相应字段,用户点击注册后,请求后端的注册接口,根据接口返回的字段决定是否完成注册,如图5.3所示。
在这里插入图片描述
注册前端逻辑代码如下:

if (!this.form.code) {
    this.errorCode = "验证码不能为空";
    return;
} else {
    this.errorCode = "";
}
this.loading = true;
regist(this.form).then(res => {
    console.log(res);
    this.loading = false;
    if (res.success) {
        let query = {
            username: this.form.username
        };
        this.$router.push({
            name: "regist-result",
            query: query
        });
    } else {
        vaptchaObject.reset();
    }
});

5.2宾馆管理模块的设计和实现

宾馆管理模块用于对宾馆信息的管理,提高了宾馆管理的准确性和精密度,减轻了宾馆前台工作人员的工作量。管理员可以对宾馆进行查看、增加、删除、编辑、修改、导出Excel操作等操作,如图5.4所示。

在这里插入图片描述
管理员可以点击添加按钮,进入宾馆添加界面,这个模块使用了view ui的input组件,用于存放相应字段,用户点击保存按钮后,系统将自动将表单数据提交给后端接口,后端保存到数据库,从而实现宾馆的新增,如图5.5所示。

在这里插入图片描述
管理员也可以点击每一行的编辑按钮,更新宾馆的基本信息,如图5.6所示。

在这里插入图片描述
查询宾馆后端逻辑代码如下:

@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "分页获取")
public Result<IPage<Dormitory>> getByPage(@ModelAttribute Dormitory dormitory,@ModelAttribute PageVo page){
    QueryWrapper<Dormitory> qw = new QueryWrapper<>();
    if(!ZwzNullUtils.isNull(dormitory.getTitle())) {
        qw.like("title",dormitory.getTitle());
    }
    if(!ZwzNullUtils.isNull(dormitory.getType())) {
        qw.eq("type",dormitory.getType());
    }
    if(!ZwzNullUtils.isNull(dormitory.getBreakfast())) {
        qw.eq("breakfast",dormitory.getBreakfast());
    }
    IPage<Dormitory> data = iDormitoryService.page(PageUtil.initMpPage(page),qw);
    return new ResultUtil<IPage<Dormitory>>().setData(data);
}

5.3宾馆评论模块的设计和实现

当用户消费完成后,可以对宾馆的环境和服务进行评论,以方便其他顾客对宾馆有一个初步的了解,顾客可以对宾馆的某个房间进行评论,其他顾客可以看到关于单个房间的评论信息。系统在加载宾馆数据的同时,会额外读取宾馆评论表中的数据,并将每个宾馆对应的评论放入宾馆实体类,用于前端表格中的数据显示,如图5.7所示。

在这里插入图片描述
用户可以点击每一行宾馆数据的评论按钮,就会触发一个vue事件,将一个变量的值改为true,从而弹框的v-modol字段会因为数据双向绑定而显示,也就是说系统会给与弹框反馈,这样对用户交互非常友好,如图5.8所示。

在这里插入图片描述
用户添加完成评论后,系统将评论内容发送至添加评论的API接口,后端自动获取登陆用户,再将两者信息存入到数据库,数据存入成功后,系统会给与成功提示,如图5.9所示。

在这里插入图片描述
新增评论后端逻辑代码如下:

@RequestMapping(value = "/addMyDiscuss", method = RequestMethod.POST)
@ApiOperation(value = "新增评论")
public Result<Object> addMyDiscuss(@RequestParam String id,@RequestParam String reply,@RequestParam String text){
    Dormitory dormitory = iDormitoryService.getById(id);
    if(dormitory == null) {
        return ResultUtil.error("宾馆不存在");
    }
    User currUser = securityUtil.getCurrUser();
    DormitoryDiscuss discuss = new DormitoryDiscuss();
    discuss.setUserId(currUser.getId());
    discuss.setUserName(currUser.getNickname());
    discuss.setReply(reply);
    discuss.setDormitoryId(dormitory.getId());
    discuss.setDiscussTime(DateUtil.now());
    discuss.setContent(text);
    iDormitoryDiscussService.saveOrUpdate(discuss);
    return ResultUtil.success("OK");
}

5.4宾馆预定模块的设计和实现

宾馆预定模块保存顾客的宾馆下单信息,即预约订单数据。当顾客对某个宾馆进行预约后,系统应当自动生成预订单,顾客可以进入到宾馆预定模块,对订单进行支付,也可以查询自己的历史下单数据。
用户点击宾馆列表的预约按钮,系统给与预约日期的弹框,如图5.10所示。

在这里插入图片描述
用户预定成功后,用户可以在我的预定模块查询自己的预定宾馆信息,如图5.11所示。

在这里插入图片描述
宾馆预定后端逻辑代码如下:

@RequestMapping(value = "/addMyOrder", method = RequestMethod.POST)
@ApiOperation(value = "新建订单")
public Result<Object> addMyOrder(@RequestParam String id,@RequestParam String date){
    Dormitory dormitory = iDormitoryService.getById(id);
    if(dormitory == null) {
        return ResultUtil.error("宾馆不存在");
    }
    QueryWrapper<DormitoryOrder> qw = new QueryWrapper<>();
    qw.eq("dormitory_id",id);
    qw.eq("order_date",date);
    long count = iDormitoryOrderService.count();
    if(count > 0) {
        return ResultUtil.error("宾馆当日已被预定");
    }
    User currUser = securityUtil.getCurrUser();
    DormitoryOrder order = new DormitoryOrder();
    order.setUserId(currUser.getId());
    order.setUserName(currUser.getNickname());
    order.setOrderTime(DateUtil.now());
    order.setPayFlag("否");
    order.setDormitoryId(dormitory.getId());
    order.setPrice(dormitory.getPrice());
    order.setRemark("");
    order.setDormitoryName(dormitory.getTitle());
    order.setOrderDate(date);
    iDormitoryOrderService.saveOrUpdate(order);
    return ResultUtil.success();
}

5.5宾馆资讯模块的设计和实现

宾馆管理员可以根据自己的需求,发布关于宾馆的新闻信息,新闻资讯应包括了新闻图片、文字,管理员发布后,用户可以看到这些内容,系统同样采用了view ui的input组件,用于承载输入表单的数据。
宾馆管理员可以增删改查宾馆的资讯,如图5.12所示,更新完成后,用户就可以看到这些资讯信息。

在这里插入图片描述
查询宾馆新闻后端逻辑代码如下:

@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "分页获取")
public Result<IPage<DormitoryNews>> getByPage(PageVo page){
    IPage<DormitoryNews> data = iDormitoryNewsService.page(PageUtil.initMpPage(page));
    return new ResultUtil<IPage<DormitoryNews>>().setData(data);
}

总结与展望

本文档介绍并设计了一个宾馆管理系统。从系统的总体结构出发,介绍了宾馆管理系统的六大功能模块。经过3个月的开发,宾馆管理系统最终完成。

在设计之初,通过大量国内外文献的收集和比较,对宾馆管理系统的现状进行了分析,阐述了研究的背景和意义,分析了其优缺点和国内外现状。同时介绍了宾馆管理系统开发中使用的具体技术,并说明了这些技术的优缺点。在此基础上完成了数据库的设计。
在开发实现阶段,使用 Idea开发工具编写实现代码,并引入 SpringBoot框架来简化 Web开发。 数据层使用 MyBATIS持久性框架和 MySQL数据库。

本文件设计的宾馆管理系统能有效地满足宾馆的相关需求。 工艺合理,操作简单,界面简洁美观。 适合宾馆经理。 但是,由于个人水平等因素的欠缺,目前仍存在许多问题和研究差距。 例如,本文设计的宾馆管理系统使用 MySQL来存储系统生成的数据,但是随着信息量的增加,可能会影响以后的性能。 稍后,考虑添加缓存以增加数据存储量。 其次,确保客人信息的安全也是当务之急,宾馆员工的信息安全也极为重要。 本文不讨论信息安全。 要有一个完整的系统,我们需要深入研究信息安全。 此外,由于系统本身与离线宾馆没有连接,导致现有的离线宾馆订单信息无法查询。

此外,系统没有黑客攻击场景模块,缺乏防御黑客攻击的措施。 因此,一旦宾馆管理系统被黑客攻击,很可能导致系统瘫痪、宾馆预订数据丢失或客户信息泄露,这是我们不希望看到的,所以要完善宾馆管理系统,还需要对安全性方面深入探讨

参考文献

[1]马雪莲.宾馆管理信息化系统设计与实现[D].天津:天津大学,2012
[2]王海群.大型宾馆商店形象对顾客满意与忠诚的影响研究[D].浙江:浙江大学,2006
[3]高妮娜.基于J2EE的东营胜大宾馆信息管理系统的设计与实现[D].成都:电子科技大学,2013.
[4]J2EE开发框架[EB/OL].http://baike.sogou.com/v54230260.htm,2014
[5]尹汉东,任邵东等.基于J2EE的Web应用的MVC架构实现[J].北京:计算机仿真,2004,
[6]张勇.基于MVC的J2EE架构研究与设计[D].上海:华东师范大学,2006
[7]Spring简介[EB/OL].http://baike.sogou.com/v25116.htm?sp=SSTSpring,2014
[8]夏宽理.Java语言程序设计[M].北京:机械工业出版社,2008.
[9]郑阿奇,殷红先,张为民.PowerBuilder实用教程[M].北京:电子工业出版社,2013.
[10]陈承欢.SQLServer2014数据库应用、管理与设计[M].北京:电子工业出版社,2016.

致 谢

毕业设计是对四年教育中学到的知识具体应用的机会。通过这次毕业设计,我不仅复习了课上所学的专业知识,而且在老师和同学的帮助下,学习和体验了软件结构设计的基本技能和概念。我非常感谢三年来训练和指导我的老师们,特别是在我的研究设计过程中细心陪伴我的老师和学生们。

首先,我要感谢我的导师和导师们,是他们在我毕业的最后关头给了我们巨大的帮助和鼓励,给了我很多解决问题的思路。谨向您表示衷心的祝贺和感谢。

在结构规划方面,我注意到理论知识的缺乏。许多细节都是模糊的,这可能会在设计的每个阶段造成大大小小的问题。然而,在老师们的不断指导和指导下,在同学们的帮助和努力下,所有的问题都一个一个地解决了,现在这些知识真的是我的了。

关于毕业设计,教授给了我最重要的建议和帮助。我不仅学到了很多专业知识,更重要的是,我学到了很多做人、学习和工作的知识。我们也要感谢所有学生的合作和支持。在这段时间里,我们一起学习、讨论、进步,并建立了深厚的友谊。

在大学里,教师和学生互相学习,互相帮助,一起度过了美好而难忘的时光。我们也感谢我们的商界朋友和同事提供的鼓舞人心的材料。我们也要感谢参考文献的作者。多亏了您的研究结果,我的研究主题有了一个很好的出发点。

最后,感谢你们的辛勤工作。我非常感谢家人、同学、朋友和同事对我的支持和鼓励。


引用说明:
引用以上内容的用户,必须同意以下内容,否则请勿引用!

  1. 出于自愿而使用本文,了解引用本文的风险,且同意自己承担引用本文的风险。
  2. 利用本文内容构建的任何信息内容以及导致的任何版权纠纷和法律争议及后果和作者无关,作者对此不承担任何责任。
  3. 在任何情况下,对于因引用本文而导致的任何难以合理预估的损失(包括但不仅限于商业利润损失、业务中断与业务信息丢失),作者概不承担任何责任。
  4. 必须了解使用本文内容的风险,作者不对其提供二次维护服务,也不提供任何有关资料。

在这里插入图片描述

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

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

相关文章

树形结构——红黑树

前言 在 JDK1.8 之后&#xff0c;HashMap 的底层是由数组、链表、红黑树来实现的&#xff0c;当数组长度到 64 的时候&#xff0c;或者链表长度到 8 的时候&#xff0c;会调用 treeifyBin 转换为红黑树实现。因为红黑树是小伙伴们面试的时候经常被考到的知识点&#xff0c;因此…

OSPF-MGRE实验

1.首先配ip [r6]int g 0/0/1 [r6-GigabitEthernet0/0/1]ip add 192.168.1.2 24 [r6-GigabitEthernet0/0/1]int g 0/0/0 [r6-GigabitEthernet0/0/0]ip add 192.168.2.2 24 [r6-GigabitEthernet0/0/0]int g 0/0/2 [r6-GigabitEthernet0/0/2]ip add 192.168.3.2 24 [r6-GigabitEt…

git pull 和git fetch

1.git fetch 用户一&#xff1a;本地初始化项目&#xff0c;创建文件&#xff0c;保存本地仓库&#xff0c;提交远程仓库 $ git init $ touch file.txt $ git add . $ git commit -m "创建了file.txt文件" [master (root-commit) 4dcee36] 创建了file.txt文件1 file …

简单又好用的财务分析工具有哪些?

什么样的财务分析工具才能算是简单又好用&#xff1f;是能够快速完成组合多变的财务指标运算分析&#xff1b;能够充分发挥企业经营健康晴雨表作用&#xff0c;反映企业财务健康状态&#xff1b;还是能够支持多维度动态分析、自助分析&#xff1b;或者是轻松合并账套&#xff0…

跨域与JSONP

1、同源策略 1.1、什么是同源 如果两个页面的协议&#xff0c;域名和端口都相同&#xff0c;则两个页面具有相同的源。 例如&#xff0c;下表给出了相对于 http://www.test.com/index.html 页面的同源检测&#xff1a; URL 是否同源 原因 http://www.test.com/other.html…

智慧图书馆中的“智慧”体现在哪些方面?

在信息时代背景下&#xff0c;各个领域都发生了巨大变革&#xff0c;图书馆也不例外&#xff0c;开始逐步向着现代化方向发展。传统图书馆存在较多的缺陷&#xff0c;已经无法满足人们的借阅需求&#xff0c;引进信息化技术&#xff0c;打造智慧图书馆是目前图书馆的必然发展趋…

Linux学习记录——오 vim基本知识

** Linux开发工具 ** Linux开发工具——vim vim最小集 vim是一个多模式编辑器&#xff0c;vi也一样&#xff0c;但vim兼容了vi的所有指令&#xff0c;还有一些独有的特性&#xff0c;本篇只针对vim展开。vim有各种模式&#xff0c;每个模式的用法都有差别&#xff0c;模式…

【数据在内存中的存储】肝货满满

前言 我们知道在C语言中的基本内置类型&#xff1a; char //字符数据类型short //短整型int //整形long //长整形long long //更长的整形float //单精度浮点型double //双精度浮点型 那么这些类型是如何存储的呢&#xff1f; 回顾指针类型&#xff1a; *int pi*char pc*float…

String的讲解(Java系列9)

目录 前言&#xff1a; 1.String 1.1字符串的构造 1.2Sting对象的比较 1.3字符串的查找 1.4字符串的转化 1.4.1数值和字符转换 1.4.2大小写转换 1.4.3字符串转数组 1.4.4格式化 1.5字符串的替换 1.6字符串拆分 1.7字符串截取 1.8字符串去空格 1.9字符串的不可变…

Matplotlib笔记 · 绘图区域的结构和子图布局与划分(figure, axes, subplots)

文章目录1. 绘图区域的结构2. subplot系方法 ( subplot布局 )2.1 使用 add_subplot(nrows, ncols, index) 逐一创建子图2.2 控制子图大小和位置 ( add_subplot(nrows, ncols, index) 参数详解 )2.3 使用 subplots(nrows, ncols) 批量创建多张子图3. axes系方法 ( axes布局 )3.1…

基于张量变换域低秩正则化的图像恢复方法

高光谱图像、磁共振图像、RGB图像等都可以表示成三维数组的形式&#xff0c;在数学上将这种多维数组称为高阶张量&#xff0c;同样&#xff0c;上述三种图像都可以表示成三阶张量。在空间上&#xff0c;图像本身就具有结构相似性&#xff0c;在高光谱图像的第三个模态上&#x…

日志分析工具

iis、windows日志做日志分析比较麻烦&#xff0c;这里找到了一款好用的免费的日志分析工具 Log Parser Lizard&#xff0c;下载这个工具之前建议先安装LogParser虽然他会自动弹窗提示。 1. 安装软件 安装没什么好说的一直下一步下一步就行 启动之后点击OK 弹出激活页面让激活…

mod函数怎么取模

mod 是 MySQL 中的数值函数&#xff0c;写法为&#xff1a;mod(x,y)&#xff0c;意思是返回x/y的取模的值。 什么是取模&#xff1f;取模就是取余数。 ① 如果第一个值比第二个值大&#xff0c;我整理出来的取模公式就是&#xff1a;第一个值-第一个值里面包含了几个第二个值相…

MATLAB-多边形填充图绘制

fill函数用于绘制并填充二维多边图形。将数据点视为多边形顶点&#xff0c;并将此多边形涂上颜色&#xff0c;便于用户理解图形中的数据代表的含义。具体调用方法如下:fill(X, Y,C):用X和Y中的数据生成多边形&#xff0c;用C指定颜色填充。其中C为色图向量或矩阵。若C是行向量&…

商标注册流程有什么步骤

​一、商标注册流程有什么步骤? 商标注册流程&#xff1a; 1、需要企业提供营业执照副本复印件和商标样稿及主要商品或服务&#xff0c;递交商标局; ​ 2、商标局形式审查(7-15个工作日)接到《商标注册申请受理通知书》; 3、商标局实质审查(5-8个月左右); 4、商标公告(3…

【Linux多线程编程】3. 多线程共享资源

回顾 上篇文章【Linux多线程编程】2.线程创建与回收 简单介绍了如何创建一个线程并且回收它&#xff0c;末尾给出了如下这段代码&#xff0c;本文将从这段代码入手介绍线程资源、线程共享资源、线程独占资源&#xff0c;并在最后引出多线程安全访问资源的方法。 /** test_pth…

新华三(H3C)的沉浮往事

根据2023年1月3日紫光股份发布的最新公告&#xff0c;Hewlett Packard Enterprise Company全资子公司H3C Holdings Limited&#xff08;“HPE 开曼”&#xff09;和Izar Holding Co&#xff0c;将向紫光股份全资子公司紫光国际信息技术有限公司出售其持有的新华三集团有限公司合…

【Linux】伪目标 PHONY | 探讨项目构建问题 | Makefile | 依赖关系与依赖方法

&#x1f923; 爆笑教程 &#x1f449; 《看表情包学Linux》&#x1f448; 猛戳订阅 &#x1f525; &#x1f4ad; 写在前面&#xff1a;本章我们要学习的是 makefile。会不会写 makefile&#xff0c;从一个侧面说明一个人是否具备完成大型工程的能力。一个工程中的源文件不计…

Vector - VT System - 板卡_VT1004

今天我们来聊一下导入和测量模块VT1004版本&#xff0c;我们从它的技术参数、通道介绍、功能介绍几个方面来全面的介绍这块板卡&#xff0c;废话不多说&#xff0c;我们直接来看这2块板卡吧。 测量模块 - VT1004 通道功能介绍&#xff1a; >通过继电器切换到原始负载和母线…

Qt扫盲-QSet理论总结

QSet理论总结一、概述二、使用1. 声明2. 插入元素3. 遍历元素4. 删除元素5. 集合的运算6. 其他一、概述 QSet是Qt的通用容器类之一。俗称一个集合。QSet会按未指定的顺序存储值&#xff0c;也就是随机存值的方式&#xff0c;并提供非常快速的值查找。在内部&#xff0c;QSet实…