摘  要

随着心理健康问题在学生群体中的日益突出,建立一个高效、便捷的学生心理咨询服务平台显得尤为重要。本论文旨在规划与设计一个基于Spring Boot框架的学生心理咨询服务平台,以满足学生在心理健康方面的需求。该平台通过提供在线咨询、心理资源管理、在线考试和用户管理等功能,旨在为学生提供一个全面的心理支持系统。

本平台的设计包括前端用户界面和后端管理系统,前端为学生提供不同的功能模块,后端则通过Spring Boot实现高效的业务逻辑处理和数据管理。平台的主要功能模块包括学生注册登录、心理咨询记录管理、心理健康资讯发布、在线考试管理以及用户信息管理等。通过引入现代化的技术架构,平台能够实现高并发访问、数据安全性和用户友好的体验。

在系统测试与评估阶段,通过对平台的功能性、性能和安全性进行全面测试,确保系统在实际应用中的稳定性和可靠性。最终,本文通过对平台的设计与实现进行分析,提出了未来优化与扩展的方向,以期为更多学生提供优质的心理咨询服务,促进其心理健康发展。

关键词:心理咨询服务平台;Spring Boot;在线咨询;心理健康

Abstract

With the increasing prominence of mental health issues among the student population, it is particularly important to establish an efficient and convenient platform for student psychological counseling services. This paper aims to plan and design a student psychological counseling service platform based on the Spring Boot framework to meet the needs of students in terms of mental health. This platform aims to provide students with a comprehensive psychological support system by offering online consultation, psychological resource management, online exams, and user management functions.

The design of this platform includes a front-end user interface and a back-end management system. The front-end provides students with different functional modules, while the back-end achieves efficient business logic processing and data management through Spring Boot. The main functional modules of the platform include student registration and login, psychological counseling record management, mental health information publishing, online exam management, and user information management. By introducing modern technological architecture, the platform can achieve high concurrency access, data security, and user-friendly experience.

In the system testing and evaluation phase, comprehensive testing of the platform's functionality, performance, and security is conducted to ensure the stability and reliability of the system in practical applications. Finally, this article analyzes the design and implementation of the platform, and proposes directions for future optimization and expansion, in order to provide high-quality psychological counseling services for more students and promote their mental health development.

Keywords: Psychological counseling service platform; Spring Boot; Online consultation; mental health

目  录

1 前  言

1.1 研究背景和意义

1.2 国内外研究现状

1.3 系统的特点

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.1 数据库表结构设计

5 系统实现

5.1 系统环境分析

5.2 学生用户模块

5.2.1 用户登录界面

5.2.2 用户注册界面

5.2.3 在线考试界面

5.2.4 心理资讯界面

5.2.5 教师信息界面

5.2.6 咨询信息界面

5.3 教师用户模块

5.3.1 教师信息管理界面

5.3.2 咨询信息管理界面

5.3.3 试卷列表界面

5.4 后台管理员模块

5.4.1 系统用户界面

5.4.2 教师信息管理界面

5.4.3 系统管理界面

5.4.4 心理公告管理界面

5.4.5 在线考试界面

6 系统测试

6.1 测试目的与意义

6.2 测试用例

6.3 测试分析

7 结束语

参考文献

致  谢

1 前  言

1.1研究背景和意义

在当今社会,心理健康问题日益受到关注,尤其是在学生群体中,心理健康问题的发生率逐年上升。学业压力、社会适应、家庭环境等多种因素使得学生面临着心理困扰和情绪问题。根据相关研究数据显示,许多学生在心理健康方面存在不同程度的困扰,甚至影响到他们的学业和生活质量[6]。因此,建立一个有效的心理咨询服务平台显得尤为重要。

传统的心理咨询方式往往存在时间和空间的限制,学生在寻求心理帮助时可能面临预约困难、咨询时间不匹配等问题。这不仅降低了咨询的可及性,也使得许多需要帮助的学生因缺乏及时支持而进一步加重心理负担[10]。因此,构建一个在线心理咨询服务平台,能够为学生提供便捷的咨询渠道,打破时间和地域的限制,使他们能够随时随地获得心理支持和指导。

此外,随着信息技术的迅速发展,特别是互联网和移动技术的普及,在线心理咨询逐渐成为一种新兴的服务模式。通过在线平台,学生可以更为轻松地表达自己的心理困扰,咨询师也可以通过多种形式(如文字、语音、视频)进行沟通,从而提升咨询的灵活性和有效性。这种模式不仅能够提高心理咨询的效率,还能降低学生的心理负担,使他们更愿意寻求帮助[12]。

本研究的意义在于,通过规划与设计一个基于Spring Boot框架的学生心理咨询服务平台,不仅为学生提供了一个便捷的心理咨询渠道,还为心理健康教育的普及和推广提供了技术支持。该平台的实施将有助于提高学生对心理健康的重视,增强他们的心理韧性和适应能力,促进其全面发展。同时,该平台的设计与实现也为后续的研究和实践提供了参考和借鉴,推动心理健康服务领域的进一步发展。通过这一平台,学生能够在心理健康问题上获得及时的支持和干预,从而有效缓解心理压力,提升整体幸福感和生活质量[14]。

1.2国内外研究现状

在当前心理健康领域,国内外针对学生心理咨询服务平台的研究逐渐增多,反映出社会对学生心理健康问题的重视程度不断提高。在国际上,许多国家和地区已经建立了较为完善的心理咨询服务体系。例如,美国的大学普遍设有心理健康中心,提供面对面的咨询服务、在线咨询以及心理健康教育等多种形式的支持。许多高校还开发了专门的心理健康应用程序,如“Breathe2Relax”,旨在帮助学生管理压力和焦虑。这些平台通过提供匿名咨询、心理健康评估工具和资源,极大地方便了学生寻求帮助。

在欧洲,心理健康服务的数字化转型也在不断推进。英国的“TalkCampus”平台为全球的大学生提供了一个在线社区,学生可以在这里分享自己的心理困扰,互相支持,并获得专业心理咨询师的指导。此类平台强调了同伴支持的重要性,鼓励学生之间的互动,从而降低寻求帮助的心理障碍。

在国内,随着心理健康教育政策的逐步落实,许多高校开始重视学生心理咨询服务的建设。近年来,国家教育部发布了一系列关于加强心理健康教育的政策文件,推动高校建立心理咨询中心,并鼓励开发数字化心理咨询服务。例如,一些高校推出了在线心理咨询平台,学生可以通过手机应用进行预约、咨询和心理健康知识的学习。以“心理健康在线”平台为例,该平台为学生提供了在线咨询、心理测评和丰富的心理健康资源,帮助学生及时获得心理支持。

然而,国内的心理咨询服务平台仍面临一些挑战,如咨询师资源不足、平台功能单一、用户体验不佳等问题。部分高校的心理咨询平台尚未实现与学生信息系统的有效对接,导致信息共享和数据分析的不足,影响了心理服务的质量和效率。因此,针对这些问题的研究与探索显得尤为重要。

综上所述,国内外在学生心理咨询服务平台的研究与实践中,虽然取得了一定的进展,但仍需进一步探索更为有效的解决方案,以满足学生日益增长的心理健康需求。通过借鉴国外的成功经验,并结合国内的实际情况,构建一个高效、便捷、用户友好的心理咨询服务平台,将为学生心理健康的促进提供重要支持。

1.3系统的特点

(1)学生心理咨询服务平台中的web后台管理中的后端不再使用古老的jsp+javabean+servlet技术,而是使用当前主流的Spring Boot框架,它减少Java配置代码,简化编程代码,目前Spring Boot框架也是很多企业选择的框架之一。

(2)学生心理咨询服务平台中的前端使用的Vue.js 开发所有前端应用的框架,可应用多平台,性能优秀,周边生态丰富且开发学习成本低。

(3)学生心理咨询服务平台中数据库用的MySQL,它执行效率高,运行速度快,安全性能也很高,同时无平台限制。

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浏览器访问应用程序,而无需安装额外的客户端软件。用户通过浏览器发送请求,服务器接收并处理这些请求,然后将结果返回给浏览器显示给用户。在学生心理咨询服务平台中,B/S模式的优势包括跨平台的兼容性,用户可以在不同操作系统和设备上访问应用程序。此外,维护和部署也更为简便,并且能够实现较高的安全性,因为服务器端控制了应用程序和数据的访问权限。

3 系统分析

3.1可行性分析

3.1.1技术可行性

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

3.1.2经济可行性

考虑到Springboot、Vue、MyBatis Plus及MySQL等均为开源技术,无需支付高昂的许可费用,大大降低了系统的开发成本。同时,这些技术拥有广泛的用户群体和成熟的社区支持,便于获取技术支持和资源共享。此外,系统的实施将显著提升管理的效率和用户体验,从而带来潜在的经济效益。因此,从经济角度来看,该系统的开发同样具备可行性。

3.1.3操作可行性

系统设计应遵循用户友好原则,确保用户能够轻松上手并高效使用。通过合理的界面布局、直观的操作流程以及详尽的帮助文档,可以大大降低用户的学习成本,提高系统的操作可行性。此外,系统还应具备完善的权限管理和数据安全机制,确保操作的安全性和合规性。

3.1.4社会可行性

学生心理咨询服务平台的社会可行性体现在对心理健康问题的日益关注和学生需求的增加。政府和教育部门的政策支持为平台建设提供了保障,技术进步使在线咨询更加便捷,降低了心理咨询的门槛。通过平台的推广,可以提升学生对心理健康的认知,营造良好的心理健康氛围,促进学生的全面发展。因此,建设这一平台在社会上具有广泛的可行性和必要性。

从技术、经济、操作和社会四个维度来看,学生心理咨询服务平台的开发均具备高度的可行性。

3.2功能需求分析

本系统可以分为:学生用户、教师用户和管理员三大角色。

学生用户主要包括首页、在线考试、心理公告、心理资讯、教师信息、我的账户、个人中心(个人首页、咨询信息、错题记录、收藏)等功能。

教师用户主要包括后台首页、教师信息管理、咨询信息管理、在线考试(科目列表、试题库、试卷列表)等功能。

管理员可登录系统后台进行管理,拥有后台首页、系统用户(管理员、教师、学生)、教师信息管理、咨询信息管理、系统管理(轮播图)、心理公告管理、资源管理(心理资讯、资讯分类)、在线考试(科目列表、试题库、错题记录、试卷列表)等功能。

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

图3.1学生用户用例图

学生用户具体功能说明如下所示。

注册登录:学生用户可以通过手机号、邮箱进行注册,设置密码后完成注册流程。注册成功后,学生可以使用账号和密码登录平台,享受平台提供的各项服务。

首页:首页展示平台的最新心理资讯、热门考试信息、教师推荐等内容,方便学生用户快速了解平台动态和获取所需信息。

在线考试:学生用户可以在线参加心理测评考试,考试内容涵盖心理健康、情绪管理、人际交往等多个方面。考试结果将为学生提供个性化的心理分析和建议,帮助学生更好地认识自己。

心理公告:心理公告板块发布平台的重要通知、活动信息、心理知识等内容,学生用户可以及时获取相关信息,参与平台活动,提升心理健康水平。

心理资讯:心理资讯板块提供丰富的心理健康文章、案例分析、专家观点等内容,学生用户可以阅读学习,增强心理健康意识,提高自我调适能力。

教师信息:教师信息板块展示平台心理咨询教师的个人信息、专业领域、咨询经验等内容,学生用户可以根据自身需求选择合适的教师进行咨询。

我的账户:我的账户板块提供学生用户个人信息管理、密码修改、账户安全设置等功能,保障学生用户账户安全和个人信息安全。

个人中心:

个人中心包括个人首页、咨询信息、错题记录、收藏等功能模块。

个人首页展示学生用户的个人信息、考试记录、咨询记录等内容,方便学生用户随时查看自己的学习和咨询情况。

咨询信息记录学生用户与心理咨询教师的沟通记录,包括咨询时间、咨询内容、教师回复等信息,方便学生用户回顾和整理咨询过程。

错题记录展示学生用户在心理测评考试中的错题情况,包括题目、正确答案、解析等信息,帮助学生用户查漏补缺,提高考试成绩。

收藏功能允许学生用户收藏自己感兴趣的心理资讯、文章、教师信息等,方便随时查看和学习。

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

图3.2教师用户用例图

教师用户具体功能说明如下所示。

登录功能:教师用户通过输入账号和密码进行登录,确保信息安全与隐私保护。登录后,系统将自动跳转至后台首页。

后台首页:后台首页是教师用户管理平台的起点,提供平台各项功能的快速入口,便于快速了解平台运营情况。

教师信息管理:教师信息管理功能允许教师用户编辑和完善个人信息,包括姓名、性别、年龄、专业背景、擅长领域等。这些信息将有助于学生了解教师的专业背景,选择合适的咨询对象。

咨询信息管理:咨询信息管理功能是教师用户管理学生咨询记录的核心工具。教师可以在此查看学生的咨询申请、咨询进度、咨询反馈等,便于跟踪学生的心理状态变化,制定针对性的辅导方案。同时,教师还可以对学生的咨询记录进行归档和整理,为日后的教学和研究提供参考。

在线考试功能:在线考试功能为教师用户提供了一个便捷的在线考试平台,包括科目列表、试题库和试卷列表三部分。

科目列表:教师用户可以在此添加、编辑和删除考试科目,便于组织学生参加相关科目的考试。

试题库:试题库包含了大量经过筛选和审核的试题资源,教师可以根据教学需求选择试题,组合成试卷。同时,教师还可以自行添加试题,丰富试题库资源。

试卷列表:试卷列表显示了教师创建的试卷信息,包括试卷名称、考试时间、考试范围等。教师可以在此查看试卷的详细情况,进行试卷的编辑和发布操作。通过在线考试功能,教师可以方便地组织学生进行在线考试,提高教学效率和质量。

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

图3.3管理员用例图

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

登录功能:管理员通过输入正确的用户名和密码,进行身份验证后,方可进入后台管理系统。

后台首页:后台首页是管理员进入系统的起点,展示了系统的核心数据和功能导航,方便管理员快速了解系统状态和进行功能操作。

系统用户管理:管理员可以对系统内的用户进行管理,包括管理员、教师和学生三类用户。具体功能包括用户信息的增删改查,用户角色的分配和权限设置等。

教师信息管理:管理员可以管理教师的个人信息,包括姓名、性别、年龄、联系方式、教学科目等。同时,管理员还可以对教师进行分组管理,方便后续的功能操作。

咨询信息管理:管理员可以查看、审核和发布学生的心理咨询信息,确保信息的准确性和及时性。同时,管理员还可以对咨询信息进行分类管理,方便后续的数据分析和处理。

系统管理:系统管理模块包括轮播图管理功能,管理员可以上传、删除和修改轮播图,确保系统界面的美观和信息的更新。

心理公告管理:管理员可以发布心理公告,向师生传达心理健康知识和活动信息。公告内容可以包括文本、图片和链接等多种形式。

资源管理:资源管理模块包括心理资讯管理和资讯分类管理。管理员可以发布心理资讯,包括文章、视频和音频等多种形式的内容。同时,管理员还可以对资讯进行分类管理,方便师生查找和阅读。

在线考试管理:管理员可以设置在线考试科目列表,管理试题库中的题目,包括题目的增删改查和分类管理。管理员还可以查看学生的错题记录和试卷列表,为学生的心理健康评估提供数据支持。

3.3系统性能分析

对于学生心理咨询服务平台的设计与实现,下面是系统性能分析表:

表3.1性能需求表

项目

内容

响应时间

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

并发用户数

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

吞吐量

系统每秒需要处理1000个请求

可用性

系统需要保证每月99.9%的可用性

数据安全

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

数据一致性

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

扩展性

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

可维护性

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

日志记录

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

监控报警

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

缓存设置

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

3.4系统流程分析

3.4.1程序操作流程

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

图3.4程序操作流程图

3.4.2登录流程

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

图3.5登录流程图

3.4.3注册流程

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

图3.6注册流程图

系统设计

4.1总体设计

4.1.1框架设计

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

图4.1系统架构图

4.1.2功能模块设计

功能模块设计是系统开发过程中的重要阶段,它旨在将系统划分为不同的模块,每个模块负责完成特定的功能或任务。学生心理咨询服务平台由多个功能模块组成,每个模块下又包含具体的功能操作。功能模块图如下图所示。

图4.2系统架构图

4.2数据库设计

4.2.1E-R

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

图4.3总E-R图

4.2.1数据库表结构设计

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

表consultation_information (咨询信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

consultation_information_id

int

10

0

N

Y

咨询信息ID

2

teacher_users

int

10

0

Y

N

0

教师用户

3

teacher_no

varchar

64

0

Y

N

教师编号

4

teachers_name

varchar

64

0

Y

N

教师姓名

5

teacher_title

varchar

64

0

Y

N

教师职称

6

student_users

int

10

0

Y

N

0

学生用户

7

student_no

varchar

64

0

Y

N

学生学号

8

student_name

varchar

64

0

Y

N

学生姓名

9

consultation_title

varchar

64

0

Y

N

咨询标题

10

consultation_content

text

65535

0

Y

N

咨询内容

11

reply_status

varchar

64

0

Y

N

回复状态

12

reply_content

text

65535

0

Y

N

回复内容

13

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

14

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

15

source_table

varchar

255

0

Y

N

来源表

16

source_id

int

10

0

Y

N

来源ID

17

source_user_id

int

10

0

Y

N

来源用户

表exam_question_database (试题库)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

exam_question_id

mediumint

8

0

N

Y

2

subject_name

varchar

255

0

Y

N

科目名称

3

type

varchar

20

0

Y

N

类型

4

title

varchar

255

0

Y

N

题目

5

question_item

varchar

500

0

Y

N

选项

6

answer

varchar

500

0

Y

N

参考答案

7

score

double

9

2

Y

N

总分

8

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

9

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:

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

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

varchar

64

0

N

N

学生学号

3

student_name

varchar

64

0

Y

N

学生姓名

4

student_gender

varchar

64

0

Y

N

学生性别

5

date_of_birth

varchar

64

0

Y

N

出生年月

6

phone_number

varchar

16

0

Y

N

手机号码

7

examine_state

varchar

16

0

N

N

已通过

审核状态

8

user_id

int

10

0

N

N

0

用户ID

9

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表subject

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

subject_id

int

10

0

N

Y

2

name

varchar

255

0

Y

N

3

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

4

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

表subject_exam (考试)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

exam_id

mediumint

8

0

N

Y

考试id

2

subject_name

varchar

255

0

Y

N

3

name

varchar

32

0

N

N

考试名称:[2,32]

4

duration

int

10

0

Y

N

答题时长

5

score

double

9

2

Y

N

总分

6

status

varchar

10

0

Y

N

状态:启用、禁用

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

9

user_id

int

10

0

Y

N

出题人

表subject_exam_question (试题)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

exam_question_id

mediumint

8

0

N

Y

2

subject_name

varchar

255

0

Y

N

科目名称

3

type

varchar

20

0

Y

N

类型

4

title

varchar

255

0

Y

N

题目

5

question_item

varchar

500

0

Y

N

选项

6

answer

varchar

500

0

Y

N

参考答案

7

score

double

9

2

Y

N

总分

8

question_order

int

10

0

Y

N

排序

9

exam_id

mediumint

8

0

N

N

所属试卷

10

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

11

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

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

score_detail

text

65535

0

Y

N

评分详情

7

objective_score

double

9

2

Y

N

0.00

客观题得分

8

subjective_score

double

9

2

Y

N

0.00

主观题得分

9

score_state

tinyint

4

0

Y

N

0

评分状态

10

nickname

varchar

255

0

Y

N

提交人

11

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

12

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

13

comment_desc

varchar

255

0

Y

N

评语

表teacher_information (教师信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

teacher_information_id

int

10

0

N

Y

教师信息ID

2

teacher_users

int

10

0

Y

N

0

教师用户

3

teacher_no

varchar

64

0

Y

N

教师编号

4

teachers_name

varchar

64

0

Y

N

教师姓名

5

teacher_gender

varchar

64

0

Y

N

教师性别

6

teacher_title

varchar

64

0

Y

N

教师职称

7

teachers_educational_background

varchar

64

0

Y

N

教师学历

8

teacher_pictures

varchar

255

0

Y

N

教师图片

9

teacher_introduction

text

65535

0

Y

N

教师简介

10

teacher_details

longtext

2147483647

0

Y

N

教师详情

11

hits

int

10

0

N

N

0

点击数

12

praise_len

int

10

0

N

N

0

点赞数

13

consultation_information_limit_times

int

10

0

N

N

0

咨询限制次数

14

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

15

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

Y

N

教师姓名

4

teacher_gender

varchar

64

0

Y

N

教师性别

5

date_of_birth

varchar

64

0

Y

N

出生年月

6

phone_number

varchar

16

0

Y

N

手机号码

7

examine_state

varchar

16

0

N

N

已通过

审核状态

8

user_id

int

10

0

N

N

0

用户ID

9

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

10

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_answer_wrong (用户答题)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

user_answer_id

mediumint

8

0

N

Y

2

subject_name

varchar

255

0

Y

N

科目名称

3

question_item

varchar

255

0

Y

N

选项

4

title

varchar

255

0

Y

N

题目

5

type

varchar

255

0

Y

N

题目类型

6

exam_id

mediumint

8

0

N

N

0

考试id

7

score

double

9

2

Y

N

0.00

分数

8

answers

text

65535

0

Y

N

用户提交的答案

9

answer

text

65535

0

Y

N

参考答案

10

score_detail

text

65535

0

Y

N

评分详情

11

objective_score

double

9

2

Y

N

0.00

客观题得分

12

subjective_score

double

9

2

Y

N

0.00

主观题得分

13

score_state

tinyint

4

0

Y

N

0

评分状态

14

nickname

varchar

255

0

Y

N

提交人

15

user_id

int

10

0

N

N

提交人ID

16

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

17

update_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心理资讯主界面设计

5.2.5教师信息界面

学生用户可以查看教师的信息,包括教师的专业背景、联系方式和学历等。此功能使学生能够选择适合自己的心理咨询教师,方便进行咨询预约。

学生用户教师信息主界面图如下所示。

图5.5教师信息主界面设计

5.2.6咨询信息界面

学生可以查看自己的咨询记录,包括咨询内容和教师反馈,便于进行后续跟进。

学生用户咨询信息主界面图如下所示。

图5.6咨询信息主界面设计

5.3教师用户模块

5.3.1教师信息管理界面

教师用户可以查看和更新自己的个人信息,包括姓名、学历、简历及简介等。此功能确保教师信息的准确性和及时更新,便于学生和管理员进行联系和管理。

教师信息管理主界面图如下所示。

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

教师信息添加代码如下:

    @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.8咨询信息管理界面设计

5.3.3试卷列表界面

试卷列表显示了教师创建的试卷信息,包括试卷名称、考试时间、考试范围等。教师可以在此查看试卷的详细情况,进行试卷的编辑和发布操作。通过在线考试功能,教师可以方便地组织学生进行在线考试,提高教学效率和质量。

试卷列表主界面图如下所示。

图5.9试卷列表界面设计

5.4后台管理员模块

5.4.1系统用户界面

管理员可以管理系统中的所有用户,包括学生用户和教师用户。此功能允许管理员添加、修改、删除用户信息,并根据需要调整用户权限,确保系统的安全性和可控性。

系统用户主界面图如下所示。

图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.4.2教师信息管理界面

管理员可以对平台上的教师信息进行管理,包括添加新教师信息(如姓名、专业、联系方式等)、编辑现有教师信息和删除不再使用的教师账户。此功能确保教师信息的及时更新和准确性,便于后续的咨询安排和评价。

教师信息管理主界面图如下所示。

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

5.4.3系统管理界面

管理员可以对轮播图进行管理,包括添加、修改、删除轮播图,设置轮播图属性等。

系统管理界面如下所示。

图5.12系统管理界面设计

5.4.4心理公告管理界面

管理员可以发布公告信息,所有用户都可以查看公告信息。同时,管理员还需要能够查看和管理所有公告信息。

心理公告管理界面如下所示。

图5.13心理公告管理界面设计

上传图片关键代码如下:

   @PostMapping("/upload")

    public Map<String, Object> upload(@RequestParam("file") MultipartFile file) {

        log.info("进入方法");

        if (file.isEmpty()) {

            return error(30000, "没有选择文件");

        }

        try {

            //判断有没路径,没有则创建

            String filePath = System.getProperty("user.dir") + "/src/main/resources/static/";

            File targetDir = new File(filePath);

            if (!targetDir.exists() && !targetDir.isDirectory()) {

                if (targetDir.mkdirs()) {

                    log.info("创建目录成功");

                } else {

                    log.error("创建目录失败");

                }

            }

            String fileName = file.getOriginalFilename();

            File dest = new File(filePath + fileName);

            log.info("文件路径:{}", dest.getPath());

            log.info("文件名:{}", dest.getName());

            file.transferTo(dest);

            JSONObject jsonObject = new JSONObject();

            jsonObject.put("url", "/api/upload/" + fileName);

            return success(jsonObject);

        } catch (IOException e) {

            log.info("上传失败:{}", e.getMessage());

        }

        return error(30000, "上传失败");

5.4.5在线考试界面

管理员可以设置在线考试科目列表,管理试题库中的题目,包括题目的增删改查和分类管理。管理员还可以查看学生的错题记录和试卷列表,为学生的心理健康评估提供数据支持。

科目列表、试题库、错题记录、试卷列表界面如下所示。

图5.14科目列表界面设计

图5.15试题库界面设计

图5.16试卷列表界面设计

图5.17科目列表界面设计

系统测试

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 结束语

本文描述了学生心理咨询服务平台的原理和开发过程,该系统是通过SpringBoot框架来搭建后台,中间件使用的是Tomcat服务器,数据库管理平台采用开源的Mysql,前台使用的是JQuery框架,同时使用Validate校验框架,这样就可以减少前端代码的输入量,而且基于JQuery框架的Validat框架使用简单,是流行的前端使用框架,前端使用的主要是HTML页面展示技术。

在开发前做了许多的准备,在本系统的设计和开发过程中阅览和学习了许多文献资料,从开发这个学生心理咨询服务平台的过程中我也收获了许许多多宝贵的方法以及设计思路,对系统的开发也起到了很重要的作用,系统的开发技术选用的都是自己比较熟悉的,比如Web、SpringBoot、MYSQL,这些技术都是在以前的学习中学到了,其中许多的设计思路和方法都是在以前不断地学习中摸索出来的经验,其实对于我们来说工作量还是比较大的,但是正是由于之前的积累与准备,才能顺利的完成这个项目,由此看来,积累经验跟做好准备是十分重要的事情。

当然在该系统的设计与实现的过程中也离不开老师以及同学们的帮助,正是因为他们的指导与帮助,我才能够成功的在预期内完成了这个系统。同时在这个过程当中我也收获了很多东西,此系统也有需要改进的地方,但是由于专业知识的浅薄,并不能做到十分完美,希望以后有机会可以让其真正的投入到使用之中。

参考文献

[1]Zhang J .Teaching Reform of Java Program Design Based on Vocational Education Cloud Platform[J].Journal of Higher Education Teaching,2024,1(5):

[2]潘婷婷,傅毅,管芳景.高职院校心理咨询服务系统的设计与实现[J].无线互联科技,2024,21(13):76-79.

[3]Wai H K ,Funabiki N,Aung T S, et al.Answer Code Validation Program with Test Data Generation for Code Writing Problem in Java Programming Learning Assistant System[J].Engineering Letters,2024,32(5):

[4]Ullenboom C .Java Programming Exercises:Volume Two: Java Standard Library[M].CRC Press:2024-03-30.

[5]Aung T S ,Aung H L,Funabiki N, et al.An Implementation of Web-based Personal Platform for Programming Learning Assistant System with Instance File Update Function[J].Engineering Letters,2024,32(2):

[6]巩文娟.基于互联网平台的高校心理咨询服务优化研究[J].新闻研究导刊,2023,14(24):169-171.

[7]刘福祥,李翠平,孙钟华,等.远程心理服务平台的设计与实现[J].医疗卫生装备,2023,44(09):49-52.DOI:10.19745/j.1003-8868.2023182.

[8]高晖.我市着力完善心理健康服务体系[N].南昌日报,2023-03-21(005).DOI:10.28591/n.cnki.nncrb.2023.000789.

[9]张晓,郝雅欣.社会新形势下心理互助平台服务实践项目研究[J].大众文艺,2023,(02):217-219.

[10]郭晶晶.高校心理健康咨询网络化服务平台创建初探[J].山西青年,2022,(18):190-192.

[11]张新峰.“大学生心理健康教育服务平台”建设的思考与实践[J].武夷学院学报,2022,41(01):95-98+104.DOI:10.14155/j.cnki.35-1293/g4.2022.01.019.

[12]禚琳,鲍文.大学校园心理咨询互联网平台构建研究[C]//四川劳动保障杂志出版有限公司.劳动保障研究会议论文集(十五).成都信息工程大学;,2022:3.DOI:10.26914/c.cnkihy.2022.001104.

[13]潘月.基于情感体验的高校心理干预服务平台的设计研究[D].东华大学,2022.DOI:10.27012/d.cnki.gdhuu.2022.000451.

[14]郭永爱.云计算技术的高校心理健康在线服务平台设计[J].现代电子技术,2021,44(11):177-181.DOI:10.16652/j.issn.1004-373x.2021.11.037.

[15]曹校林,杜奕,谭文安.基于微服务的大学生心理咨询模型及其服务平台设计与实现[J].上海第二工业大学学报,2020,37(03):220-226.DOI:10.19570/j.cnki.jsspu.2020.03.007.

[16]尹阳.基于C/S架构的移动端大学生心理健康咨询服务系统的设计与实现[D].吉林大学,2018.

[17]杨倩,陈登凯,朱梦雅,等.基于互联网技术的老年人心理健康服务系统设计[J].包装工程,2017,38(22):53-59.DOI:10.19554/j.cnki.1001-3563.2017.22.013.

[18]孙文新,基于Android开发的手机心理咨询服务系统.河南省,鹤壁职业技术学院,2017-01-01.

[19]闫献伟,胡钟月.基于Android的校园心理教育服务系统设计[J].自动化与仪器仪表,2016,(04):74-76+80.DOI:10.14016/j.cnki.1001-9227.2016.04.074.

[20]杨诚.基于Android的心理咨询服务系统的设计与实现[D].电子科技大学,2013.

致  谢

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

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

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

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

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

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

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐