springboot四川旅游攻略分享互动平台-计算机毕业设计源码70222

摘  要

本研究基于Spring Boot框架开发了一款高效、可靠的四川旅游攻略分享互动平台。该系统主要面向管理员、普通用户和商家用户,涵盖了多个功能模块,包括旅游景点、旅游攻略、景点订单、酒店订单、酒店信息等。通过对系统需求的分析和设计,采用了合理的数据库结构和前后端技术实现,系统实现了用户注册登录、旅游景点、旅游攻略、餐厅信息、特色路线、文化历史、酒店信息功能等核心功能。借助Spring Boot框架的优势,系统具备良好的代码模块化、可扩展性和易维护性。在系统开发过程中,进行了充分的测试和优化,以确保系统的稳定性和性能。同时,注重用户体验,通过友好的界面设计和操作流程,为用户提供个性化的旅游攻略分享和互动服务。

本系统的开发旨在提供准确、高效的四川旅游攻略分享互动平台,促进旅游行业的发展和用户满意度的提升。通过该平台,用户可以方便地浏览四川的旅游景点信息、获取旅游攻略、预订酒店和景点门票等服务。同时,用户还可以分享自己的旅游经验和攻略,与其他用户进行互动交流。

基于Spring Boot框架的四川旅游攻略分享互动平台的设计与实现为用户提供了丰富的旅游信息和便捷的服务,推动了旅游行业的发展,提高了用户的满意度和体验。

关键词:四川旅游攻略分享互动平台;Java;MySQL; springboot

Abstract

This study developed an efficient and reliable Sichuan tourism strategy sharing and interactive platform based on the Spring Boot framework. The system is mainly aimed at administrators, ordinary users, and business users, covering multiple functional modules, including tourist attractions, travel guides, tourist attraction orders, hotel orders, hotel information, etc. Through the analysis and design of system requirements, a reasonable database structure and front-end and back-end technology were adopted to implement core functions such as user registration and login, tourist attractions, travel strategies, restaurant information, specialty routes, cultural history, and hotel information. By leveraging the advantages of the Spring Boot framework, the system has good code modularity, scalability, and ease of maintenance. During the system development process, sufficient testing and optimization were conducted to ensure the stability and performance of the system. At the same time, we focus on user experience and provide personalized travel strategy sharing and interactive services for users through user-friendly interface design and operation processes.

The development of this system aims to provide an accurate and efficient interactive platform for sharing Sichuan tourism strategies, promoting the development of the tourism industry and improving user satisfaction. Through this platform, users can conveniently browse information on tourist attractions in Sichuan, obtain travel guides, book hotels and scenic spot tickets, and other services. At the same time, users can also share their travel experiences and strategies, and interact with other users.

The design and implementation of a Sichuan tourism strategy sharing and interactive platform based on the Spring Boot framework provides users with rich tourism information and convenient services, promotes the development of the tourism industry, and improves user satisfaction and experience.

Key words :Sichuan Tourism Strategy Sharing and Interactive Platform; Java; MySQL; Springboot

  

  

  

1 绪论

1.1 选题背景

1.2研究意义

1.3主要研究内容

1.4论文结构与章节安排

2 相关技术介绍 2

2.1 Java编程语言 2

2.2 jQuery框架 2

2.3 MySQL数据库管理系统 2

2.4 Springboot框架..............................................2

3 系统需求分析

3.1可行性分析

3.1.1 技术可行性分析

3.1.2 操作可行性分析

3.1.3 经济可行性分析

3.2功能需求分析

3.3用例分析

4系统总体设计

4.1系统功能模块设计

4.1.1 前台页面设计

4.1.2 用户模块设计

4.1.3 评论管理模块设计

4.1.4酒店管理模块设计

4.2数据库设计

4.2.1数据库概要设计

4.2.2数据库逻辑设计

5系统详细实现

5.1 系统总体的逻辑结构图

5.1.1系统MVC结构图

5.1.2系统的三层架构图

5.2系统功能实现

5.2.1系统主页功能实现

5.2.2用户注册登录功能实现

5.2.3评论功能实现

5.2.4旅游新闻功能实现

5.2.5旅游景点功能实现......................................

5.2.6用户管理功能实现

5.2.7旅游攻略功能实现

5.2.8景点订单管理功能实现

5.2.9餐厅信息管理功能实现

6系统测试

6.1 系统测试目的

6.2 系统可用性测试

6.3 系统典型测试用例

6.4 测试总结

总结

参考文献

  

1 绪论

1.1 选题背景

在当今社会,旅游已经成为人们生活中不可或缺的一部分。随着互联网技术的快速发展和普及,越来越多的人通过网络获取旅游信息,并希望能够与他人分享自己的旅行经验和心得。然而,在传统的旅游攻略分享方式中,往往存在信息不准确、更新不及时以及交流不便等问题。

基于这个背景,本研究选择开展旅游攻略分享互动平台的设计与实现。该平台旨在通过应用现代化的技术手段,设计并实现一个高效、可靠的平台,供用户分享和获取旅游攻略,促进旅游信息的交流和互动。

该平台主要面向旅游爱好者和游客,提供了旅游攻略的发布、浏览和评论等核心功能。用户可以根据自身的旅行经历和见解,编写详细的旅游攻略,并与其他用户进行交流和互动。用户可以浏览他人的攻略,获取实用的旅行建议,同时也可以对攻略进行点赞和评论,分享自己的旅行体验。

通过该平台,用户可以方便地获取各地的旅游攻略、了解景点特色和交通指南,同时也能够与其他旅行者分享自己的见闻和感受。这不仅为用户提供了更加准确和实用的旅游信息,也促进了用户之间的互动和交流,丰富了旅行体验。

本研究的目标是设计和实现一个高效、可靠的旅游攻略分享互动平台,为用户提供便捷的旅游攻略获取和交流渠道,推动旅游信息的共享和互助。同时,该平台还有助于促进旅游行业的发展,提升旅游服务质量和用户满意度。

1.2研究意义

随着社会的发展和人们旅游需求的增长,旅游攻略分享互动平台的研究具有重要的意义。首先,该平台为用户提供了一个集中获取旅游攻略和分享经验的平台,方便用户获取准确、实用的旅游信息,节省了时间和精力。其次,通过分享和交流旅游攻略,用户可以相互借鉴和启发,提高旅行的质量和效果。这不仅丰富了用户的旅行体验,也促进了旅游行业的发展和推广。此外,旅游攻略分享互动平台还有助于推动旅游资源的合理利用和保护,促进旅游产业的可持续发展。最后,个体用户通过参与旅游攻略分享互动,可以拓宽自己的视野、增长知识,并与其他旅行者建立联系,丰富了个人的社交网络。综上所述,旅游攻略分享互动平台的研究对于提升用户的旅行体验、推动旅游行业发展以及促进旅游资源的可持续利用具有重要的意义。

1.3主要研究内容

本文针对四川旅游攻略分享互动平台从选题背景、系统设计、开发实现和软件测试等方面进行了详细介绍。系统的主要功能包括管理员、普通用户、商家用户、旅游景点、旅游攻略、景点订单、酒店订单、酒店信息等,并充分考虑系统将来移动互联网相关的应用。系统采用主流B/S结构模式,使用Java开发框架技术和Myql数据库技术进行开发实现。从总体设计到各个模块的功能设计做了详细介绍,展示了部分界面和代码的实现内容,同时介绍了系统的测试内容和测试结果。

1.4论文结构与章节安排

本文共分为六章,章节内容安排如下:

第一章:引言。第一章主要介绍了课题研究的背景意义,开发现状分析目前相关研究现状以及技术和本文的研究内容与主要工作。

第二章:相关结束介绍。第二章主要介绍了课题开发技术和框架

第三章:系统需求分析。第三章主要从系统的可行性、功能等方面进行需求分析。

第四章:系统总体设计。第四章主要对系统功能模块、数据库进行功能设计。

第五章:系统详细设计。第五章主要介绍了系统各个用户的功能、系统界面的实现。

第六章:系统测试。第六章主要对系统的部分界面进行测试并对主要功能进行测试

2 相关技术介绍

2.1 Java编程语言

早在上个世纪90年代,Java就由詹姆斯·高斯林进行开发,自诞生之日起,Java就一直深深的受到了程序开发者的广泛喜爱,它作为计算机主要的编程语言,一直到今。Java语言是真的是一种纯面向对象的计算机语言,在Java的世界中,所有的方法、数据类型、符号等都是以类的方式存在的,最顶层的就是Object,所有的类都是对object的继承。继承是Java中的核心思想,与C语言不同的是,子类只有一个父类,这样的好处就是操作更加的简便,让人更容易理解,在代码的书写上也会容易较多。Java另外一个特性就是多态性,调用父类接口的方法可以实现子类的实现,这样的好处就是很好的对实现方法进行了隐藏(封装),而且又能够把API进行公开,一举两得。接口思想很好的诠释了想象对象的思想,让面向对象编程渐渐转向面向接口编程。如今,随着编程思想的继续发展,Java也加入了一些函数式编程的思想,这样的好处就是让编程代码更加的简洁与方便。本管理系统采用Java编程语言进行后台的开发,一是鉴于标准化制定以后[4],Java语言常用于大型商业应用程序后台系统中,生态稳定;二是也希望通过本系统的开发提高自己编写Java代码的能力。

2.2 jQuery框架

在Web项目中,异步请求是必须要使用的技术,最早是通过javaScript进行异步请求,这样的操作非常的繁琐,随着jquery的出现,给代码的书写提供了很多的方便,ajax就可以操作相应的代码,本质上说,jQuery是js的封装的库,js在获取DOM元素的时候需要书写的代码量大,而且随着如今前台项目越来越庞大,js完全不能满足当前的需求,通过jquery则可以非常简单的获取相应的DOM元素。正是如此,jquery在前台应用十分广阔,成为必备的前台技术之一。

2.3 MySQL数据库管理系统

数据库作为数据的存储地方是项目必须的,MySQL是一款非常优秀的关系型数据库,早期的Mysql并不是甲骨文公司的,后来才被他收购的。Mysql非常的小巧,安装包才几兆,sql语言的书写也比较容易学习,最重要的是mysql同时也是一款开源的软件,所以不需要额外进行付费,本系统本身也是以学习总结所学知识为主,在系统的开发上最好尽量使用免费的软件,所以选用mysql进行数据库管理。Mysql的容量也是非常大的,同时支持分库分表的操作,支持分布式,所以越来越多的中小企业选择该款数据库管理工具。另外值得一提的是,开源也有一个不好的地方,就是容易遭到破解和黑客攻击,所以mysql在使用上还是更多的使用在中小项目中。

2.4 Springboot框架

Spring boot是一种新的开源轻量级框架,它继承了Spring framework的优秀特性。它是Spring 4.0之后提供的一个自动启动框架,通过配置进一步简化了Spring应用程序的构建和开发的整个过程。此外,Springboot还集成了大量的框架,解决了依赖包的版本冲突和引用不稳定的问题。

SpringBoot有两个核心,快速启动和自动装配。快速启动是指Spring Boot通过main方法启动,而且内置Web容器(Tomcat)。自动装配是指采用习惯优于配置的理念,可以进行自动化配置(EnabelAutoConfiguration),框架采用注解和properties(或yaml)代替传统的Xml配置。

3 系统需求分析

3.1可行性分析

通过以下的系统总体需求分析,进而分析是否拥有达成需求的技术、资金和开发人员等条件。那么就从以下几点进行简单的说明:

3.1.1 技术可行性分析

四川旅游攻略分享互动平台通过分析以上的系统需求,首先需要使用数据库存储各种数据,包括酒店信息数据、酒店订单数据、景点订单数据、旅游景点数据等。其次,后端数据要调到页面上来,所以需要使用到前端技术,包括html,css 和javascript三大技术。当前端发出请求的时候,还需要中间件的支持等。这些技术在学校基本都学习过了,而且在使用上如果发生遗忘都可以查询到相关知识进行补充。所以总的来说,技术可行性是没有问题的。

3.1.2 操作可行性分析

总体来严,该系统的操作设计和逻辑设计还是比较简单的。因为总体的设计目标只是包括数据的读取等基本内容。而且,就目前使用的客户一般都是用户和管理人员,都是有较高文化的一群人和学习能力较强的人。但是还是要把程序的操作设计得尽量简单,比如预约看房等功能,比如用户的登录和登出功能等,都需要尽量的简单,这样让系统用户更容易上手。针对管理员的操作,这边需要指出,是需要一定的理解的,比如房产信息管理,预约看房管理的设定,比如各类信息的添加和修改等,还是需要一定的计算机基本认识,如有需要,可以对其进行简单的介绍或者培训。

3.1.3 经济可行性分析

整体来说,项目的开发使用的硬件和软件还是不多的,硬件就是一台电脑,软件需求比较多,因为现在都有很多开源软件可是使用,所以投入也是不高的,项目使用的开源软件还是比较多的,比如mysql,tomcat,mybatis等,图标字体阿里巴巴的图标字体库,版本控制使用的git等。总体的投入主要就是开发的时间投入,所以总的来说,经济可行性也是没有问题的。

3.2功能需求分析

四川旅游攻略分享互动平台的主要目的分为两个。

(1)四川旅游攻略分享互动平台提供了一个用户和用户,用户与管理员进行互动交流的系统,用户可以通过注册获取一个帐户,查询酒店信息,进行订房等。在这个系统中,用户之间可以进行随时查询、订房、购票等。

(2)该系统需要很好的功能扩充性和可维护性。由于该系统是涉及的用户比较多,对管理员来说同样也是一个信息管理系统,包括用户信息,资讯信息,酒店信息、旅游景点等。而且,随着用户数量的增加,必然对程序的更新迭代要求更高,所有在开发的时候就需要注意程序的可维护性和可拓展性。

3.3用例分析

四川旅游攻略分享互动平台中的管理员角色主要负责了如下功能操作。

(1)轮播图/通知公告管理功能需求:管理员可以对这两部分进行添加,修改,删除和查询等。

(2)系统用户功能需求:用户管理部分包括了管理员、商家用户和普通用户两部分,管理员可以对这三部分进行添加,修改,删除以及查询等。

(3)酒店信息管理功能需求:管理员可以对其进行添加,修改,删除,查询等。

(4)酒店订单管理功能需求:管理员可以进行查询,编辑,删除操作。

(5)旅游景点管理功能需求:管理员可以进行添加、查询,编辑,删除操作。

(6)景点订单管理功能需求:管理员可以进行查询、编辑,删除操作。

(7)旅游攻略管理功能需求:管理员可以进行添加、查询,编辑,删除操作。

(8)文化历史管理功能需求:管理员可以进行添加、查询,编辑,删除操作。

(9)资源管理:管理员可以对四川旅游攻略分享互动平台前台展示的旅游新闻以及新闻所属的分类进行管控。

图3-1管理员角色用例图

四川旅游攻略分享互动平台中的前台普通用户角色主负责了如下功能操作。

(1)用户查看系统信息功能需求:用户可以通过系统首页查看四川旅游攻略分享互动平台,包括首页,通知公告、旅游新闻、酒店信息、旅游景点、特色路线、文化历史、餐厅信息,同时可以输入关键词进行房产查询等模块,用户可以对房产信息进行购票、订房、收藏,评论等操作。

(2)用户登录与注册功能需求:用户可以通过注册获取帐户。

(3)酒店信息功能需求:用户登录系统以后,是可以进行对酒店信息查看,进行订房、评论等操作。

(4)通知公告功能需求:用户登录系统以后,是可以进行对通知通知公告进行浏览。

(5)我的账户功能需求:用户登录系统以后,是可以进行我的账户进行管理的,包括个人资料,修改密码两部分。

(5)旅游新闻:用户可以查看旅游新闻信息,在查询到自己想要了解的旅游新闻的时候,可以进入查看详细的介绍进行评论、点赞、收藏操作。

(6)旅游景点功能需求:用户登录系统以后,是可以进行对旅游景点查看,进行购票、评论等操作。

图3-2 前台普通用户角色用例图

4系统总体设计

4.1系统功能模块设计

四川旅游攻略分享互动平台的整体架构确定以后,再来看四川旅游攻略分享互动平台的主要功能模块图。整体的功能模块包括前台和后台,前台就是主要的页面,包括首页,首页,通知公告、旅游新闻、酒店信息、旅游景点、特色路线、文化历史、餐厅信息等页面。后台的模块主要实现了管理员用户,有系统用户、首页,通知公告、旅游新闻、酒店信息、旅游景点、特色路线、文化历史、餐厅信息等。确定了模块以后,再设计各个模块的功能特点,方便抽取出各个模块的公共部分来。

图4-1四川旅游攻略分享互动平台功能模块图

4.1.1 前台页面设计

本四川旅游攻略分享互动平台的前台页面所有的页面设计主要是上中下的结构,这样的好处是让所有的页面更加的整洁。主题的页面颜色采用淡色为主,为突出页面的美观。主页面上分为导航栏,导航栏的每个导航项目设计为一张Java页面,除此之外,还有就是用户中心页面,后台管理的页面了。后台管理页面已简单的上下结构为主。

4.1.2 用户模块设计

(1)用户模块结构图

本系统的用户包括管理员、商家用户和普通用户模块。三种用户模块的功能基本是相同的,普通用户模块比管理员多了一个注册功能,所以以用户模块的结构图为例进行分析,如下图:

图4-2用户模块结构图

(2)各个结构的具体业务逻辑

a.查询用户信息:设计最基础的查询功能,主要就是根据用户id查询用户信息。该功能主要体现在管理员用户信息查询和用户自己查询信息的时候。

b.修改用户信息:用户可以根据情况,对自己的基本信息进行修改,包括名字修改、密码修改、头像修改等操作。

c.增加用户:用户可以通过注册来获得账号

d.删除用户信息:管理员没有权利进行删除信息的删除,最多把用户加入到黑名单中,禁止用户进行登录操作。

4.1.3 评论管理模块设计

(1)评论模块结构图

四川旅游攻略分享互动平台是一个交流性质的公开系统,用户和用户之间可以对系统上的内容,比如穿搭论坛、预约看房等进行点评,增加用户之间的互动性。但是同时也为了更好的规范评论的内容,给予管理员删除不合适的言论的功能,所以需要专门设计一个评论管理模块,具体的结构图如下:

图4-3评论模块结构图

(2)各个结构的具体业务逻辑

a.查询评论:设计最基础的查询功能,主要就是根据用户id查询该用户下的所有评论信息。

b.发布评论:普通用户用户可以根据情况,发布自己评论信息到系统上。

c.删除评论:管理员没有权限修改用户的评论信息,但是可以删除用户的整条评论。

4.1.4酒店管理模块设计

(1)酒店信息模块结构图

四川旅游攻略分享互动平台是中需要存储不少用户酒店信息,普通用户可以查看酒店信息,管理员可以添加,修改,删除酒店信息等,具体的结构图如下:

图4-4酒店信息模块结构图

(2)各个结构的具体业务逻辑

a.添加房产信息:管理员和商家可以对酒店信息进行添加。

b.修改房产信息:管理员和商家可以对酒店信息进行修改。

c.删除房产信息:管理员和商家可以对酒店信息进行删除。

3.2数据库设计

3.2.1数据库概要设计

四川旅游攻略分享互动平台根据上面的E-R实体图,就再找到实体与实体之间的关系来,制作总的E-R图,实体之间的关系一共有4种,也就是一对一,多对一,一对多和多对多,总的E-R图是设计数据库表格的依据,如下图是系统的总E-R图。

图4-5系统总体E-R图

4.2.2数据库逻辑设计

通过上一小节中四川旅游攻略分享互动平台中总E-R关系图上得出一共需要创建很多个数据表。在此我主要罗列几个主要的数据库表结构设计。

表attraction_orders (景点订单)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

attraction_orders_id

int

10

0

N

Y

景点订单ID

2

attraction_name

varchar

64

0

Y

N

景点名称

3

scenic_area

varchar

64

0

Y

N

景点地区

4

detailed_address

varchar

64

0

Y

N

详细地址

5

admission_price

int

10

0

Y

N

0

门票价格

6

number_of_tickets_purchased

int

10

0

Y

N

0

购票数量

7

total_price

varchar

64

0

Y

N

合计总价

8

ticket_purchase_date

date

10

0

Y

N

购票日期

9

ticketing_users

int

10

0

Y

N

0

购票用户

10

user_name

varchar

64

0

Y

N

用户姓名

11

pay_state

varchar

16

0

N

N

未支付

支付状态

12

pay_type

varchar

16

0

Y

N

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

13

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

14

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

更新时间:

表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:

表cultural_history (文化历史)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

cultural_history_id

int

10

0

N

Y

文化历史ID

2

article_title

varchar

64

0

Y

N

文章标题

3

author_of_the_article

int

10

0

Y

N

0

文章作者

4

cover_photo

varchar

255

0

Y

N

封面图片

5

article_description

varchar

64

0

Y

N

文章描述

6

main_text_of_the_article

longtext

2147483647

0

Y

N

文章正文

7

praise_len

int

10

0

N

N

0

点赞数

8

examine_state

varchar

16

0

N

N

未审核

审核状态

9

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表featured_routes (特色路线)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

featured_routes_id

int

10

0

N

Y

特色路线ID

2

route_name

varchar

64

0

Y

N

路线名称

3

departure_location

varchar

64

0

Y

N

出发地点

4

destination_location

varchar

64

0

Y

N

终点地点

5

cover_photo

varchar

255

0

Y

N

封面图片

6

share_users

int

10

0

Y

N

0

分享用户

7

route_content

text

65535

0

Y

N

路线内容

8

praise_len

int

10

0

N

N

0

点赞数

9

examine_state

varchar

16

0

N

N

未审核

审核状态

10

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

11

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:

表hotel_information (酒店信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

hotel_information_id

int

10

0

N

Y

酒店信息ID

2

store_name

varchar

64

0

Y

N

店家名称

3

store_address

varchar

64

0

Y

N

店家地址

4

hotel_pictures

varchar

255

0

Y

N

酒店图片

5

hotel_facilities

varchar

64

0

Y

N

酒店设施

6

hotel_room_type

varchar

64

0

Y

N

酒店房型

7

room_price

int

10

0

Y

N

0

房间价格

8

merchant_users

int

10

0

Y

N

0

商家用户

9

store_phone

varchar

64

0

Y

N

店家电话

10

hotel_introduction

text

65535

0

Y

N

酒店简介

11

hits

int

10

0

N

N

0

点击数

12

praise_len

int

10

0

N

N

0

点赞数

13

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

14

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表hotel_orders (酒店订单)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

hotel_orders_id

int

10

0

N

Y

酒店订单ID

2

store_name

varchar

64

0

Y

N

店家名称

3

store_address

varchar

64

0

Y

N

店家地址

4

hotel_room_type

varchar

64

0

Y

N

酒店房型

5

merchant_users

int

10

0

Y

N

0

商家用户

6

room_price

int

10

0

Y

N

0

房间价格

7

booking_days

int

10

0

Y

N

0

订房天数

8

number_of_room_reservations

int

10

0

Y

N

0

订房数量

9

total_price

varchar

64

0

Y

N

合计总价

10

ordinary_users

int

10

0

Y

N

0

普通用户

11

user_name

varchar

64

0

Y

N

用户姓名

12

user_phone_number

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

更新时间

表merchant_users (商家用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

merchant_users_id

int

10

0

N

Y

商家用户ID

2

store_name

varchar

64

0

Y

N

店家名称

3

store_address

varchar

64

0

Y

N

店家地址

4

store_phone

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

更新时间:

表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_phone_number

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

更新时间

表restau_information (餐厅信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

restau_information_id

int

10

0

N

Y

餐厅信息ID

2

store_name

varchar

64

0

Y

N

店家名称

3

store_address

varchar

64

0

Y

N

店家地址

4

merchant_users

int

10

0

Y

N

0

商家用户

5

store_phone

varchar

64

0

Y

N

店家电话

6

signboard_products

varchar

64

0

Y

N

招牌产品

7

per_capita_consumption

int

10

0

Y

N

0

人均消费

8

store_image

varchar

255

0

Y

N

店家图片

9

store_introduction

text

65535

0

Y

N

店家简介

10

hits

int

10

0

N

N

0

点击数

11

praise_len

int

10

0

N

N

0

点赞数

12

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

13

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表restau_orders (餐厅订单)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

restau_orders_id

int

10

0

N

Y

餐厅订单ID

2

store_name

varchar

64

0

Y

N

店家名称

3

store_address

varchar

64

0

Y

N

店家地址

4

merchant_users

int

10

0

Y

N

0

商家用户

5

appointment_time

datetime

19

0

Y

N

预约时间

6

ordinary_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

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表route_classification (路线分类)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

route_classification_id

int

10

0

N

Y

路线分类ID

2

route_classification

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

更新时间

表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

更新时间:

表tourism_strategy (旅游攻略)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

tourism_strategy_id

int

10

0

N

Y

旅游攻略ID

2

strategy_title

varchar

64

0

Y

N

攻略标题

3

attraction_name

varchar

64

0

Y

N

景点名称

4

attraction_address

varchar

64

0

Y

N

景点地址

5

share_users

int

10

0

Y

N

0

分享用户

6

cover_photo

varchar

255

0

Y

N

封面图片

7

strategy_details

text

65535

0

Y

N

攻略详情

8

praise_len

int

10

0

N

N

0

点赞数

9

examine_state

varchar

16

0

N

N

未审核

审核状态

10

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

11

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表tourist_attractions (旅游景点)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

tourist_attractions_id

int

10

0

N

Y

旅游景点ID

2

attraction_name

varchar

64

0

Y

N

景点名称

3

scenic_area

varchar

64

0

Y

N

景点地区

4

detailed_address

varchar

64

0

Y

N

详细地址

5

opening_hours

varchar

64

0

Y

N

开放时间

6

scenic_spot_pictures

varchar

255

0

Y

N

景点图片

7

admission_price

int

10

0

Y

N

0

门票价格

8

introduction_to_scenic_spots

text

65535

0

Y

N

景点简介

9

hits

int

10

0

N

N

0

点击数

10

praise_len

int

10

0

N

N

0

点赞数

11

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

12

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

5系统详细实现

5.1 系统总体的逻辑结构图

5.1.1系统MVC结构图

首先从项目整体的进行逻辑设计,采用的是目前流行的MVC模式进行开发。Model层是系统的核心层,里面含有项目的核心逻辑代码和数据库,View层是Model层的显示实例,Controller的主要的功能就是处理用户与数据交互的。值得注意的是,MVC模式的特点是为了更好的对前台和后台进行解耦的操作,控制器就是充当解耦的中间层,他可以分发前台的请求,然后通过调用模型层来处理数据。本系统使用的控制器是springMVC,springMVC的dispatchServlet是对servlert的封装。

图5-1四川旅游攻略分享互动平台MVC结构图

5.1.2系统的三层架构图

四川旅游攻略分享互动平台使用的springboot框架搭建后台系统,把所有的对象都交予spring的ioc容器进行管理,这样的好处就是能够更好的让系统掌握对象的生命周期还有方便进行依赖注入,减少代码的书写量和对象之间的耦合。具体的三层包括,控制层、业务逻辑层和数据持久化层,也就是controller, service和dao层。Dao层的实现类通过mybatis映射文件进行实例化操作。三层架构的好处就是能够更好的对系统操作进行解耦,方便维护与分工。

图5-2 四川旅游攻略分享互动平台三大操作类结构图

4.2系统功能实现

4.2.1系统主页功能实现

用户进入首页之后会显示如下的一个窗口。如下图:

图4.3四川旅游攻略分享互动平台主界面

由于该项目只是用来测试,用户登录首页展示的图片等数据有的是从项目本地拿到的,有的则是从数据库中获取的。页面中的搜索部分,页头部分等都是属于公共样式,可以进行公告样式的抽取,然后再引入到Java页面中。

4.2.2用户注册登录功能实现

该四川旅游攻略分享互动平台用户是需要先注册的,没有登录的情况下,用户进行任何的操作,都会跳到登录页面,提示注册。具体的流程图和实现界面如下:

图5-4四川旅游攻略分享互动平台用户注册登入流程图

图5-5四川旅游攻略分享互动平台用户注册界面

注册关键代码如下所示。

  /**

     * 注册

     * @param user

     * @return

     */

    @PostMapping("register")

    public Map<String, Object> signUp(@RequestBody User user) {

        // 查询用户

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

        Map<String,Object> map = JSON.parseObject(JSON.toJSONString(user));

        query.put("username",user.getUsername());

        List list = service.selectBaseList(service.select(query, new HashMap<>()));

        if (list.size()>0){

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

        }

        map.put("password",service.encryption(String.valueOf(map.get("password"))));

        service.insert(map);

        return success(1);

}     

5.2.3评论功能实现

用户可以进行评论,以用户评论为例,界面如图:

图5-6四川旅游攻略分享互动平台用户评论界面

主要的实现代码是:普通用户评论主要是对旅游攻略信息进行评论。其中评论中保存了评论的宿主编号。

5.2.4旅游新闻功能实现

当访客点击四川旅游攻略分享互动平台中导航栏上的“旅游新闻”后将会进入到该“旅游新闻”列表的界面,然后选择想要看的旅游新闻信息,点击进入到详细界面,在详细界面可以收藏+赞+评论等操作,具体的实现界面如下图:

图5-7旅游新闻界面

5.2.5 旅游景点功能实现

用户可以查看旅游景点信息,在查询到自己想要了解的旅游景点的时候,可以进入查看详细的介绍,点击“购票”这一按钮以后会跳转到购票信息填写的界面,根据提示填写好购票的信息,点击“提交”以后购票就完成了,在旅游景点详情这个界面,同时支持用户对喜欢的旅游景点进行收藏、点赞的功能,具体的流程图和实现界面如下:

图5-8 四川旅游攻略分享互动平台旅游景点流程图

图5-9四川旅游攻略分享互动平台旅游景点界面

5.2.6用户管理功能实现

管理员在用户管理模块,可以对用户信息进行管理,用户管理模块由管理员,商家用户,普通用户三部分组成组成,这里以普通用户管理为例,具体的实现界面如下图:

图5-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);

 }

5.2.7旅游攻略功能实现

点击“旅游攻略”按钮会显示自己发布的所有的旅游攻略信息,如果想要添加新的旅游攻略,点击“添加”按钮根据提示输入旅游攻略信息,点击“提交”后在旅游攻略界面就可以显示了,如果信息有错,点击“编辑”按钮可以对旅游攻略信息进行更新维护,也可以直接删除某一旅游攻略,同时设有查看管理评论的功能,对用户提交的评论进行管控,具体的实现界面如下图:

图5-11旅游攻略管理界面

旅游攻略管理关键代码如下:

 @PostMapping("/set")

@Transactional

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

        service.update(service.readQuery(request), service.readConfig(request), service.readBody(request.getReader()));

        return success(1);

    }

5.2.8景点订单管理功能实现

管理员点击“景点订单”会显示出所有的景点订单信息,支持输入景点名称或者景点地区对景点订单信息进行查询,可以选择某一条景点订单信息,点击“删除”进行删除,也可以点击后面的“支付”按钮对景点订单的支付信息进行设置,具体的实现界面如下图:

图5-12景点订单管理界面

景点订单管理关键代码如下:

  @RequestMapping(value = "/del")

    @Transactional

    public Map<String, Object> del(HttpServletRequest request) {

        service.delete(service.readQuery(request), service.readConfig(request));

        return success(1);

    }

    public void delete(Map<String,String> query,Map<String,String> config){

        QueryWrapper wrapper = new QueryWrapper<E>();

        toWhereWrapper(query, "0".equals(config.get(FindConfig.GROUP_BY)),wrapper);

        baseMapper.delete(wrapper);

        log.info("[{}] - 删除操作:{}",wrapper.getSqlSelect());

    }

5.2.9 餐厅信息管理功能实现

点击“餐厅信息”按钮会显示自己发布的所有的餐厅信息,如果想要添加新的餐厅,点击“添加”按钮根据提示输入餐厅信息,点击“提交”后在餐厅信息界面就可以显示了,如果信息有错,点击“编辑”按钮可以对餐厅信息进行更新维护,也可以直接删除某一餐厅,同时设有查看管理评论的功能,对用户提交的评论进行管控,界面如下图5-13所示。

图5-13餐厅信息管理界面

5系统测试

5.1 系统测试目的

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

5.2 系统可用性测试

系统的可用性测试是测试系统最基本的功能,比如鼠标点击是否可用,页面跳转是否正常等。下面是具体的测试结果。

表5-1四川旅游攻略分享互动平台可用性测试

测试项

测试人员评价

窗口移动、改变大小、关闭等操作是否正常

操作模块是否友好

模块和提示内容等文字描述是否正确

模块布局是否合理、协调

模块的状态是否正确(对选中项能否发生对应切换)

键盘、鼠标操作是否支持

所需的数据项是否正确显示

操作流程是否合理

是否提供帮助信息

5.3 系统典型测试用例

对系统的主要页面和功能点的测试用例如下:

(1) 用户登陆系统测试用例如表 5-2 所示。

表5-2用户登录系统测试用例

用例名称

用户登录系统

目的

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

前提

未登录的情况下

测试流程

1) 进入登录页面

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

预期结果

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

实际结果

实际结果与预期结果一致

(2)订房信息测试用例如表 5-3 所示

表5-3 订房测试用例

用例名称

订房

目的

测试订房功能

前提

测试流程

打开订房界面

预期结果

可以进行查看订房详细

实际结果

实际结果与预期结果一致

(3)评论试用例如表 5-4所示

表5-4评论测试用例

用例名称

评论

目的

测试评论模块功能

前提

测试流程

用户在评论区进行点评操作。

预期结果

评论提交以后,可以查看到自己的评论信息

实际结果

实际结果与预期结果一致

(4)酒店信息添加信息测试用例如表 5-5 所示

表5-5 酒店信息添加测试用例

用例名称

酒店信息添加

目的

测试酒店信息添加功能

前提

测试流程

管理员点击酒店信息添加,输入酒店信息

预期结果

提交酒店信息后可以查看酒店信息

实际结果

实际结果与预期结果一致

5.4 测试总结

通过系统的调试,能够检测项目的稳定性,为项目正式运行、稳定运行提供了可预测性的维护备案。能够帮助用户熟悉整个项目,并对项目可能出现的错误有所了解。本文提供了部分调试用例及调试日志,可以帮助用户解决简单的错误问题,也加深了开发者对于此框架下的项目编写的了解度,为后期开发者顺利完成项目、发布项目提供了非常大的帮助。

总结

本次设计中,我还学会了很多,例如良好的编程思想和完善的规划思想。在着手编程之前需要罗列出程序框架的大概,脑海中构建出程序的主题框架。做好这一步我们才能胸有成竹的经行开发项目。当设计框架了熟于心之后,需要思考本次编程所需的主要知识点和技术点,并充分学习。如此一来项目的开发才能循序渐进、如丝般顺滑,长久以往就能养成良好的开发习惯。一个程序好不好还要看出的bug多不多,如果在项目完成前做好bug的查验与预防可能发生的事故才能保证程序的稳定长久性运行。如果项目在完工后出现各种问题自己,那么在进入社会后,不仅会给公司团队带来麻烦和增加不必要的工作,还会导致客户流失,公司对自己的评价下降。

在本次项目中我也暴露了诸多问题。对于Java的编程知识有所欠缺,环境配置和算法上出现诸多问题,时常导致项目运行出错,或者目标的实现有问题。或者实现想法时算法未优化,使得代码冗长,程序运行不顺畅。

参考文献

[1]束方鹏,张逸. 基于SpringBoot框架的数据转换系统及方法[P]. 江苏省: CN117289914B, 2024-02-02.

[2]韩小龙,司珍,吕晓峰等. 基于面向对象编程的Java语言程序设计方法分析 [J]. 集成电路应用, 2024, 41 (01): 228-229.

[3]谭光兴,甘景,戚秋晨. 基于Java语言的远程数据采集系统设计与实现 [J]. 科技与创新, 2024, (01): 19-22.

[4]吴昊,张丹. 基于SpringBoot框架的大学生网上兼职系统设计与实现 [J]. 电脑知识与技术, 2023, 19 (35): 68-72.

[5]宋晓燕,杨芬. Java程序设计语言的分层教学实践 [J]. 电子技术, 2023, 52 (11): 182-183.

[6]刘明,杨胜飞,张冶锋等. 基于SpringBoot框架的长距离输水工程水量监测系统设计 [J]. 云南水力发电, 2023, 39 (11): 359-362.

[7]Liang C . School Vehicle Management System Based on JAVA Language [J]. Academic Journal of Computing & Information Science, 2023, 6 (9):

[8]郭嘉颖. 基于UGC的在线旅游攻略平台商业化的探究——对比穷游网、马蜂窝 [J]. 南方论刊, 2022, (02): 25-27.

[9]高志平. 基于SpringBoot框架与ITIL方法的运维管理系统的设计与实现[D]. 华东师范大学, 2021.

[10]Liu S . Explore Java Language and Android Mobile Software Development [J]. International Journal of Frontiers in Engineering Technology, 2021, 3.0 (2.0):

[11]Kline K . The Java Language Extension for SQL Server Is Now Open Source [J]. Database Trends and Applications, 2020, 34 (4): 31-31.

[12]高小杰. 定制化旅游攻略的APP设计研究 [J]. 工业设计, 2019, (12): 46-47.

[13]刘舟瑫. 基于android平台的旅游攻略APP的设计与实现[D]. 北京交通大学, 2019.

[14]谢丹丹. 蚂蜂窝:旅游攻略背后的商业攻略 [J]. 中外管理, 2019, (11): 100-101.

  

至此论文结束,感谢您的阅读。在此我要感谢我的导师,虽然我在实习期间很忙,论文撰写总是停停改改,但是导师依然十分负责,时不时的询问我的任务进展情况,跟进我的论文进度。虽然我在实习期间很忙,以至于很晚才开始进行论文撰写和编写程序的工作,但是在指导老师的帮助下,我逐步完成了自己的论文和程序,从导师身上也学习到很多知识,和经验,这些知识和经验令我受益匪浅。也从导师身上看到了自己的不足,不论是在即使层面上还是在对待工作的态度上,倒数如同明镜一般照出了我的缺点我的不足。此外,我还要感谢在我实习期间在论文和程序上帮助过我的同学和社会人士,此前我对于框架及JQuery和BootSatrp方面的一些知识还不了解,是他们在我编写程序过程中给了我很多的启发和感想,也帮助了我对于程序的调试和检测。没有他们我是不能顺利完成本次毕业设计的。至此,我的毕业设计就花上了一个圆满的句号了。

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

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值