springboot校园社团场地租借平台-计算机毕业设计源码00746

摘 要

这个项目旨在开发一个基于SpringBoot 的校园社团场地租借平台,帮助学校社团更方便地租借校园内的场地。用户可以在平台上浏览不同场地的信息、预订场地、查看租借历史记录等。管理员可以管理场地信息、审批租借申请和生成报表统计等功能。通过该平台,希望提高校园场地利用率,方便学生社团的活动策划。

关键词:校园社团场地租借平台;Java;MySQL;SpringBoot

ABSTRACT

This project aims to develop a SpringBoot-based campus community venue rental platform to help school associations easily rent space on campus. Users can browse the information of different venues, book the venues, and view the rental history on the platform. The administrator can manage the site information, approve the lease application, generate report statistics and other functions. Through this platform, we hope to improve the utilization rate of campus venues and facilitate the activity planning of student associations.

Key words: campus club space rental platform; Java; MySQL; SpringBoot

目    录

 

    

第一章

第一节 研究背景

第二节 研究意义

第三节 研究方法

第四节  论文结构说明

2 需求分析

2.1相关技术

2.2平台可行性分析

2.2.1技术可行性分析

2.2.2经济可行性分析

2.2.3操作可行性分析

2.2.4法律可行性分析

2.3平台需求分析

2.3.1功能需求分析

2.3非功能性需求分析

平台流程分析

2.3.1、增添数据

2.3.2、修改数据

2.3.3、删除数据

第四节 平台用例分析

3平台总体设计

3.1 平台架构设计

3.2平台顺序图设计

3.2.1、登录模块

3.2.2、添加信息模块

3.3平台功能模块设计

3.4用户模块设计

3.4.1、用户模块设计

3.4.2场地信息管理模块设计

3.4.3场地租借管理模块设计

3.4数据库设计

3.4.5数据库概念结构设计

3.4.6、数据库逻辑结构设计

4关键模块的设计与实现

4.1后台首页模块

4.2注册模块

4.3登录模块

4.4 管理员模块

4.4.1系统用户管理界面

4.4.2场地信息管理界面

4.4.3场地租借管理界面

4.4.4物资借用管理界面

4.4.5系统管理界面

4.5.4轮播图管理界面

5平台测试

5.1 平台测试的目的

5.2平台测试用例

第三节 平台测试结果

第六章 结论

致谢

第一章

  • 研究背景

校园社团活动是大学生课余生活中重要的一部分,社团经常需要场地来举办活动,但是现有的场地预订系统通常效率低下、流程繁琐,难以满足社团的需求。因此,开发一个基于SpringBoot的校园社团场地租借平台可以解决这一问题。这样的平台可以提供便捷的预订流程、轻松的场地查询功能以及在线支付系统,从而提高社团活动的效率,促进校园文化建设。通过研究开发这一平台,旨在改善校园社团活动的组织运作,为大学生提供更加丰富多彩的校园生活。

  • 研究意义

校园社团是大学校园中的重要组成部分,社团活动丰富多彩且可促进学生个人发展。开发一个校园社团场地租借平台可以为校园社团提供更便捷的场地预订和管理工具,有助于提升社团活动的效率和质量,同时也可以为校园管理部门提供更好的资源调配和利用,优化校园资源管理。

通过研究和开发这样的平台,可以帮助校园社团更好地组织活动、提高社团活动的效率和规范性。同时,这样的平台还可以促进学生参与校园社团活动的热情,加强校园社团与学校管理部门之间的沟通和合作,进而提升整个校园的活力。

第三节 研究方法

首先,通过引擎搜索或者查阅相关文献资料,了解了本平台开发的背景以及设计平台的意义所在,收集用户需求信息。其次,在开发工具上,最终确定选用Java平台来设计开发本平台,Mysql作为设计数据库的工具。即利用Java语言实现用户界面,并同数据库连接起来实现完整的通信功能。之后,设计出平台大致的功能模块。主要从方便普通用户和平台管理员的角度进行分析,明确该平台应该具有的功能。最终是测试平台,通过用例测试发现存在的问题并找到解决的方案。利用现有的开发平台,结合自己所学的知识,在老师的指导帮助下来完成该设计,确保平台的可用性、实用性。

第四节  论文结构说明

本文一共分为六章,每章具体内容介绍如下:

第一章,引言,首先介绍了校园社团场地租借平台设计与实现的背景、意义和研究方法,接着对该论文的结构进行说明。

第二章,需求分析,对平台进行可行性分析、平台功能需求分析以及非功能性需求分析等。

第三章,平台总体设计,通过对当前用户的需求分析来阐述该平台的整体架构以及数据库分析设计,确定各功能模块以及最终平台需要实现的功能。

第四章,关键模块的设计与实现,根据设计目标对各个主要功能模块分别进行详细设计,主要功能代码及其实现过程和功能界面设计。

第五章,平台测试,根据用户实际需求,对该平台主要功能模块进行测试。

第六章,结论

2 需求分析

2.1相关技术

2.1.1设计一个Spring Boot的校园社团场地租借平台,需要考虑以下几个关键技术:

Spring Boot:作为基础框架,提供快速搭建和配置的能力;Spring MVC:用于HTTP请求和响应,构建校园社团场地租借平台的前后端交互逻辑;MyBatis或Hibernate:用于操作数据库,存储和管理科普、用户、评论等相关数据;MySQL或其他关系型数据库:用于持久化存储科普、用户、评论等信息;HTML/CSS/JavaScript:用于构建校园社团场地租借平台的前端界面和交互逻辑;Bootstrap或其他前端框架:提供响应式布局和样式组件,快速构建校园社团场地租借平台的前端界面;图片服务器:用于存储科普知识图片,并提供图片的访问接口;Spring Security:用于实现用户认证和授权,确保只有合法用户才能访问平台的敏感信息;Redis或其他缓存技术:用于缓存科普资讯、用户信息等数据,提高平台的性能和响应速度;科普解析技术:用于解析和下载校园社团场地租借平台的科普资源;验证码技术:用于防止恶意注册和恶意访问,确保平台的安全性;日志技术:如Log4j或Slf4j,用于记录平台的运行日志,方便排查问题和性能优化。

以上是一个基本的技术架构设计,具体实现可以根据需求和团队技术栈的熟悉程度进行调整和扩展。

2.2平台可行性分析

2.2.1技术可行性分析

校园社团场地租借平台在数据的存储上使用的MYSQL数据库,在校园社团场地租借平台开发中使用了了Java、IDEA、Tomcat这些开发工具的使用,能够给我们的编写工作带来许多的便利。平台采用B/S模式开发,使平台的可扩展性和维护性更好,减少平台配置代码以及编程代码,目前B/S模式是目前最受欢迎的一种模式。

2.2.2经济可行性分析

在开发校园社团场地租借平台中所使用的开发软件像IDEA开发工具、tomcat服务器、SpringBoot开发框架、MySQL5.7数据库、Photoshop图片处理软件等,这些环境从网上就能免费下载,而且网上都有安装的教程,根据教程一步一步的操作,就可以安装成功,不需要花任何费用,并且校园社团场地租借平台是自己设计并编码实现的,数据库是使用流行mysql进行数据的存储,开源的mysql等技术的使用,减少平台开发费用。

2.2.3操作可行性分析

操作方面主要考虑的是用户在使用以及管理人员在管理的时候,是否简单可行,没有任何计算机基础的用户能否使用,开发的校园社团场地租借平台在设计的时候秉承简单易学的理念,在用户进入平台后都会有固定的导航按钮,只要认字就可以操作完成,而且管理员在管理方面也只需简单的增删改查即可完成。

在这个项目的设计中,我借鉴了大量的成功案例,深入分析了它们的操作界面和功能,并结合了多个案例,以人为本,简化了操作,使本项目即使计算机基础知识的人也能轻而易举地完成。由于这些原因,这个操作是可行的。

2.2.4法律可行性分析

平台从法律层面上来没有对第三方有其他放有法律层面的问题,平台数据库采用的Mysql开源社区数据库、框架采用的是开源的SpringBoot。平台资讯和相关内容也是法律层面的。在源码的管理上采用git开源进行管理,所以在法律可行性上是成立的。

2.3平台需求分析

2.3.1功能需求分析

校园社团场地租借平台分为两部分:管理员模块、普通用户模块。

管理员模块:

(1后台首页:提供管理员登录后的主页,显示系统概要信息和重要通知公告。

(2)系统用户管理:包括添加、修改和删除系统用户,管理用户的权限和角色,并实现用户信息的查看和导出。

(3)场地信息管理:实现对校园可租借场地的管理,包括场地基本信息的添加、修改、删除,以及场地图片的上传和展示。

(4)场地租借管理:管理员可以查看和审核用户提交的场地租借申请,包括租借时间、租金等信息,还可进行租借订单的审批和处理。

(5)物资信息管理:管理系统中的物资库存信息,包括物资分类、物资名称、数量、状态等,支持物资信息的增删改查操作。

(6)物资借用管理:监督校园社团对物资的借用情况,可查看物资借用记录、审批借用申请、归还物资等操作。

(7)公告信息管理:发布和管理平台上的公告信息,包括通知活动、系统更新等内容,让用户及时了解平台最新动态。

(8)系统管理:管理系统的各项配置信息,包括系统参数设置、日志管理、数据备份等功能,确保系统正常运行和安全性。

(9)资源管理分析:提供数据统计和报表分析功能,对场地租借、物资借用等数据进行分析和展示,帮助管理员及时了解系统运营情况,做出决策和优化。

普通用户:

(1)首页:展示平台的主要信息和功能入口,让用户快速了解和使用系统。

(2)公告消息:提供最新的公告信息和通知,让用户及时了解平台的动态和重要消息。

(3)校园资讯:显示校园内的新闻资讯、活动通知等内容,让用户获取到最新的校园信息。

(4)场地信息:展示校园可租借场地的基本信息、图片和预订情况,方便用户查看和选择合适的场地。

(5)物资信息:展示系统中的物资库存信息,包括物资分类、名称、数量等,供用户选择和借用物资时参考。

(6)个人首页:用户个人信息的展示页面,包括个人资料、租借记录、借用记录等信息的查看和管理。

(7)场地租借:用户可以查看可租借的场地信息,选择租借时间、提交租借申请,并等待管理员审核确认。

(8)物资借用:用户可以浏览系统中的物资信息,选择需要借用的物资,填写借用信息并提交申请,等待管理员审批和借用确认。

(9)收藏:用户可以将感兴趣的场地或物资收藏起来,方便以后查看和使用,提高用户体验和便利。

2.3非功能性需求分析

校园社团场地租借平台的安全性、可靠性、性能和可扩展性是其重要的考量因素,它们不仅满足了用户对于功能性的要求,还为用户提供了更多的便利。根据表格2-1,我们可以清楚地看到这一点:

2-1 校园社团场地租借平台非功能需求表

安全性

主要指校园社团场地租借平台数据库的安装,数据库的使用和密码的设定必须合乎规范。

可靠性

可靠性是指校园社团场地租借平台能够安装用户的指示进行操作,经过测试,可靠性90%以上。

性能

性能是影响校园社团场地租借平台占据市场的必要条件,所以性能最好要佳才好。

可扩展性

比如数据库预留多个属性,比如接口的使用等确保了平台的非功能性需求。

易用性

用户只要跟着校园社团场地租借平台的页面展示内容进行操作,就可以了。

可维护性

校园社团场地租借平台开发的可维护性是非常重要的,经过测试,可维护性没有问题

平台流程分析

开发人员可以通过对上述业务流程的运用,以符合和线条的方式,对平台的运行机制进行更好的理解,并对用户在使用平台时的体验进行演示。另外,业务流程也能帮助开发者找到平台中的bug并且加以完善一、新增数据。

2.3.1、增添数据

当用户成功登录平台,即可获得指定的编号,这些编号由平台生成,而用户无权更改,只需要提供指定的编号,而其余的信息则需要由用户自行完成,完成之后,平台会对所提交的信息进行审核,如果审核结果符合要求,则表明增加数据已获得成功;否则,则说明未获得成功,如图2-1所示。

图2-1  数据增加流程图

2.3.2、修改数据

在数据修改过程中,与之前提到的数据增加过程相似,如图2-2所示。

图2-2  数据修改流程图

2.3.3、删除数据

当平台中出现了一些无效信息时,管理人员应采取措施将其删除处理,而图2-3则提供了删除这些无效信息过程的流程图。

图2-3  数据删除流程图

第四节 平台用例分析

普通用户角色在校园社团场地租借平台中的使用示意图如图2-4所示:

图2-4用户角色用例图

校园社团场地租借平台中管理员角色用例图如图2-5所示:

图2-5管理员角色用例图

3平台总体设计

本章将深入探究校园社团场地租借平台的各种功能模块,以及如何构建一个高效的数据库。

3.1 平台架构设计

校园社团场地租借平台由用户界面(UI)、业务流程层(BLL)、数据层(DL)三个层次组成。

图3-1校园社团场地租借平台架构设计图

表现层(UI):UI层是校园社团场地租借平台的核心部分,负责实现用户界面的交互,在使用该平台的过程中,为用户带来便捷的操作体验,让用户感受到更舒适的氛围。UI界面设计应该灵活应对各种不同的校园社团场地租借平台和尺寸,以确保良好的兼容性和可用性。UI交互功能必须具有合理性,以便用户能够获得与之相匹配的交互结果,因此,表现层必须与业务逻辑层紧密结合,以实现良好的交互体验。

业务逻辑层(BLL):BLL层(BLL)主要完成本平台的数据处理功能。用户从表现层传输过来的数据经过业务逻辑层进行处理交付给数据层,平台从数据层读取的数据经过业务逻辑层进行处理交付给表现层。

数据层(DL):通过将mysql数据库作为数据层,由于本平台的数据是放在服务端的mysql数据库中,因此本属于服务层的部分可以直接整合在业务逻辑层中,所以数据层中只有数据库,其主要完成本平台的数据存储和管理功能。

3.2平台顺序图设计

3.2.1、登录模块

该模块旨在为管理人员和用户提供权限登录功能,其登录顺序如图3-2所示。

图3-2登录顺序图

3.2.2、添加信息模块

在登录之前,无论是管理员还是用户都能够轻松地完成添加信息的任务,具体的步骤请参考图3-3。

图3-3 添加信息顺序图

3.3平台功能模块设计

校园社团场地租借平台整体的功能模块包括管理员、普通用户、两个模块,实现了相关信息的维护管理,平台功能模块如图3-4所示。

图3-4校园社团场地租借平台功能模块图

3.4用户模块设计

3.4.1、用户模块设计

本平台的用户包括管理员,普通用户模块的功能基本是相同的,管理员用户比普通用户多了管理员管理,用户管理系统用户,场地信息管理,场地租借管理,物资信息管理,物资借用管理,系统管理,公告信息管理,资源管理,轮播图管理等功能,所以以平台用户模块的结构图为例进行分析,结构图为例进行分析,如下图:

图3-5平台用户模块结构图

3.4.2、场地信息管理模块设计

校园社团场地租借平台是中需要存储资源信息,其模块功能结构,具体的结构图如下:

图3-6场地信息管理模块结构图

3.4.3、场地租借管理模块设计

校园社团场地租借平台是中需要存储交流信息,其模块功能结构,具体的结构图如下:

图3-7场地租借管理理模块结构图

3.4数据库设计

在数据库设计的三个主要步骤中,第一个是需求的分析,第二个是设计概念模型,最后是建立数据库表(datable-list)。在这三个步骤之间,需求分析是必不可少的,而概念模型的设计则涉及到概念模型与逻辑结构的设计。

3.4.5、数据库概念结构设计

下面是整个校园社团场地租借平台中主要的数据库表总E-R实体关系图。

           

图3-8校园社团场地租借平台总E-R关系图

3.4.6、数据库逻辑结构设计

经过校园社团场地租借平台的数据分析,我们发现,为了更好地展示E-R关系图,我们需要创建大量的数据表。我将重点介绍几种常见的数据库表结构设计方法。

表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

更新时间:

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

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

表material_borrowing (物资借用)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

material_borrowing_id

int

10

0

N

Y

物资借用ID

2

item_number

varchar

64

0

Y

N

物资编号

3

material_name

varchar

64

0

Y

N

物资名称

4

material_type

varchar

64

0

Y

N

物资类型

5

material_function

varchar

64

0

Y

N

物资作用

6

student_users

int

10

0

Y

N

0

学生用户

7

student_name

varchar

64

0

Y

N

学生姓名

8

student_mobile_phones

varchar

64

0

Y

N

学生手机

9

borrowed_quantity

int

10

0

Y

N

0

借用数量

10

borrowing_time

datetime

19

0

Y

N

借用时间

11

reason_for_borrowing

varchar

64

0

Y

N

借用原因

12

examine_state

varchar

16

0

N

N

未审核

审核状态

13

examine_reply

varchar

16

0

Y

N

审核回复

14

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

15

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表material_information (物资信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

material_information_id

int

10

0

N

Y

物资信息ID

2

item_number

varchar

64

0

Y

N

物资编号

3

material_name

varchar

64

0

Y

N

物资名称

4

material_type

varchar

64

0

Y

N

物资类型

5

material_function

varchar

64

0

Y

N

物资作用

6

material_pictures

varchar

255

0

Y

N

物资图片

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已取消

表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

更新时间:

表student_users (学生用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

student_users_id

int

10

0

N

Y

学生用户ID

2

student_name

varchar

64

0

Y

N

学生姓名

3

student_gender

varchar

64

0

Y

N

学生性别

4

student_age

varchar

64

0

Y

N

学生年龄

5

student_mobile_phones

varchar

64

0

Y

N

学生手机

6

examine_state

varchar

16

0

N

N

已通过

审核状态

7

user_id

int

10

0

N

N

0

用户ID

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

更新时间:

表venue_information (场地信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

venue_information_id

int

10

0

N

Y

场地信息ID

2

site_number

varchar

64

0

N

N

场地编号

3

venue_name

varchar

64

0

Y

N

场地名称

4

site_type

varchar

64

0

Y

N

场地类型

5

site_location

varchar

64

0

Y

N

场地位置

6

opening_hours

varchar

64

0

Y

N

开放时间

7

venue_images

varchar

255

0

Y

N

场地图片

8

venue_introduction

text

65535

0

Y

N

场地介绍

9

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表venue_rental (场地租借)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

venue_rental_id

int

10

0

N

Y

场地租借ID

2

site_number

varchar

64

0

Y

N

场地编号

3

venue_name

varchar

64

0

Y

N

场地名称

4

site_type

varchar

64

0

Y

N

场地类型

5

site_location

varchar

64

0

Y

N

场地位置

6

opening_hours

varchar

64

0

Y

N

开放时间

7

student_users

int

10

0

Y

N

0

学生用户

8

student_name

varchar

64

0

Y

N

学生姓名

9

student_mobile_phones

varchar

64

0

Y

N

学生手机

10

lease_time

datetime

19

0

Y

N

租借时间

11

rental_reasons

varchar

64

0

Y

N

租借原因

12

examine_state

varchar

16

0

N

N

未审核

审核状态

13

examine_reply

varchar

16

0

Y

N

审核回复

14

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

15

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

4关键模块的设计与实现

基于前期对校园社团场地租借平台的需求分析以及整体架构,我们精心设计了一个页面,以便更好地展示出用户的行为,并且能够更加有效地实现业务逻辑。本文将重点介绍校园社团场地租借平台界面和业务逻辑。

4.1后台首页模块

该项目的首页页面包含导航栏:用于导航平台的各个板块,其中有个人中心,管理员管理,用户管理,后台首页,系统用户,场地信息管理,场地租借管理,物资信息管理,物资借用管理,系统管理,公告信息管理,资源管理这几个板块。

首页主要分别展示各个模块的最新动态,浏览者可以很清楚地看到不同模块的最新更新内容。并且平台首页每个部分可以跳转到相对应的模块,方便浏览者选择感兴趣的地方。

首页载入流程图如4-1所示。

图4-1 首页载入流程

首页如下图4-2所示。

图4-2 首页界面图

4.2注册模块

校园社团场地租借平台的注册登录操作,普通用户都是从同一个注册登录页面进行注册登录,若是还未有平台账号,则进行注册操作;若是已注册账号,则用户在操作时,输入账号、密码,再选择相应的角色,如“用户”等。

用户注册流程图如下4-3所示。

图4-3 用户注册流程

普通用户注册界面如下图4-4所示。

图4-4 普通用户注册界面

  /**

     * 注册

     * @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);

}     

注册页password则使用了MD5加密,代码如下:

    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.3登录模块

在校园社团场地租借平台模块输入账号+密码,点击“登录”按钮,平台在用户数据库表中会对管理员的账号进行匹配,账号+密码正确的话,就会登录到平台中各个用户的主管理界面,否则提示对应的信息,返回到登录的界面。

用户登录流程图如下4-5所示。

        

图4-5 登录流程图

登录界面如下图4-6所示。

              

图4-6 登录界面图

登录代码如下:

 /**

     * 登录

     * @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.4 管理员模块

4.4.1、系统用户管理界面

系统用户:管理平台的用户账号,包括添加、删除、修改用户信息等操作。如图4-7

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

4.4.2、场地信息管理界面

场地信息管理:实现对校园可租借场地的管理,包括场地基本信息的添加、修改、删除,以及场地图片的上传和展示。如图4-9所示。

图4-9 场地信息管理界面图

4.4.3、场地租借管理界面

场地租借管理:管理员可以查看和审核用户提交的场地租借申请,包括租借时间、租金等信息,还可进行租借订单的审批和处理。如图4-10所示。

图4-10 场地租借管理界面图

4.4.4、物资借用管理界面

物资信息管理:管理系统中的物资库存信息,包括物资分类、物资名称、数量、状态等,支持物资信息的增删改查操作。如图4-11所示。

图4-11 物资借用管理界面图

4.4.5、系统管理界面

系统轮播图管理:管理员可以管理平台首页的轮播图展示内容,包括上传、编辑、删除轮播图等操作如图4-12所示

图4-12系统管理界面图

4.5.4轮播图管理界面

资源管理分析:提供数据统计和报表分析功能,对场地租借、物资借用等数据进行分析和展示,帮助管理员及时了解系统运营情况,做出决策和优化。如图4-13所示

图4-13轮播图管理界面

5平台测试

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大模块的检测,包括用户登录功能测试、场地信息管理查看测试、物资借用管理、公告信息搜索、密码修改功能测试,这些功能为后续的推广运营提供了强有力的技术支持。

第六章 结论

在撰写这篇论文的过程中,我们深深感受到了SpringBoot校园社团场地租借平台的重要性和优势。在此,我们想对以下人士致以诚挚的感谢:

首先,我们要感谢SpringBoot团队的开发者们,他们倾注了大量心血和精力,在平台的开发和维护过程中付出了巨大的努力。正是他们的辛勤工作,才让我们能够享受到如此便捷、高效的校园社团场地租借服务。其次,我们要感谢校园各社团的指导老师和学生会成员们,他们在平台的试运行和推广过程中给予了我们宝贵的意见和建议,帮助我们不断改进和完善服务。最后,我们要特别感谢所有使用过SpringBoot校园社团场地租借平台的用户,正是你们的支持和信任,让这个平台得以不断壮大和发展。没有你们的参与和反馈,我们无法取得今天的成就。

衷心感谢以上所有人士的支持与帮助,让我们一起努力,为校园社团活动的发展和促进社团间的交流合作。

参考文献

[1]石雨昕,关家兴,邹博华,等.基于SpringBoot微服务架构设计与实现实验室开放课题管理系统[J].实验室检测,2024,2(01):101-106.

[2]朱敏,李鑫,朱海静,等.基于微服务架构的健身管理平台的设计与实现[J].电脑知识与技术,2024,20(01):60-62.DOI:10.14004/j.cnki.ckt.2024.0140.

[3]翟祥栩,陈谦民,陈宗玉.基于SpringBoot的农业大数据一站式分析预测平台的设计与实现[J].现代信息科技,2023,7(24):6-10+15.DOI:10.19850/j.cnki.2096-4706.2023.24.002.

[4]洪保刘.基于大数据+SpringBoot技术的全国传染病数据分析可视化平台[J].数字技术与应用,2023,41(11):161-164.DOI:10.19695/j.cnki.cn12-1369.2023.11.50.

[5]崔臣,宋甲旭.基于SpringBoot的校园二手交易系统研究[J].无线互联科技,2023,20(18):31-34.

[6]孟思明.基于SpringBoot框架选购系统的设计与实现[J].中国设备工程,2023,(11):94-95.

[7]岳峰,段政伟.基于SpringBoot框架的营区手机管控平台设计与实现[J].无线互联科技,2023,20(11):49-52.

[8]刘汀.基于SpringBoot的微服务体系在企业信息管理系统中的应用[J].信息技术与信息化,2023,(05):23-26.

[9]Marleni A ,Christopher W ,Sharon C , et al.Efficacy of a 6-Month Online Market Platform in Addressing Food Insecurity and Supporting Food Allergy Management in Predominantly Spanish-speaking and Low-income communities During the COVID-19 Pandemic[J].The Journal of Allergy and Clinical Immunology,2023,151(2S):AB201-AB201.

[10]银莉,杜啸楠.基于SpringBoot和Vue的社区服务平台设计与实现[J].电子技术,2022,51(12):182-183.

[11]Fei D .Built on SpringBoot's travel platform[C]//[出版者不详],2022:

[12]鲁根根.基于微服务SpringBoot的干部综合管理平台的设计与实现[D].北京邮电大学,2022.DOI:10.26969/d.cnki.gbydu.2022.000970.

[13]朱蓉,郑建华.基于SpringBoot的垃圾分类科普及课程平台[J].电脑知识与技术,2022,18(09):22-24.DOI:10.14004/j.cnki.ckt.2022.0544.

[14]Hongyan W .Construction of Online Teaching System Based on SpringBoot Framework for Normal University Students’ Informatization Teaching Ability Training[C]//[出版者不详],2022:

[15]唐苏旭.基于SpringBoot的房屋租赁系统的设计与实现[D].首都经济贸易大学,2021.DOI:10.27338/d.cnki.gsjmu.2021.000801.

[16]李思远.社区诊所管理云平台的设计与实现[D].曲阜师范大学,2021.DOI:10.27267/d.cnki.gqfsu.2021.000762.

[17]黄文翔,潘晓衡.基于SpringBoot的旅游平台构建[J].电子测试,2021,(11):71-72+132.DOI:10.16520/j.cnki.1000-8519.2021.11.027.

[18]赵智.基于SpringBoot的某综合训练平台成绩分析与预测系统设计与实现[D].浙江理工大学,2021.DOI:10.27786/d.cnki.gzjlg.2021.000251.

[19]王子康.联通校园系统的设计与实现[J].信息与电脑(理论版),2021,33(06):94-96.

[20]Chen G ,Xu J .Design and implementation of efficient Learning platform based on SpringBoot Framework[J].Journal of Electronics and Information Science,2020,6(1):

致谢

到此,整个校园社团场地租借平台就算完成了,虽然过程十分艰难,但是等到都完成的时候,我感觉无比的自豪,虽然设计的平台还存在许多的纰漏,但是我已经拼劲全力,给自己的大学四年画上了一个圆满的句号。写到这里有许多思绪想要表达,但是回首大学四年的学习生涯,才发现留在记忆里的东西就像无穷无尽的代码一样多,用言语很难表达出所念所想,但是有一些最重要的感谢话还是要表达出来。

在论文中我要特别感谢我的指导老师和家人的支持与帮助,在编写SpringBoot的校园社团场地租借平台时,他们的支持对我起到了极大的帮助和鼓励。同时也要感谢所有参与调研和测试的同学,他们的反馈帮助我完善了平台设计。最后,还要感谢给予技术支持和建议的同行们,谢谢你们在这篇论文中的重要贡献。最后,希望自己在未来的道路上能够越走越远,不辜负在大学的学习以及老师们的细致的教导,追风赶月莫停留,平荒尽处是春山。

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

  • 7
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值