springboot新生入学报到系统-计算机毕业设计源码22342

目  录

1 绪论

1.1研究背景与目的

1.2国内外研究现状

1.3Vue框架

1.4springboot框架

2 新生入学报到系统系统分析

2.1 可行性分析

2.1.1 技术可行性分析

2.1.2 经济可行性分析

2.1.3 法律可行性分析

2.2 系统功能分析

2.2.1 功能性分析

2.2.2 非功能性分析

2.3 系统用例分析

2.4 系统流程分析

2.5本章小结

3 新生入学报到系统总体设计

3.1 系统功能模块设计

3.1.1整体功能模块设计

3.1.2用户模块设计

3.1.3 评论管理模块设计

3.2 数据库设计

3.2.1 数据库概念结构设计

3.3.2 数据库逻辑结构设计

3.4本章小结

4 新生入学报到系统详细设计与实现

4.1用户功能模块

4.1.1 前台首页界面

4.1.2 用户注册界面

4.1.3用户登录界面

4.1.4 我的账户界面

4.1.4学校公告界面

4.1.6学校新闻界面

4.1.7线上报到管理界面

4.2管理员功能模块

4.2.1用户管理界面

4.2.2线上报到管理界面

4.2.3 专业分类管理界面

4.2.4学校公告管理界面

4.2.5 学校新闻管理界面

5系统测试

5.1 系统测试用例

5.2 系统测试结果

结论

参考文献

致  谢

 要

随着信息技术的发展,各大高校已经建立了各自的部门信息系统。然而,由于这些应用系统的开发时间、开发平台和开发技术存在差异,各系统之间缺乏关联,导致信息无法有效共享,逐渐形成了“信息孤岛”,使大量有用信息无法被有效利用。本文分析了目前校园信息系统之间的缺陷和不足,并在此基础上引入了面向服务思想的新生入学报到系统。

新生入学报到系统的主要功能模块包括管理员、注册学生、线上报到、专业分类、系统管理、学校公告管理、资源管理等。采用面向对象的开发模式进行软件开发和硬件架设,能够很好地满足实际使用需求。系统完善了软件架构和程序编码工作,采用Java语言、Springboot框架、Ajax技术进行业务系统的编码和开发。通过对系统的主要模块进行页面设计和功能实现,为校园信息系统的进一步整合和优化提供了有效的解决方案。

关键词:Java;SpringBoot;新生入学报到系统;MySQL

Abstract

With the development of information technology, major universities have established their own departmental information systems. However, due to differences in the development time, platform, and technology of these application systems, there is a lack of correlation between the systems, resulting in ineffective sharing of information and gradually forming an "information island", which prevents a large amount of useful information from being effectively utilized. This article analyzes the shortcomings and shortcomings of current campus information systems, and based on this, introduces a service-oriented new student enrollment registration system.

The main functional modules of the new student enrollment registration system include administrators, registered students, online registration, major classification, system management, school announcement management, resource management, etc. Adopting an object-oriented development model for software development and hardware setup can effectively meet practical usage needs. The system has improved its software architecture and program coding work, using Java language, Springboot framework, and Ajax technology for business system coding and development. By designing and implementing the main modules of the system, an effective solution has been provided for further integration and optimization of the campus information system.

Keywords:Java; SpringBoot; New student enrollment registration system; MySQL

1 绪论

1.1研究背景与目的

随着高等教育的发展,各高校招生规模不断地扩大,招生人数越来越多,而新生报名的时间一般都很短,工作量很大。仅仅靠原始的手工管理,一方面,学校面对大量的新生报名信息,无法有效率地将其中的重要部分提取出来,并做出相应的判断和处理。学校的决策只能依据报表数据,在浪费大量人力、物力的同时无法做到实时监控,难以保证数据的准确性和及时性。另一方面,采用手工操作的办法,新生在报名时会由于报到手续繁多复杂,花费相当多的时间与精力,造成一定的身心疲惫,这是我们所不愿意看到的。因此,设计开发一套“新生入学报到系统”很具有使用价值。

新生入学报名系统的开发,可以大大减少报名管理人员的工作量,每个新生报名的时间将缩短至1-2分钟,短时间就可以处理大量的新生报名信息。报名处理的准确性也会大大的提高,因为电子处理方法在计算、统计等方面比手工处理方法出现误差的概率要小得多,新生也不再需要为报名的各项手续到处奔波劳累,只须使用新生入学报到系统即可集中化、一次性处理各项报到事宜,轻松地完成开学第一天的工作。

1.2国内外研究现状

我国是教育大国,国家大力发展教育事业,特别是要全面推进高等教育。全国各地高校林立,扩招力度逐年加大,与此同时,各高校避免不了要投入大量人力物力和财力来安置学生,特别是没有一个科学合理智能化的信息系统的高校在处理新生到校报到时,繁杂的手续、新生们各异的条件以及校方应接不暇的种种意外事件都将成为高等院校进行安排新生报到工作的瓶颈。给校方管理人员及同学们的报到环节带来许多不便。而这种情况在我国是普遍存在的。

由于人口因素以及经济发展情况的影响,国外高校生源少,手续也很简单,并且各高校都有一个先进的管理系统作支撑,设施完备,技术成熟。首先其生源数量稳定,不会有大的情况变动。其次,其先进的管理手段也足以应付生源突然增多或学生意外变动情况。

1.3Vue框架

Vue.js鼓励组件化开发,将应用划分为多个小组件,每个组件都有自己的状态和行为。这提高了代码的可维护性,降低了代码的复杂性,并促进了团队协作。Vue.js提供了一系列的工具和库,同时也支持使用其他库来处理各种需求,如路由、状态管理等。这使得开发者能够根据项目的具体需求进行灵活的配置和扩展[10]。Vue.js拥有庞大而活跃的社区,丰富的第三方库和插件,这些资源可以帮助开发者更快速地解决问题和实现功能。Vue.js通过虚拟DOM和一些优化手段,提供了较高的性能。它能够更智能地更新DOM,减少不必要的操作,从而提高应用的性能。对于构建单页面应用,Vue提供了Vue Router等工具,简化了路由管理,使得构建复杂的前端应用更加容易。

1.4 Spring Boot框架

Spring Boot采用约定大于配置的理念,通过默认配置减少了开发者需要进行的配置工作。这样可以更快地启动项目并减少了配置错误的可能性。Spring Boot内置了常用的Web容器(如Tomcat、Jetty等),无需外部部署,可通过内嵌容器轻松运行应用。这简化了项目的部署和维护。Spring Boot通过自动化配置机制,能够根据项目的依赖和环境自动配置应用。这降低了配置的工作量,提高了开发效率。Spring Boot提供了大量的开箱即用的功能,如安全性、事务管理、数据访问等。这使得开发者能够更专注于业务逻辑的实现,而不必过多关注基础设施的搭建。Spring Boot无缝集成了Spring框架的各个模块,如Spring MVC、Spring Data、Spring Security等,使得开发者可以方便地使用这些功能来构建全面的企业级应用。

2 新生入学报到系统系统分析

系统需求分析是系统开发的一个关键环节,它在系统的设计和实现上起到了一个承上启下的位置。系统需求分析是对所需要做的系统进行一个需求的挖掘,如果分析的准确可以精准的解决现实中碰到的问题。如果分析不到位会影响后期系统的实现。一个系统的优秀程度需求分析也是占据了非常大的比例,如果需求分析不到位,后面的系统设计要实现就是一个偏离导航的设计。

2.1 可行性分析

系统可行行分析是对系统对系统可行性进行一个探讨。在探讨系统的可行性上我们主要从技术上的可行性和经济上的可行性以及法律层面的可行性上进行分析,如果三个层面度通过,我们则认为系统是比较可行的。

2.1.1 技术可行性分析

新生入学报到系统存储所使用的mysql数据库以及开发中所使用的IDEA、Tomcat这些开发工具的使用,能够给我们的编写工作带来许多的便利。系统使用SpringBoot框架进行开发,使系统的可扩展性和维护性更佳,减少Java配置代码,简化编程代码,目前SpringBoot框架也是很多企业选择的框架之一。

2.1.2 经济可行性分析

从经济可行性上看项目在开发阶段需要一台开发PC,在生产阶段需要web服务器和数据库服务器。一台个人PC从经济上来看也不是太多问题,在后期的系统部署生产上来说,服务器的投入也不会过高,在经济层面上是一个比较可行的。

2.1.3 法律可行性分析

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

2.2 系统功能分析

2.2.1 功能性分析

新生入学报到系统我划分为了注册学生管理模块和管理员模块这两大部分。

注册学生

(1)首页信息:当用户进入本新生入学报到系统的前台的时候,首先展示在眼前的是导航栏、学校公告、学校新闻等信息,用户可以根据自己个人的需求进行查看;

(2)注册登录:在系统的右上角有登录+注册按钮,如果用户想要登录到系统当中,可以点击“登录”按钮,然后填写号用户名+密码,点击“登录”按钮,系统会对你的用户名密码进行核对,正确的话就会登录成功了,如果没有账号的话,可以点击右上角的“注册”按钮,然后根据提示输入好用户信息,就可以得到账号和密码了;

(3)学校公告:当用户点击“学校公告”这一菜单按钮,会显示管理员在后台发布的所有的学校公告,可以查看详情;

(5)学校新闻:用户点击“学校新闻”菜单显示所有的学校新闻信息,可以按照条件进行学校新闻的筛选或者输入关键词进行局部搜索,点击可以进入学校新闻详细展示界面,在此界面用户可以收藏、点赞和评论。

(4)我的账户:当用户点击右上角“我的”这个按钮,会出现子菜单,点击“我的账户”可以对个人的资料以及登录系统的密码进行设置;

(5)个人中心:当用户点击右上角“我的”这个按钮,会出现子菜单,点击“个人中心”就会进入到学生的后台管理中,在这里可以对提交的线上报到进行管理,进行个人的线上报到查询,进行线上支付;

管理员:

(1)登录:管理员在后台可以通过账号和密码进行登录,管理员的账号和密码是在数据库中直接设定的,如果忘记密码可以点击“忘记密码”进行密码找回;

(2)轮播图:管理员点击“轮播图”菜单可以对首页展示的轮播图进行增删改查。

(3)学校公告:管理员点击“学校公告”菜单可以查看到系统中的所有学校公告信息,对已经存在的学校公告,管理员可以修改,也可以添加新的学校公告或者删除学校公告。

(3)系统用户:管理员点击“系统用户”菜单后,可以对系统中存在的用户进行管理,包括管理员用户和注册学生。管理员可以进行用户信息的添加、查看、编辑、删除等操作。

(4)资源管理:管理员点击“资源管理”菜单能够对其下子菜单学校新闻和新闻的分类进行增删改查。

(5)线上报到:点击“线上报到”这一按钮后会显示出所有的线上报到信息,并且支持增删改查操作,也可以点击“支付”进行支付。

(6)专业分类:点击“专业分类”这一按钮后会显示出所有的专业分类信息,并且支持增删改查操作。

2.2.2 非功能性分析

新生入学报到系统的非功能性需求比如新生入学报到系统的安全性怎么样,可靠性怎么样,性能怎么样,可拓展性怎么样等。具体可以表示在如下3-1表格中:

3-1新生入学报到系统非功能需求表

安全性

主要指新生入学报到系统数据库的安装,数据库的使用和密码的设定必须合乎规范。

可靠性

可靠性是指新生入学报到系统能够按照用户提交的指示进行操作,经过测试,可靠性90%以上。

性能

性能是影响新生入学报到系统占据市场的必要条件,所以性能最好要佳才好。

可扩展性

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

易用性

用户只要跟着新生入学报到系统的页面展示内容进行操作,就可以了。

可维护性

新生入学报到系统开发的可维护性是非常重要的,经过测试,可维护性没有问题

2.3 系统用例分析

新生入学报到系统的完整UML用例图分别是图2-1和图2-2。

图2-1就是管理员角色的用例展示。

图2-1 新生入学报到系统管理员角色用例图

图2-2就是注册学生角色的用例展示。

图2-2 新生入学报到系统注册学生角色用例图

2.4 系统流程分析

业务流程是用一些特定的符合和线条来进行演示用户在使用系统时的过程,在进行系统分析的时候,业务流程可以帮助开发人员更好的理解业务,发现错误,完善系统。

1)数据增加流程

用户成功登入系统后就能够实现增加数据的操作,增加数据的编号是特定的,系统生成,用户不能随意填写,除了编号以外,其他增加信息用户自己填写,填写后的信息经过系统验证,验证合法通过就显示增加数据成功了,相反的话,就没有增加成功,图2-3显示的就是在增加数据时的流程。

图2-3 数据增加流程图

2数据修改流程

数据修改时的流程和上面介绍的数据增加时的流程差不多,如图2-4所示。

图2-4 数据修改流程图

3数据删除流程

如果系统里面存在一些没有用的数据的话相关的管理人员还可以对这些数据进行删除,图2-5就是数据删除时的流程图。

图2-5 数据删除流程图

2.5本章小结

本章主要通过对新生入学报到系统的可行性分析、功能需求分析、系统用例分析、系统流程分析,确定整个新生入学报到系统要实现的功能。同时也为新生入学报到系统的代码实现和测试提供了标准。

3 新生入学报到系统总体设计

本章主要讨论的内容包括新生入学报到系统的功能模块设计、数据库系统设计。

3.1 系统功能模块设计

3.1.1整体功能模块设计

在上一章节中主要对系统的功能性需求和非功能性需求进行分析,并且根据需求分析了本新生入学报到系统中的用例。那么接下来就要开始对本新生入学报到系统的架构、主要功能和数据库开始进行设计。新生入学报到系统根据前面章节的需求分析得出,其总体设计模块图如图3-1所示。

图3-1 新生入学报到系统功能模块图

3.1.2用户模块设计

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

图3-2用户模块结构图

3.1.3 评论管理模块设计

新生入学报到系统是一个交流性质的公开平台,用户在平台上提交评论,增加用户之间的互动性。但是同时也为了更好的规范评论的内容,给予管理员删除不合适的评论的功能,所以需要专门设计一个评论管理模块,具体的结构图如下:

图3-3评论管理模块结构图

3.2 数据库设计

数据库设计一般包括需求分析、概念模型设计、数据库表建立三大过程,其中需求分析前面章节已经阐述,概念模型设计有概念模型和逻辑结构设计两部分。

3.2.1 数据库概念结构设计

下面是整个新生入学报到系统中主要的数据库表总E-R实体关系图。

图3-6 新生入学报到系统总E-R关系图

3.3.2 数据库逻辑结构设计

通过上一小节中新生入学报到系统中总E-R关系图上得出一共需要创建很多个数据表。在此我主要罗列几个主要的数据库表结构设计。

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

表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

更新时间:

表online_registration (线上报到)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

online_registration_id

int

10

0

N

Y

线上报到ID

2

reporting_personnel

int

10

0

Y

N

0

报到人员

3

student_name

varchar

64

0

Y

N

学生姓名

4

student_gender

varchar

64

0

Y

N

学生性别

5

contact_information

varchar

64

0

Y

N

联系方式

6

student_photos

varchar

255

0

Y

N

学生照片

7

student_ethnicity

varchar

64

0

Y

N

学生民族

8

political_landscape

varchar

64

0

Y

N

政治面貌

9

registration_major

varchar

64

0

Y

N

报到专业

10

academic_experience

text

65535

0

Y

N

学业经历

11

family_members

text

65535

0

Y

N

家庭成员

12

document_information

varchar

255

0

Y

N

证件信息

13

registration_time

datetime

19

0

Y

N

报到时间

14

examine_state

varchar

16

0

N

N

未审核

审核状态

15

examine_reply

varchar

16

0

Y

N

审核回复

16

pay_state

varchar

16

0

N

N

未支付

支付状态

17

pay_type

varchar

16

0

Y

N

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

18

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

19

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

表professional_classification (专业分类)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

professional_classification_id

int

10

0

N

Y

专业分类ID

2

classification_name

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

更新时间

表registered_students (注册学生)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

registered_students_id

int

10

0

N

Y

注册学生ID

2

student_name

varchar

64

0

Y

N

学生姓名

3

student_gender

varchar

64

0

Y

N

学生性别

4

contact_information

varchar

16

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

更新时间

3.4本章小结

整个新生入学报到系统的需求分析主要对系统总体架构以及功能模块的设计,通过建立E-R模型和数据库逻辑系统设计完成了数据库系统设计。

4 新生入学报到系统详细设计与实现

新生入学报到系统的详细设计与实现主要是根据前面的新生入学报到系统的需求分析和新生入学报到系统的总体设计来设计页面并实现业务逻辑。主要从新生入学报到系统界面实现、业务逻辑实现这两部分进行介绍。

4.1用户功能模块

4.1.1 前台首页界面

当进入新生入学报到系统的时候,系统以上中下的布局进行展示,首先映入眼帘的是系统的导航栏,下面是轮播图,再往下是学校公告,其主界面展示如下图4-1所示。

图4-1 前台首页界面图

4.1.2 用户注册界面

新生入学报到系统的用户可以进行注册登录,当用户左上角“注册”按钮的时候,当填写上自己的账号+密码+确认密码+昵称+邮箱+手机号,选择身份,然后填写身份信息后再点击“注册”按钮后将会先验证输入的有没有空数据,再次验证密码和确认密码是否是一样的,最后验证输入的账户名和数据库表中已经注册的账户名是否重复,只有都验证没问题后即可注册成功。其用注册界面展示如下图4-2所示。

图4-2注册界面图

注册关键代码如下:

   /**

     * 注册

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

}     

4.1.3用户登录界面

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

4.1.4学校公告界面

用户点击“学校公告”菜单显示管理员在后台发布的所有的学校公告,可以查看学校公告详情。学校公告界面如下图4-5所示。

图4-5学校公告界面图

4.1.6学校新闻界面

用户点击“学校新闻”菜单显示所有的学校新闻信息,可以按照条件进行学校新闻的筛选或者输入关键词进行局部搜索,点击可以进入学校新闻详细展示界面,在此界面用户可以收藏、点赞和评论。学校新闻界面如下图4-6所示。

图4-6学校新闻界面图

4.1.7线上报到管理界面

当学生在“个人中心”点击 “线上报到”这个按钮,会出现自己的线上报到信息,点击“支付”按钮,选择支付方式进行缴纳,线上报到界面如下图4-7所示。

图4-7线上报到管理界面图

4.2管理员功能模块

4.2.1用户管理界面

管理员在“用户管理”界面能够对学生信息进行管理,可以进行增删改查操作。界面如下图4-8所示。

图4-8用户管理界面图

用户管理关键代码如下:

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

    }

4.2.2线上报到管理界面

点击“线上报到”这一按钮后会显示出所有的线上报到,在线上报到界面可以添加新的线上报到,可以对线上报到进行修改、删除,也可以按照报到人员或者学生姓名对线上报名查询,同时支持支付操作。界面如下图4-9所示。

图4-9线上报到管理界面图

线上报到管理关键代码如下:

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

    }

4.2.3 专业分类管理界面

管理员点击“专业分类”菜单可以对其进行增删改查。界面如下图4-10所示。

图4-10专业分类管理界面图

专业分类管理关键代码如下:

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

    }

4.2.4学校公告管理界面

管理员点击“学校公告管理”菜单可以查看到系统中的所有学校公告信息,对已经存在的学校公告,管理员可以修改,也可以添加新的学校公告或者删除学校公告。界面如下图4-11所示。

图4-11学校公告管理界面图

学校公告管理关键代码如下:

   @RequestMapping("/get_list")

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

        Map<String, Object> map = service.selectToPage(service.readQuery(request), service.readConfig(request));

        return success(map);

    }

4.2.5 学校新闻管理界面

管理员点击“学校新闻”会显示出所有的学校新闻信息,支持选择标题或者封面图对学校新闻信息进行查询,如果想要添加新的学校新闻信息,点击“添加”按钮,输入相关信息,点击“提交”按钮就可以添加了,同时可以选择某一条学校新闻信息,点击“删除”进行删除,也可以对用户提交的学校新闻评论的信息进行管控,界面如下图4-12所示。

图4-12学校新闻管理界面图

5系统测试

5.1 系统测试用例

用户登录功能测试:

表5.1 用户登录功能测试表

测试名称

测试功能

操作过程

预期结果

测试结果

用户登录模块测试

用户登录成功的情况

点击前台首页左上角“登录”链接后账号和密码分别输入xuesheng1和123456后点击“登录”按钮。

登录成功并调整到用户界面

正确

线上报到添加功能测试:

表5.2 线上报到添加功能测试表

测试名称

测试功能

操作过程

预期结果

测试结果

线上报到添加模块测试

线上报到添加成功的情况

在线上报到的页面中将点击添加,选择报到人员,输入正确的信息后然后点击“提交”按钮。

提示添加成功

正确

线上报到添加模块测试

线上报到添加失败的情况

在线上报到建安页面中不填写的学生,其他信息正常输入“提交”按钮。

提示“添加失败,业主不能为空”

正确

查询学生信息功能模块测试:

表5.3 查询学生信息功能测试表

测试名称

测试功能

操作过程

预期结果

测试结果

查询学生信息功能测试

查询成功的情况

菜单栏中点击用户管理菜单下的子菜单业主用户,输入入用户名或者姓名对学生用户进行查询

查询成功

正确

查询学校新闻信息功能模块测试:

表5.4 查询学校新闻信息功能测试表

测试名称

测试功能

操作过程

预期结果

测试结果

查询学校新闻信息功能测试

查询成功的情况

在系统的首页点击菜单栏中学校新闻这个按钮,查看学校新闻列表,对学校新闻进行查询

查询成功

正确

5.2 系统测试结果

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

结论

在新生入学报到系统开发之前,需要先对用户的具体需求进行分析。包括系统的可行性分析、功能需求分析以及其他需求等。在可行性分析过程中,对系统实现的技术性、经济性以及管理等方面进行了分析。总体上证明了系统实施的可行性。

本文总结了新生入学报到系统实现背景与现状,然后阐述了系统的具体业务需求,并根据系统需求对系统结构以及功能模块等进行了详细地设计,将整个系统划分为多个不同的功能模块。在分析系统功能需求时,对整个系统的总体架构以及功能模块等进行了分析,并选择合适的系统开发技术完成了对各个模块的开发工作。系统开发完成之后进行了部署,同时进行了系统的测试过程,通过测试证明了系统在功能以及性能等方面都达到了预期的要求,具有较高的稳定性与可靠性。

参考文献

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

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

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

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

[5]李文杰. 基于SpringBoot与Vue框架的公益性教育咨询平台系统研发[D]. 山东大学, 2023.

[6]刘盛男. 一种支持采集照片的新生入学报到终端[P]. 吉林省: CN217978221U, 2022-12-06.

[7]刘欣,李亮亮,牛聪. 基于Vue和SpringBoot框架的流域监管平台的研究和应用[C]// 《中国防汛抗旱》杂志社,中国水利学会减灾专业委员会,水利部防洪抗旱减灾工程技术研究中心(中国水利水电科学研究院防洪抗旱减灾研究中心). 第十一届防汛抗旱信息化论坛论文集. 黄河水利委员会信息中心;郑州黄河河务局;, 2021: 5.

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

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

[10]罗佳伟,徐国旭,金妍希. 民办高校新生报到系统的设计与实现 [J]. 中国新通信, 2019, 20 (03): 194-195.

[11]袁雪鹏. 新生报到管理系统的探索与实践——以黑龙江司法警官职业学院为例 [J]. 高教学刊, 2019, (11): 172-173.

[12]邱波. 高校新生入学报到管理系统设计与实现[D]. 吉林大学, 2019.

[13]梁泰淇. 广西财经学院新生报到系统的设计与实现[D]. 电子科技大学, 2019.

[14]康苏明,张天刚,张景安. 基于二维条形码的新生报到系统客户端设计 [J]. 微处理机, 2019, 36 (03): 12-16.

[15]高考网上数据处理及新生报到系统. 湖北省, 武汉科技大学, 2019-01-01.

致  谢

眨眼之间,大学生活就要结束了。在本文的最后,我要感谢我和蔼可亲的导师、团结有爱的同学的帮助和鼓励。此刻,我找不到感谢之词可以用来表达我最深切的感激之情。尤其感谢我的指导老师,在选题的过程中与我进行了深入的交流,在毕业设计期间给我提供了一些指导。四年的学习生活让我受益良多,老师们的丰富的学术知识、认真负责的学习态度让我受益匪浅。在此,我深深地感谢那些曾经给予我帮助和指导的老师!

我们的论文得益于许多学者的贡献,他们的研究成果为我们提供了宝贵的指导,使我们能够更好地完成这篇文章。感谢我的同学和朋友在我的写作以及排版过程中给予热情的帮助,才使得我比较顺利的完成了这篇论文。

感谢大学里遇见的朋友,你们在我这四年里留下无数的温暖和快乐,让我对这个校园多了一份留念。最后,感谢我的父母、辅导员、班长,以及室友们对我大学生活上的关心和理解,让我能保持乐观和追求我所热爱的。尽管我的能力有限,但我仍然尽力去完善这篇论文,并且诚挚地希望各位老师和学友能够给予宝贵的指导与意见!

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值