基于Spring Boot的大学生心理健康管理系统的设计与实现-计算机毕业设计源码72596

摘  要

随着社会竞争加剧,大学生的心理健康问题日益突出,如何有效管理和引导大学生的心理健康成为教育工作者亟须解决的问题。本文旨在设计与实现基于Spring Boot的大学生心理健康管理系统,通过提供一个方便的管理平台,促进大学生心理健康教育的发展。本研究采用模块化设计的方法,主要面对学生用户、教师用户和管理员三类角色,各角色均具备相应的功能权限,以实现注册登录、用户管理、教师信息管理、心理预约、留言信息、心理测评、系统管理以及权限管理等功能。在系统的实现过程中,选择Java作为编程语言,使用了Spring Boot框架来简化开发过程,并结合MySQL数据库进行数据存储,以确保系统的稳定性与高效性。通过多次测试与用户反馈,系统表现运行正常,性能良好,功能达到预期。该系统的构建与实施不仅能够有效提升学生的心理健康管理效率,保证心理健康管理的科学性和准确性,还能为相关领域的研究提供参考,具有重要的现实意义和推广价值。

关键词:大学生心理健康管理系统;Spring Boot框架;Java语言;心理测评;心理健康管理

Abstract

With the intensification of social competition, the mental health problems of college students have become increasingly prominent. How to effectively manage and guide the mental health of college students has become an urgent issue that educators need to address. This article aims to design and implement a college student mental health management system based on Spring Boot, promoting the development of college student mental health education by providing a convenient management platform. This study adopts a modular design approach, mainly targeting three types of roles: student users, teacher users, and administrators. Each role has corresponding functional permissions to achieve functions such as registration and login, user management, teacher information management, psychological appointment, message information, psychological assessment, system management, and permission management. In the implementation process of the system, Java was chosen as the programming language, the Spring Boot framework was used to simplify the development process, and MySQL database was combined for data storage to ensure the stability and efficiency of the system. After multiple tests and user feedback, the system has performed normally, with good performance and functions meeting expectations. The construction and implementation of this system can not only effectively improve the efficiency of students' mental health management, ensure the scientific and accurate nature of mental health management, but also provide reference for research in related fields, which has important practical significance and promotion value.

Keywords: College Student Mental Health Management System; Spring Boot framework; Java language; Psychological assessment; Psychological Health Management

目  录

1 前  言

1.1 研究背景

1.2 研究意义

1.3 国内外研究现状

1.3.1 国内研究现状

1.3.2 国外研究现状

1.4 论文结构与章节安排

2 关键技术

2.1 Java语言

2.2 MySQL数据库

2.3 Spring Boot框架

2.4 B/S模式

3 系统分析

3.1 可行性分析

3.1.1 技术可行性

3.1.2 经济可行性

3.1.3 操作可行性

3.1.4 运行可行性

3.2 功能需求分析

3.3 系统性能分析

3.4 系统流程分析

3.4.1 程序操作流程

3.4.2 登录流程

3.4.3 注册流程

4 系统设计

4.1 总体设计

4.1.1 系统架构设计

4.1.2 功能模块设计

4.2 数据库设计

4.2.1 数据库E-R图设计

4.2.2 数据库表结构设计

5 系统实现

5.1 系统环境分析

5.2 系统前台功能模块实现

5.2.1 用户登录模块

5.2.2 用户注册模块

5.2.3 首页模块

5.2.4 心理测评模块

5.2.5 教师信息模块

5.2.6 学生用户个人中心模块

5.2.7 教师用户个人中心模块

5.3 后台管理功能模块实现

5.3.1 系统用户模块

5.3.2 教师信息管理模块

5.3.3 心理预约管理模块

5.3.4 留言信息管理模块

5.3.5 资源管理模块

5.3.6 权限管理模块

6 系统测试

6.1 测试意义

6.2 测试用例

6.3 测试分析

7 结束语

参考文献

致  谢

 

1   

1.1研究背景

在现代社会中,大学生的心理健康问题愈加突出,尤其是面对学业压力、就业竞争等多重挑战,心理健康问题频发。然而,现有的心理健康管理体系往往存在信息沟通不畅、资源分配不均、管理能力不足等问题,这些都导致了大学生心理健康服务的效果不佳,难以满足学生的实际需求[1]。与此同时,信息化技术的迅速发展为心理健康管理提供了新的机遇,为高校心理健康教育的提升提供了新的契机[2]。基于此背景,使用Spring Boot框架构建基本业务逻辑,结合MySQL数据库储存和处理数据,保证系统的稳定性与安全性,开发一个集成心理测评、预约咨询等服务的综合性心理健康管理系统,能够为用户提供有效的心理健康沟通平台与管理工具,提高大学生心理健康管理的科学性和准确性[3]。

1.2研究意义

本研究的主要目的是引入Springboot技术结合MySQL数据库设计并实现一个针对大学生的心理健康管理系统,以应对当前高校心理健康服务的不足。通过这一系统以提高心理健康服务的效率,及时监测学生心理健康状态,同时为学生提供便捷的心理预约咨询的渠道,加强学生与心理健康教师之间的沟通与互动[4]。本大学生心理健康管理系统的研究具有重要的理论与实践意义。本系统的实施不仅可以为高校心理健康教育提供理论支撑,推动心理健康管理的科学化和系统化,促进教育改革与发展,并为相关领域研究提供借鉴参考;而且能够推动高校心理健康管理体系信息化建设,为高校心理健康管理提供有效的工具和方法,提升心理健康服务质量,最终提高学生的整体心理素质和学业表现[5]。

1.3国内外研究现状

1.3.1国内研究现状

近年来,国内高校对心理健康教育的重视程度不断提升,心理健康课程逐渐纳入必修课体系。许多高校设立了心理咨询中心,并配备专业的心理咨询师,开展心理健康宣传与教育。以清华大学和北京大学为例,这些学校通过心理健康讲座、宣传活动及线上线下结合的心理辅导服务,积极提升学生的心理健康水平。同时,随着信息技术的发展,一些高校开始尝试建立心理健康管理系统。研究表明,信息化手段能够提高服务的效率和可达性[6]。例如,厦门大学推出了心理健康服务微信公众平台,学生可以通过该平台预约心理咨询、获取心理测评及相关知识。此外,一些高校还利用数据分析技术,对学生的心理健康状况进行监测与干预[7]。如南京大学通过定期的心理健康调查和数据分析,识别心理问题高发的群体并进行针对性干预。这种方法有助于实现心理健康服务的精准化和个性化。

1.3.2国外研究现状

在国外,尤其是在北美和欧洲,心理健康管理已经形成了一套较为系统化的模式。例如,美国的大学在学生入学之前通常会进行心理评估,以便及时发现心理健康问题。像哈佛大学的“心理健康360”项目,将心理健康服务与大学生日常生活紧密结合,提供全天候的咨询服务。许多国外高校还开发了在线心理咨询平台,使心理健康服务更加便捷[8]。如加州大学洛杉矶分校(UCLA)推出的“Counseling and Psychological Services”(CAPS)提供在线预约和咨询,帮助学生克服寻求帮助的障碍,同时也降低了心理咨询的门槛。还有英国的心理健康服务体系注重自助资源的提供,许多大学设有在线自助工具,例如“Big White Wall”网站,为学生提供自我评估和心理支持。还有斯坦福大学推出了一款名为“Wellness”的应用程序,提供心理健康评估、冥想练习、情绪追踪等功能,鼓励学生定期关注自己的心理状态,方便学生获取心理支持和资源,从而增强自身的心理健康意识[9]。

综上所述,无论是国内还是国外,大学生心理健康管理的研究与实践都逐渐走向信息化和系统化,但在具体的实施和应用方面仍存有改进的空间。通过开发一个基于Spring Boot的心理健康管理系统,能够充分利用现代信息技术,提高管理效率,满足日益增长的大学生心理健康服务需求。

1.4论文结构与章节安排

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

第一章:引言,主要介绍大学生心理健康管理系统领域研究的背景和意义,概述研究的现状和系统特点。

第二章:关键技术,主要探讨和说明实现大学生心理健康管理系统的关键技术。

第三章:系统分析,主要从大学生心理健康管理系统的可行性、功能、性能等方面进行分析,为后续系统设计提供理论支持。

第四章:系统设计,主要对大学生心理健康管理系统功能模块、数据库进行功能设计。

第五章:系统实现,主要介绍了大学生心理健康管理系统各个用户的功能、系统界面的实现。

第六章:系统测试,主要对大学生心理健康管理系统进行测试,验证功能完整性、稳定性和安全性,评估系统在实际运行中的性能表现。

第七章:结束语。总结全文研究内容,提出对大学生心理健康管理系统领域未来发展的展望和建议,指出研究的不足和可优化之处,为相关领域的进一步探索提供参考。

2  关键技术

2.1Java语言

Java是一种跨平台的编程语言,广泛用于开发各种类型的应用程序,包括Web应用、移动应用和大型软件系统。在大学生心理健康管理系统中,Java通常用于后端开发,提供强大的处理能力和稳定性。同时Java是一种面向对象的编程语言,支持封装、继承和多态等特性,使代码更易于维护和重用。还拥有丰富的标准库和第三方框架,如Spring、Hibernate等,可以大大提高开发效率。

2.2MySQL数据库

MySQL是一种流行的开源关系型数据库管理系统,用于存储和管理数据。在大学生心理健康管理系统中,MySQL可以用于数据存储、数据查询和数据管理等方面,用户可以免费使用和修改源代码,为平台提供可靠和高性能的数据库支持。MySQL支持多种存储引擎,如InnoDB和MyISAM,可以根据不同的应用场景选择合适的存储引擎,以提高性能;提供了多种数据安全机制,如用户权限管理、数据加密和备份恢复等,确保数据的安全性。

2.3Spring Boot框架

Spring Boot是一个用于构建微服务的Java框架,简化了Spring应用程序的开发和部署过程。Spring Boot通过自动配置和约定优于配置的理念,简化了Spring应用程序的开发过程,使开发者可以更快地构建和部署应用程序;拥有丰富的生态系统,如Spring Cloud、Spring Security等,可以满足各种企业级应用的需求。在大学生心理健康管理系统中,Spring Boot可以帮助开发团队快速搭建后端服务,并实现各种功能模块的集成和管理。

2.4B/S模式

B/S模式(Browser/Server模式)是一种网络应用架构,其中浏览器(Browser)作为客户端与服务器(Server)进行通信。这种模式使用户可以通过普通的Web浏览器访问应用程序,而无需安装额外的客户端软件。用户通过浏览器发送请求,服务器接收并处理这些请求,然后将结果返回给浏览器显示给用户。在大学生心理健康管理系统中,Spring Boot结合B/S模式的优势包括跨平台的兼容性,用户可以在不同操作系统和设备上访问应用程序。此外,维护和部署也更为简便,并且能够实现较高的安全性,因为服务器端控制了应用程序和数据的访问权限。

3  系统分析

3.1可行性分析

3.1.1技术可行性

从技术角度来看,Spring Boot作为一种轻量级、快速构建的Java框架,能够提高开发效率,降低系统的复杂程度,易于维护和升级。同时,MySQL作为关系型数据库,能够支持平台数据的存储与管理,保障系统的稳定性和高效性。因此,本系统具有技术可行性。

3.1.2经济可行性

从经济角度来看,基于Spring Boot搭建大学生心理健康管理系统的投入成本相对较低,因为Spring Boot本身是一个免费、开源的框架,可以节省开发成本。同时,使用MySQL作为数据库也具有成本效益高的优势。因此,本系统具有经济可行性。

3.1.3操作可行性

从操作角度来看,Spring Boot的简洁性和高度集成的特点使得系统的部署和运行相对简单,容易维护和管理的同时,能够提供一个界面直观友好和操作简单高效的系统,能满足用户的各项要求,方便用户快速上手使用。因此,本系统具有操作可行性。

3.1.4运行可行性

从运行角度来看,正因为本系统是在服务器的基础上开发的,系统开发成功以后,用户无需导航指导便可自己上手进行操作。系统一经开发测试后,在计算机移动客户端能上网的情况下,只需在浏览器里完成所有可用操作,也无需配置复杂的使用和运行环境,只需一个网址便可进入系统。因此,本系统具有运行可行性。

3.2功能需求分析

本大学生心理健康管理系统设计分为三大主要用户角色:学生用户、教师用户和管理员。以下是对每个角色的功能需求的详细描述。

学生用户角色用例如下图所示。

图3.1学生用户用例图

系统前台学生用户具体功能说明如下所示。

  1. 注册登录:提供注册和登录系统的功能,学生用户可以通过注册拥有系统账户,注册信息经管理员审核通过后才可登录系统前台。
  2. 首页:提供系统搜索功能和系统功能导航栏,展示平台的轮播图、最新动态、热门信息、推荐信息等内容。
  3. 心理测评:提供心理测评功能,学生用户可以搜索选择试题进行答题,完成测试提交后可查看教师的心理测评评语。
  4. 通知信息:提供系统相关的通知信息,保证学生用户及时了解平台动态。
  5. 健康资讯:提供健康资讯的相关新闻、文章展示和热门资讯推荐,让学生用户快速获取最新资讯,支持点赞、收藏、评论健康资讯。
  6. 教师信息:提供教师信息展示,支持关键字、排序搜索,学生用户可以浏览教师信息,并可收藏和评论教师信息,详情页提供预约、留言功能。
  7. 我的账户:提供管理个人资料功能,学生用户可修改自己的账户信息和密码信息。
  8. 个人中心:提供个人首页、心理预约、留言信息、心理测评、收藏、评论管理等子菜单功能链接,学生用户可根据需求对其进行管理。

教师用户角色用例如下图所示。

图3.2教师用户用例图

系统前台教师用户具体功能说明如下所示。

  1. 登录:提供登录系统的功能,教师用户账户信息有管理员在后台添加,可使用账号密码登录系统前台,实现权限内操作。
  2. 首页:提供系统搜索功能和系统功能导航栏,展示平台的轮播图、最新动态、热门信息、推荐信息等内容。
  3. 通知信息:提供系统相关的通知信息,保证教师用户及时了解平台动态。
  4. 健康资讯:提供健康资讯的相关新闻、文章展示和热门资讯推荐,让教师用户快速获取最新资讯,支持点赞、收藏、评论健康资讯。
  5. 教师信息:提供教师信息展示,支持关键字、排序搜索,教师用户可以浏览教师信息,并可收藏和评论教师信息。
  6. 我的账户:提供管理个人资料功能,教师用户可修改自己的账户信息和密码信息。
  7. 个人中心:提供个人首页、学生用户、教师信息、心理预约、留言信息、心理测评、收藏、评论管理等子菜单功能链接,教师用户可根据需求对其进行管理。

管理员角色用例如下图所示。

图3.3管理员用例图

系统后台管理管理员具体功能说明如下所示。

  1. 登录:管理员可直接使用账号密码登录系统后台,进行管理,可对自己的个人信息和密码信息进行修改。
  2. 系统用户:管理员可管理系统的所有系统用户信息,包括学生用户、教师用户、管理员账号等,支持用户权限管理和角色设置,可增改删查和审核封禁系统用户。
  3. 教师信息管理:管理员可管理所有教师信息的发布、下架、更新等操作,提供搜索功能,支持查看和管控其评论内容。
  4. 心理预约管理:管理员可管理所有心理预约信息,包括查询、删除心理预约,提供审核等操作。
  5. 留言信息管理:管理员可管理所有留言信息,包括查询、删除留言信息。
  6. 系统管理:管理员可管理系统的轮播图信息,包括新增、编辑、删除轮播图,提供搜索功能,支持图片附带链接。
  7. 通知信息管理:管理员可管理平台发布的通知信息,包括新增、编辑、删除通知信息,提供搜索功能。
  8. 资源管理:管理员可管理所有健康资讯、资讯分类以及心理测评的新增、编辑、删除等操作,提供搜索功能,支持对健康资讯的评论管控和查看;心理测评还提供题库、答题、点评(主要由教师负责点评)等操作。
  9. 权限管理:管理员可管理系统用户组的权限信息,包括可设置修改用户组的增改删查等权限内容。

3.3系统性能分析

性能需求分析是系统设计的重要组成部分,其目标是确保系统在各种负载条件下的高效、稳定和可靠。对于大学生心理健康管理系统的设计与实现,下面是系统性能分析表:

表3.1性能需求表

项目

内容

响应时间

系统对用户请求的响应时间需在500ms以内

并发用户数

系统需要支持多个并发用户同时访问

吞吐量

系统每秒需要处理大量请求

可用性

系统需要保证一定的可用性

数据安全

用户敏感数据需要加密存储,并支持数据库备份和恢复

数据一致性

系统中的数据操作需保证ACID特性,确保数据一致性

扩展性

系统需要支持水平扩展,能够方便地添加服务器节点以应对高请求量

可维护性

系统代码需要清晰易懂、结构良好,方便团队成员维护和修改

日志记录

系统需要记录用户操作日志、异常日志以及系统运行日志

监控报警

系统需要实时监控运行状态,当系统异常时能够及时发送警报通知相关人员

缓存设置

针对频繁使用的数据,系统需要进行合适的缓存

3.4系统流程分析

3.4.1程序操作流程

用户访问平台网站,可以选择进行注册或登录操作。注册成功后,用户可以使用注册的账号登录平台。登录后的用户可以进入系统功能界面,使用自己权限内的功能操作。程序操作流程图如下图所示。

图3.4程序操作流程图

3.4.2登录流程

用户访问平台的网站,进入登录页面页面,入其用户名和密码,后端服务接收登录请求,验证用户提供的用户名和密码是否匹配数据库中存储的信息,验证通过即可登录成功。登录流程图如下图所示。

图3.5登录流程图

3.4.3注册流程

未有账号的用户可进入注册界面进行注册操作,填写注册表格,包括用户名、密码、电子邮件等必要信息。后台系统验证并保存用户提交的信息。分配唯一用户标识符。注册成功后,用户可以使用账号密码进行登录。用户注册流程图如下图所示。

图3.6注册流程图

4  系统设计

4.1总体设计

4.1.1系统架构设计

B/S架构,即浏览器/服务器架构,是一种基于Web的分布式计算范式。在此架构中,应用程序的逻辑被巧妙地区分为客户端和服务器两部分。具体而言,客户端借助广泛使用的浏览器界面,进行应用访问与操作;而服务器端则肩负起业务逻辑处理、数据存储及管理的核心职责。值得一提的是,客户端无需安装特定的软件,用户仅需通过浏览器输入相应的URL地址,即可轻松访问应用程序,这一特性极大地提升了用户的使用便捷性和系统的维护效率。服务器端通常采用高性能的计算机和数据库系统,能够处理大量并发请求和复杂的业务逻辑。B/S架构的优势在于其跨平台性和易于维护性,开发者可以通过更新服务器端的代码来实现整个系统的升级和维护,而无需逐一更新客户端。

图4.1系统架构图

4.1.2功能模块设计

功能模块设计是系统开发过程中的重要阶段,它旨在将系统划分为不同的模块,每个模块负责完成特定的功能或任务。大学生心理健康管理系统由多个功能模块组成,每个模块下又包含具体的功能操作。根据前文功能需求分析,可以得出功能模块图如下图所示。

图4.2系统功能模块图

4.2数据库设计

4.2.1数据库E-R设计

E-R图有助于理清系统中的数据结构和关系,为后续的数据库表结构设计提供指导。在进行数据库设计之前,首先需要先绘制实体-关系(E-R)图。E-R图将帮助理清业务中的实体(Entity)及它们之间的关系(Relationship),从而为后续的数据库表设计提供基础。根据前文可以得出本大学生心理健康管理系统拥有多个实体,在此列举主要实体,各个实体之间联系总E-R图如下图所示。

图4.3系统总E-R图

4.2.2数据库表结构设计

在E-R图确定后,接下来可以根据实体和关系的属性设计数据库表结构。在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

parent

varchar

64

0

Y

N

父级菜单

8

parent_sort

int

10

0

N

N

0

父级菜单排序

9

position

varchar

32

0

Y

N

位置:

10

mode

varchar

32

0

N

N

_blank

跳转方式:

11

add

tinyint

3

0

N

N

1

是否可增加:

12

del

tinyint

3

0

N

N

1

是否可删除:

13

set

tinyint

3

0

N

N

1

是否可修改:

14

get

tinyint

3

0

N

N

1

是否可查看:

15

field_add

text

65535

0

Y

N

添加字段:

16

field_set

text

65535

0

Y

N

修改字段:

17

field_get

text

65535

0

Y

N

查询字段:

18

table_nav_name

varchar

500

0

Y

N

跨表导航名称:

19

table_nav

varchar

500

0

Y

N

跨表导航:

20

option

text

65535

0

Y

N

配置:

21

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

22

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表code_token

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

code_token_id

int

10

0

N

Y

2

token

varchar

255

0

Y

N

3

code

varchar

255

0

Y

N

验证码

4

expire_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

失效时间

5

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间

6

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:

表evaluation (测评问卷)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

exam_id

mediumint

8

0

N

Y

问卷id

2

name

varchar

32

0

N

N

问卷名称:[2,32]

3

duration

int

10

0

Y

N

答题时长

4

status

varchar

10

0

Y

N

状态:启用、禁用

5

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

6

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表evaluation_question (题目)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

exam_question_id

mediumint

8

0

N

Y

2

type

varchar

20

0

Y

N

类型

3

title

varchar

255

0

Y

N

题目

4

question_item

varchar

500

0

Y

N

选项

5

question_order

int

10

0

Y

N

排序

6

exam_id

mediumint

8

0

N

N

所属问卷

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表evaluation_user_answer (用户答题)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

user_answer_id

mediumint

8

0

N

Y

2

user_id

mediumint

7

0

N

N

用户ID:[0,8388607]用户获取其他与用户相关的数据

3

exam_id

mediumint

8

0

N

N

0

考试id

4

score

double

9

2

Y

N

0.00

分数

5

answers

text

65535

0

Y

N

答案

6

comment_state

tinyint

4

0

Y

N

0

点评状态

7

nickname

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

更新时间:

10

comment_desc

varchar

255

0

Y

N

评语

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

表message_information (留言信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

message_information_id

int

10

0

N

Y

留言信息ID

2

student_users

int

10

0

Y

N

0

学生用户

3

student_name

varchar

64

0

Y

N

学生姓名

4

teacher_users

int

10

0

Y

N

0

教师用户

5

teachers_name

varchar

64

0

Y

N

教师姓名

6

question_title

varchar

64

0

N

N

问题标题

7

situation_description

text

65535

0

Y

N

情况描述

8

teachers_suggestion

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

更新时间

11

source_table

varchar

255

0

Y

N

来源表

12

source_id

int

10

0

Y

N

来源ID

13

source_user_id

int

10

0

Y

N

来源用户

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

表psychological_appointment (心理预约)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

psychological_appointment_id

int

10

0

N

Y

心理预约ID

2

appointment_number

varchar

64

0

Y

N

预约编号

3

teacher_users

int

10

0

Y

N

0

教师用户

4

teachers_name

varchar

64

0

Y

N

教师姓名

5

student_users

int

10

0

Y

N

0

学生用户

6

student_name

varchar

64

0

Y

N

学生姓名

7

appointment_content

text

65535

0

Y

N

预约内容

8

appointment_remarks

text

65535

0

Y

N

预约备注

9

examine_state

varchar

16

0

N

N

未审核

审核状态

10

examine_reply

varchar

16

0

Y

N

审核回复

11

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

12

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

13

source_table

varchar

255

0

Y

N

来源表

14

source_id

int

10

0

Y

N

来源ID

15

source_user_id

int

10

0

Y

N

来源用户

表schedule (日程管理)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

schedule_id

smallint

5

0

N

Y

日程ID:[0,32767]

2

content

varchar

255

0

Y

N

日程内容

3

scheduled_time

datetime

19

0

Y

N

计划时间

4

user_id

int

10

0

N

N

用户id

5

create_time

datetime

19

0

Y

N

创建时间

6

update_time

datetime

19

0

Y

N

更新时间

表score (评分)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

score_id

int

10

0

N

Y

评分ID:

2

user_id

int

10

0

N

N

0

评分人:

3

nickname

varchar

64

0

Y

N

昵称:

4

score_num

double

5

2

N

N

0.00

评分:

5

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

6

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

7

source_table

varchar

255

0

Y

N

来源表:

8

source_field

varchar

255

0

Y

N

来源字段:

9

source_id

int

10

0

N

N

0

来源ID:

表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

N

N

学生姓名

3

student_gender

varchar

64

0

Y

N

学生性别

4

phone_number

varchar

16

0

N

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

更新时间

表teacher_information (教师信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

teacher_information_id

int

10

0

N

Y

教师信息ID

2

teacher_users

int

10

0

Y

N

0

教师用户

3

teachers_name

varchar

64

0

Y

N

教师姓名

4

teacher_pictures

varchar

255

0

Y

N

教师图片

5

teacher_gender

varchar

64

0

Y

N

教师性别

6

phone_number

varchar

64

0

Y

N

手机号码

7

teachers_age

double

9

2

Y

N

0.00

教师年龄

8

teacher_title

varchar

64

0

Y

N

教师职称

9

teacher_position

varchar

64

0

Y

N

教师岗位

10

teachers_educational_background

varchar

64

0

Y

N

教师学历

11

specializes_in_specific_fields

text

65535

0

Y

N

擅长领域

12

teacher_introduction

text

65535

0

Y

N

教师简介

13

teacher_details

longtext

2147483647

0

Y

N

教师详情

14

hits

int

10

0

N

N

0

点击数

15

praise_len

int

10

0

N

N

0

点赞数

16

collect_len

int

10

0

N

N

0

收藏数

17

comment_len

int

10

0

N

N

0

评论数

18

psychological_appointment_limit_times

int

10

0

N

N

0

预约限制次数

19

message_information_limit_times

int

10

0

N

N

0

留言限制次数

20

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

21

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表teacher_users (教师用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

teacher_users_id

int

10

0

N

Y

教师用户ID

2

teacher_no

varchar

64

0

N

N

教师工号

3

teachers_name

varchar

64

0

N

N

教师姓名

4

teacher_gender

varchar

64

0

N

N

教师性别

5

phone_number

varchar

16

0

N

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

int

10

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

创建时间:

表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

更新时间:

5  系统实现

5.1系统环境分析

考虑到大学生心理健康管理系统主要面对部分人群,网站的访问量不大。系统处理、统计分析工作简单,Tomcat服务器能够满足中小型网络用户的数据处理,通过互联网Internet 接入及MySQL 5.6以上的数据库应用的需求点。系统具体开发环境如下表所示:

表5.1系统环境表

项目

开发环境

操作系统

Windows 11、Windows 10、Windows 8、Windows 7

开发语言

Java

使用框架

Spring Boot

体系结构

三层B/S体系结构

开发工具

IDEA(2020版)/MyEclipse(2017)/Eclipse、Vs Code

数据库

MySQL 5.6以上

数据库管理工具

Navicat

JDK版本

Java 1.8

Maven

apache-maven 3.6.1-bin

Tomcat

apache-tomcat-7.0.88

5.2系统前台功能模块实现

5.2.1用户登录模块

用户输入用户名和密码后,系统首先对这些输入进行基本的格式验证,确保用户名和密码符合系统设定的格式要求(如长度、特殊字符要求等)。系统接收到用户输入后,会根据用户名查找系统中存储的用户信息数据库或者其他持久化存储方式。系统需要验证密码的正确性,验证成功即可成功登录。界面设计如下图所示。

图5.1用户登录界面设计

登录关键代码如下:

 /**

     * 登录

     * @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, "账号或密码不正确");

        }

    }

5.2.2用户注册模块

用户注册时,系统要求用户提供必要的信息,例如用户名、密码、电子邮件地址等。这些信息通常由用户在注册表单中输入,并通过前端验证确保格式的正确性。注册过程完成后,系统会为新用户创建一个账户。这包括分配一个唯一的用户ID和设置初始的权限或者角色。界面设计如下图所示。

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

}    

5.2.3首页模块

学生用户登录系统前台后,首先进入前台首页界面,该界面主要展示网站的主要信息和功能入口,包括系统导航栏、轮播图、热门信息推荐等。界面设计如下图所示。

图5.3首页界面设计

5.2.4心理测评模块

心理测评模块主要为学生用户提供心理测评功能,学生用户可以搜索选择试题进行答题,完成测试提交后可查看教师的心理测评评语。界面设计如下图所示。

图5.4心理测评界面设计

心理测评关键代码如下:

    @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.5教师信息模块

教师信息模块主要为学生用户和教师用户提供教师信息展示,支持关键字、排序搜索,学生用户和教师用户可以浏览教师信息,并可收藏和评论教师信息。此外,学生用户的教师信息详情页还提供预约、留言功能。界面设计如下图所示。

图5.5教师信息详情页界面设计

5.2.6学生用户个人中心模块

个人中心主要为学生用户提供个人首页、心理预约、留言信息、心理测评、收藏、评论管理等子菜单功能链接,学生用户可根据需求对其进行管理。

具体包括学生用户可查询和确认心理预约审核情况;可查阅留言信息的建议回复内容;可搜索和浏览已提交的心理测评信息;可查看和删除已收藏的系统信息;可跟踪和管控已发表的评论内容。界面设计如下图所示。

图5.6学生用户个人中心界面设计

5.2.7教师用户个人中心模块

个人中心主要为教师用户提供个人首页、学生用户、教师信息、心理预约、留言信息、心理测评、收藏、评论管理等子菜单功能链接,教师用户可根据需求对其进行管理。

具体包括教师用户可查询自己的学生信息和教师信息;可审核学生提交心理预约申请和回复学生留言信息;可发布心理测评,对学生的心理测评进行点评;可查看和删除已收藏的系统信息;可跟踪和管控已发表的评论内容。界面设计如下图所示。

图5.7教师用户个人中心界面设计

5.3后台管理功能模块实现

5.3.1系统用户模块

管理员可管理系统的所有系统用户信息,包括学生用户、管理员账号等,支持用户权限管理和角色设置,可增改删查和审核系统用户信息。界面设计如下图所示。

图5.8系统用户界面设计

系统用户管理关键代码:

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

    }

    @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.3.2教师信息管理模块

管理员可管理所有教师信息的发布、下架、更新等操作,提供搜索功能,支持查看和管控其评论内容。界面设计如下图所示。

图5.9教师信息管理界面设计

发布教师信息关键代码如下:

    @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.3.3心理预约管理模块

管理员可管理所有心理预约信息,包括查询、删除心理预约,提供审核等操作。界面设计如下图所示。

图5.10心理预约管理界面设计

审核心理预约信息代码如下:

    @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.3.4留言信息管理模块

管理员可管理所有留言信息,包括查询、删除留言信息。界面设计如下图所示。

图5.11留言信息管理界面设计

留言信息管理关键代码如下:

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

 }

    @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.3.5资源管理模块

管理员可管理所有健康资讯、资讯分类以及心理测评的新增、编辑、删除等操作,提供搜索功能,支持对健康资讯的评论管控和查看;心理测评还提供题库、答题、点评(主要由教师负责点评)等操作。界面设计如下图所示。

图5.12资源管理界面设计

资源管理关键代码如下:

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

 }

    @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.3.6权限管理模块

管理员可管理系统用户组的权限信息,包括可设置修改用户组的增改删查等权限内容。界面设计如下图所示。

图5.13权限管理界面设计

权限管理关键代码如下:

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

    }

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

    }

6  系统测试

6.1测试意义

在软件开发生命周期中,系统测试占据着举足轻重的地位。通过进行全面而系统的测试,能够确保软件在实际使用环境中具备稳定运行的能力,从而满足用户的多样化需求,并显著提升软件的整体质量与可靠性。这一过程不仅有助于识别并修复潜在问题,还能为软件的持续优化提供有力支撑。

随着现代信息的快速发展,在社会各大领域中已经都开始应用网络信息技术,在应用网络技术的同时人们也开始把软件的质量问题作为了一个重要焦点来关注,因为一个软件的好与坏它决定着这个系统在市场上的生存,所以必须要把软件质量来做好,这样才有一定的生存能力。对于用户来说它们首先选用的都是保证这个系统软件的质量问题,因为一个系统的软件质量决定着用户在后期上成本经济的问题。图6.1就是纠错测试流程。

图6.1测试与纠错信息流程

6.2测试用例

在系统的功能验证阶段,将对全部的功能界面进行全面测试。具体而言,将模拟用户行为,输入各类数据并进行提交操作,随后仔细观察和分析每个页面的响应反馈。这一过程旨在验证系统的功能完整性,确保页面所呈现的功能与预期相符,并能够完全实现预设的交互逻辑。通过这种全面细致的测试方法,将确保系统在实际应用中能够稳定、准确地响应用户需求。

下表是系统登录功能测试用例,检测了用户名和密码的不同的输入情况,观察系统的响应情况。得出该功能达到了设计目标。

表6.1系统登录功能测试用例

功能描述

用于系统登录

测试目的

检测登录时的合法性检查

测试数据以及操作

预期结果

实际结果

输入的用户名和密码带有非法字符

提示用户名或者密码错误

与预期结果一致

输入的用户名或者密码为空

提示用户名或者密码错误

与预期结果一致

输入的用户名和密码不存在

提示用户名或者密码错误

与预期结果一致

输入正确的用户名和密码

登录成功

与预期结果一致

下表是注册功能测试用例,检测了各种数据的输入情况,观察系统的响应情况。得出该功能达到了设计目标。

表6.2注册功能测试用例

功能描述

用于用户注册

测试目的

检测用户注册时的合法性检查

测试数据以及操作

预期结果

实际结果

输入的手机号不合法

提示请输入正确的手机号码

与预期结果一致

输入的字段为空

提示必填项不能为空

与预期结果一致

输入的密码少于6位

提示密码必须为6-12位

与预期结果一致

输入的密码大于12位

提示密码必须为6-12位

与预期结果一致

下表是教师信息管理功能的测试用例,检测了教师信息中对教师信息的添加,删除,修改,查询等操作是否成功运行。观察系统的响应情况,得出该功能也达到了设计目标,系统运行正确。

前置条件;管理员登录系统。

表6.3教师信息管理的测试用例

功能描述

用于教师信息管理

测试目的

检测教师信息时的各种操作的运行情况

测试数据以及操作

预期结果

实际结果

点击添加教师信息,必填项合法输入,点击提交

提示添加成功

与预期结果一致

点击添加教师信息,必填项输入为空或不合法,点击提交

提示必填项不能为空

与预期结果一致

进入教师信息详情页修改,必填项合法输入,点击提交

提示提交成功

与预期结果一致

进入教师信息详情页修改,必填项修改为空或不合法,点击提交

提示必填项不能为空

与预期结果一致

点击删除教师信息,选择教师信息删除

提示删除成功

与预期结果一致

点击搜索教师信息,输入存在的教师信息名

查找出相应教师信息信息

与预期结果一致

点击搜索教师信息,输入不存在的教师信息名

不显示教师信息信息

与预期结果一致

下表心理预约管理功能的测试用例,检测了心理预约中对心理预约的审核,删除,修改,查询操作等是否成功运行。观察系统的响应情况,得出该功能也达到了设计目标,系统运行正确。

前置条件;管理员登录系统。

表6.4心理预约管理的测试用例

功能描述

用于心理预约管理

测试目的

检测心理预约时的各种操作的运行情况

测试数据以及操作

预期结果

实际结果

点击审核心理预约,必填项合法输入,点击提交

提示审核成功

与预期结果一致

点击审核心理预约,必填项输入不合法,点击提交

提示必填项不能为空

与预期结果一致

进入心理预约详情页修改,必填项合法输入,点击提交

提示提交成功

与预期结果一致

点击修改心理预约,必填项输入不合法,点击提交

提示必填项不能为空

与预期结果一致

点击删除心理预约,选择心理预约删除

提示删除成功

与预期结果一致

点击搜索心理预约,输入存在的心理预约名

查找出相应心理预约信息

与预期结果一致

点击搜索心理预约,输入不存在的心理预约名

不显示心理预约信息

与预期结果一致

下表是留言信息管理功能的测试用例,检测了留言信息中对留言信息的回复,删除,修改,查询操作等是否成功运行。观察系统的响应情况,得出该功能也达到了设计目标,系统运行正确。

前置条件;管理员登录系统。

表6.5留言信息管理的测试用例

功能描述

用于留言信息

测试目的

检测留言信息时的各种操作的运行情况

测试数据以及操作

预期结果

实际结果

进入留言信息详情页回复,必填项合法输入,点击提交

提示添加成功

与预期结果一致

进入留言信息详情页回复,必填项输入不合法,点击提交

提示必填项不能为空

与预期结果一致

进入留言信息详情页修改,必填项合法输入,点击提交

提示提交成功

与预期结果一致

进入留言信息详情页修改,必填项输入不合法,点击提交

提示必填项不能为空

与预期结果一致

点击删除留言信息,选择留言信息删除

提示删除成功

与预期结果一致

点击搜索留言信息,输入存在的留言信息名

查找出相应留言信息信息

与预期结果一致

点击搜索留言信息,输入不存在的留言信息名

不显示留言信息信息

与预期结果一致

下表是心理测评管理功能的测试用例,检测了心理测评中对心理测评的添加,删除,修改,查询等操作是否成功运行。观察系统的响应情况,得出该功能也达到了设计目标,系统运行正确。

前置条件;管理员登录系统。

表6.6心理测评管理的测试用例

功能描述

用于心理测评管理

测试目的

检测心理测评时的各种操作的运行情况

测试数据以及操作

预期结果

实际结果

点击添加心理测评,必填项合法输入,点击提交

提示添加成功

与预期结果一致

点击添加心理测评,必填项输入为空或不合法,点击提交

提示必填项不能为空

与预期结果一致

进入心理测评详情页修改,必填项合法输入,点击提交

提示提交成功

与预期结果一致

进入心理测评详情页修改,必填项修改为空或不合法,点击提交

提示必填项不能为空

与预期结果一致

点击删除心理测评,选择心理测评删除

提示删除成功

与预期结果一致

点击搜索心理测评,输入存在的心理测评名

查找出相应心理测评信息

与预期结果一致

点击搜索心理测评,输入不存在的心理测评名

不显示心理测评信息

与预期结果一致

6.3测试分析

本大学生心理健康管理系统开发与设计满足相关信息的管理需求,在设计时借鉴了国内外优秀网站的优点,从界面到系统设计都保证了管理员以及用户能够方便操作。系统的主要特点和优点归纳如下:

(1)本系统用的移置性和针对性都比较高,因为针对性高可以提供更好的服务而移置性可以在多个系统上运行,更给用户带来了极大的方便。

(2)该大学生心理健康管理系统开发与设计内容全面,管理方便可以及时的全面的处理各种错误,异常,这样避免了很多因用户的马虎操作而出现的失误,其操作方便,用户界面友好,能够上网的人都可以很好的进行操作。

经过对上述的测试结果分析,所有基本功能齐全,操作简单,系统运行性能良好,系统安全可靠,能促进大学生心理健康管理系统的发展,发展前景广阔。

7  结束语

通过开发大学生心理健康管理系统,我深刻体会到软件开发的完整流程。首先,在确定开发目标后,我进行了详细的需求分析,明确了系统所需的各项功能。接下来,设计了系统的功能框架和数据库结构,包括实体和数据表的设计。随后,实现了各个功能模块的详细界面,并进行了全面的功能测试。尽管在这个过程中遇到了各种挑战,但通过反复分析和深入思考,借助相关文献和解决方案,成功地解决了这些问题,最终使大学生心理健康管理系统顺利运行。

虽然该系统在功能上基本满足了用户的需求,但仍有许多需要改进的地方。在接下来的开发阶段,计划进行以下改进:

用户界面设计:目前的操作页面虽然满足了简易操作的要求,但在多样化设计方面还有提升空间。将考虑引入更多丰富的设计元素,使界面更加美观和用户友好。

安全性能优化:针对系统安全性能的增强,需要进一步优化系统的整体防护能力。具体而言,将要对程序退出的安全性进行加强,确保在退出过程中不存在数据泄露或系统不稳定的风险。同时,对系统的并发处理能力进行升级,以确保在高并发场景下系统能够保持稳定的运行状态。

性能优化:在性能优化方面,将着重于对程序的数据结构和代码逻辑进行精细化调整。通过优化,旨在确保系统能在高负载下保持稳定且高效的运行状态。优化后的系统应具备快速处理大量事务的能力,显著缩短事务处理时间,从而提高整体工作效率。同时,致力于降低服务器资源的占用率,以实现资源的高效利用和成本的有效控制。

通过这些改进,希望能够进一步提升大学生心理健康管理系统的用户体验和性能,使其更加贴合实际需求。

参考文献

  1. 刘婷婷,徐凯,王小婷.基于线上平台的大学生心理问题及对策分析[J].现代商贸工业,2021,42(21):68-70.DOI:10.19311/j.cnki.1672-3198.2021.21.034.
  2. 季丹.大学生心理健康咨询平台的研究与设计[C]//广东省教师继续教育学会.广东省教师继续教育学会第一届教学与管理研讨会论文集(五).南京交通职业技术学院,电子信息工程学院;,2023:4.DOI:10.26914/c.cnkihy.2023.098080.
  3. 刘爱琴,王丽.基于Web的高校网络心理在线咨询服务研究[J].科技与创新,2024,(15):153-155+158.DOI:10.15913/j.cnki.kjycx.2024.15.044.
  4. 次仁玉珍,普尺,倪胜巧,等.一款大学生心理咨询预约平台的设计与实现[J].现代计算机,2022,28(20):103-107.
  5. 张彤,姜攀.基于行为特征识别的大学生心理测试微信小程序设计与实现[J].电脑编程技巧与维护,2021,(08):50-54.DOI:10.16184/j.cnki.comprg.2021.08.019.
  6. 郭晶晶.高校心理健康咨询网络化服务平台创建初探[J].山西青年,2022,(18):190-192.
  7. 邱彩云.在线心理健康评测数据分析系统的设计与实现[D].北京邮电大学,2021.DOI:10.26969/d.cnki.gbydu.2021.000867.
  8. Xuezhen S .College Students’ Mental Health Education Consulting Management System Design Based on Big Data Algorithms[J].International Transactions on Electrical Energy Systems,2022,2022
  9. Yulia A ,Fong N C A ,Ali A , et al.Response Actions of Malaysian Universities and Colleges in Managing Student Mental Health: A Systematic Review[J].International Journal of Community Well-Being,2021,5(1):1-16.
  10. 杨辉.“互联网+”背景下高校网络心理咨询问题解析及探讨[J].牡丹江大学学报,2022,31(12):104-108.DOI:10.15907/j.cnki.23-1450.2022.12.006.
  11. 闫志豪,路安平,周小柠,等.基于智慧社区与高校联动的公共心理健康系统建设[J].国际公关,2024,(14):167-169.DOI:10.16645/j.cnki.cn11-5281/c.2024.14.054.
  12. Zheng F .Development of a Big Data Analysis and Management Decision Support System for Student Mental Health in Higher Education[J].Applied Mathematics and Nonlinear Sciences,2024,9(1):
  13. 陈蓓蕾,洪年松.基于SpringBoot的数据库接口设计[J].信息与电脑(理论版),2023,35(16):181-183.
  14. 王志亮,纪松波.基于SpringBoot的Web前端与数据库的接口设计[J].工业控制计算机,2023,36(03):51-53.
  15. 张润园,蔡学森,郭含,等.“I Hear”大学生心理健康平台设计与实现[J].电脑编程技巧与维护,2023,(03):63-65.DOI:10.16184/j.cnki.comprg.2023.03.028.
  16. 赵梓贺,李西明.基于J2EE的心理健康咨询平台设计[J].信息与电脑(理论版),2022,34(21):130-132.
  17. 武少朋,赵丽娜,李玉玫.基于移动终端的大学生心理健康交互管理系统[J].微型电脑应用,2022,38(02):22-24.
  18. 张新峰.“大学生心理健康教育服务平台”建设的思考与实践[J].武夷学院学报,2022,41(01):95-98+104.DOI:10.14155/j.cnki.35-1293/g4.2022.01.019.
  19. 龙林,魏丹丹,杨月月,等.Java健康服务平台的设计与实现[J].福建电脑,2021,37(09):93-95.DOI:10.16707/j.cnki.fjpc.2021.09.025.
  20. 刘红红.基于区块链技术的高校学生心理健康管理系统设计[J].自动化技术与应用,2021,40(03):62-64+73

致  谢

这次毕业设计能够完成,最重要的就是来自指导老师的帮助,是导师不厌其烦的对我的论文及毕业设计提出非常有建设性的建议,我的毕设施能够完成离不开导师的帮助。在此,我对导师由衷的表示感谢,

其次要感谢大学四年里学院里所有的任课老师的教导,老师们在我整个大学四年里给予了我丰富的知识,让我能够在大学中不虚度光阴,踏踏实实的学习,没有这些老师不辞辛劳的教诲,我无法完成这四年的学业。

最后,我要感谢我的家人和同学们。感谢父母在物质与精神上给予我无限的支持和鼓励。感谢我的同学们,在论文写作期间,你们给予了我许多宝贵的建议和帮助,让我在学术研究的道路上不再孤单。

再次感谢所有在我大学生活中给予我帮助和支持的人们。您们的关怀和鼓励将永远铭刻在我的心中,成为我未来前行的动力。

由于自己的水平有限,毕设仍然存在着很大的缺陷,各位老师若提出意见,我会努力改正。

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

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值