摘 要
本系统基于Spring Boot框架设计并实现了一个面向大学生的心理咨询管理系统,旨在提升高校心理健康服务的效率与覆盖面。系统分为普通用户、咨询师和管理员三大角色,功能涵盖用户注册登录、心理测评、健康资讯、留言反馈、心理知识学习、咨询师预约及个人中心等模块,支持用户进行自我评估、获取专业帮助和管理个人信息。通过该平台,大学生可以便捷地获取心理健康资源,咨询师能够高效地管理测评、评估报告和咨询服务,而管理员则可全面维护系统内容与用户权限,确保系统的稳定运行。
技术上,系统采用Spring Boot作为后端开发框架,结合MySQL数据库实现数据持久化管理,提升了开发效率与系统可维护性。前端采用了响应快速的设计,适配多种设备访问,增强了用户体验。同时,系统引入了权限控制机制,保障了数据安全性和操作可追溯性,为高校提供了一套完整、易用、安全的心理健康服务平台。
关键词:大学生心理咨询系统;SpringBoot;Java;
Abstract
This system designs and implements a psychological counseling management system for college students based on the Spring Boot framework, aiming to improve the efficiency and coverage of mental health services in colleges and universities. The system is divided into three major roles: ordinary users, counselors, and administrators. Its functions cover modules such as user registration and login, psychological assessment, health information, message feedback, psychological knowledge learning, counselor appointment, and personal center, supporting users to conduct self-assessment, obtain professional assistance, and manage personal information. Through this platform, college students can conveniently access mental health resources. Counselors can efficiently manage assessments, evaluation reports and counseling services, while administrators can comprehensively maintain system content and user permissions to ensure the stable operation of the system.
Technically, the system adopts Spring Boot as the back-end development framework and combines the MySQL database to achieve data persistence management, which improves the development efficiency and system maintainability. The front end adopts a fast-response design, which is compatible with access from multiple devices and enhances the user experience. Meanwhile, the system has introduced an permission control mechanism to ensure data security and operational traceability, providing colleges and universities with a complete, user-friendly and secure mental health service platform.
Keywords:College Students' Psychological Counseling System SpringBoot; Java;
目 录
第1章 绪 论
1.1 项目背景与意义
1.1.1 研究背景
1.1.2 研究意义
1.2 国内外研究现状
1.3 主要研究内容
第2章 开发环境及技术架构
2.1 开发环境与工具
2.2 技术介绍
2.2.1 B/S框架
2.2.2 SpringBoot框架
2.2.3 Vue技术
2.2.4 MySQL数据库
2.2.5 Java语言
第3章 需求分析
3.1 可行性分析
3.1.1 经济可行性分析
3.1.2 操作可行性分析
3.1.3 技术可行性分析
3.2 功能需求分析
3.3 系统用例分析
3.3.1 普通用户用例
3.3.2 咨询师用户用例
3.3.3 管理员用例
3.4 性能需求分析
3.5 系统流程分析
3.5.1 用户注册流程图
3.5.2 用户注册流程图
3.5.3 添加信息流程
3.5.4 修改信息流程
3.5.5 删除信息流程
第4章 系统设计
4.1 系统架构
4.2 系统功能设计
4.2.1 系统功能模块
4.3 数据库设计
4.3.1 概念模型
4.3.2 物理模型
第5章 系统实现
5.1 普通用户功能模块
5.1.1 用户注册
5.1.2 用户登录
5.1.3 首页
5.1.4 健康资讯
5.1.5 心理知识
5.1.6 咨询师信息
5.1.7 个人中心
5.2 咨询师用户功能模块
5.2.1 心理咨询管理
5.2.2 咨询师预约管理
5.2.3 紧急求助管理
5.2.4 资源管理
5.2.5 健康报告管理
5.3 管理员功能模块
5.3.1 系统用户
5.3.2 心理知识管理
5.3.3 咨询师信息管理
5.3.4 系统管理
5.3.5 资源管理
第6章 系统测试
6.1 测试目的
6.2 功能测试
6.3 性能测试
6.4 测试结果
第7章 结论
参考文献
致 谢
附录
用户注册
用户登录
修改密码
修改数据
删除数据
获取列表
图片上传
第1章 绪 论
1.1项目背景与意义
1.1.1 研究背景
随着社会竞争的加剧和生活节奏的加快,大学生群体面临的心理压力日益增加,焦虑、抑郁等心理问题呈现出高发趋势。心理健康已成为影响大学生全面发展的重要因素,传统的心理咨询方式因资源有限、服务覆盖不足等原因,难以满足日益增长的心理健康服务需求。因此,构建一个高效、便捷、可及性强的心理咨询服务平台,对于提升高校心理健康服务水平具有重要意义。
在此背景下,基于信息技术的心理咨询管理系统应运而生,成为高校心理健康教育工作的重要辅助工具。该系统能够整合心理测评、知识普及、咨询服务和用户管理等功能,实现心理问题的早发现、早干预。本文旨在设计并实现一个基于Spring Boot框架的心理咨询管理系统,面向高校实际应用场景,提升心理健康服务的智能化与信息化水平,为大学生提供更加便捷和专业的心理支持。
1.1.2 研究意义
本研究的意义在于通过构建一个基于Spring Boot框架的大学生心理咨询系统,极大地提升了高校心理健康服务的效率和覆盖面。首先,系统化的管理平台能够整合心理测评、健康资讯、在线咨询等多种功能,使得学生可以更加方便地获取所需的心理健康资源和服务。这不仅有助于早期发现和干预潜在的心理问题,还能提高学生对心理健康知识的认知和自我调适能力,从而促进其全面发展。此外,该系统的应用减轻了心理咨询师的工作负担,提高了咨询服务的质量与专业性。
从长远来看,本研究为推动高校心理健康教育工作的信息化进程提供了宝贵的经验和技术支持。它不仅实现了心理健康服务的数字化转型,也为进一步探索智能化、个性化的心理健康服务模式奠定了基础。随着技术的发展和社会的进步,未来可以将人工智能等前沿技术融入到系统中,实现更精准的心理评估和更有效的个性化咨询建议。这不仅能提升学生的用户体验和满意度,还可能为解决全球范围内日益增长的心理健康需求提供新的思路和方法。
1.2 国内外研究现状
在国内,随着对心理健康重视程度的不断提高,越来越多的高校开始采用信息化手段来提升心理健康服务的质量和效率。国内的研究主要集中在开发适合大学生群体的心理测评工具、构建线上线下相结合的心理咨询服务平台以及探索大数据和人工智能技术在心理健康服务中的应用等方面。尽管起步较晚,但近年来发展迅速,并取得了一些显著成果,如开发出了一系列具有自主知识产权的心理测评量表,建立了覆盖广泛的学生心理健康档案系统等。然而,与国外相比,国内在心理健康服务的专业化、个性化方面仍有进一步发展的空间。
在国外,心理咨询系统的研发和应用已经相对成熟,尤其是在利用信息技术提高心理健康服务水平方面积累了丰富的经验。例如,美国、英国和澳大利亚等国家的高校普遍采用了先进的在线心理测评和咨询服务系统,这些系统不仅能够提供多样化的心理健康资源和支持,还能够通过数据分析预测学生的心理健康风险,提前进行干预。此外,国外研究更注重跨学科合作,将心理学、教育学、计算机科学等多个领域的理论和技术融合应用于心理健康服务中。这种综合性的研究方法为提升心理咨询服务的效果提供了有力保障,也为国内相关领域的发展提供了有益借鉴。
1.3 主要研究内容
本系统的主要研究内容围绕不同用户角色的功能需求进行设计与实现,重点构建一个面向大学生的心理健康服务平台。普通用户主要侧重于自助服务功能的实现,包括心理测评、健康资讯浏览、留言反馈、心理知识学习以及心理咨询预约等,帮助学生更好地了解自身心理状态并及时获取专业帮助。咨询师角色则聚焦于提供专业服务,如处理咨询预约、开展线上心理咨询、发布评估报告及处理紧急求助等,实现高效的信息沟通与服务对接。
在此基础上,管理员作为系统的管理者,承担着平台资源调配和运行维护的重要职责,主要包括用户管理、通知公告发布、轮播图设置、心理健康资讯更新、心理咨询审核以及权限分配等功能。通过对三类角色功能的深入分析与模块化设计,系统实现了各角色间的数据交互与协同工作,形成了一个结构清晰、功能完善、易于扩展的心理咨询管理系统,为高校心理健康服务提供了有力支撑。
第2章开发环境及技术架构
2.1 开发环境与工具
大学生心理咨询系统使用Java语言作为主要语言,前端使用Vue.js框架,后端基于SpringBoot框架开发而成,存储数据使用的是使用较为广泛的MySQL数据库。系统所使用的系统开发环境如下表2-1所示。
表2-1系统开发环境
|
操作系统版本: |
Win10 |
|
数据库环境: |
MySQL5.7 |
|
JDK版本: |
JDK1.8.0_191 |
|
主要技术: |
Springboot2、Apache Tomcat8.5、Webpack 4.0、Vue.js、Element UI、Navicat、bootstrap…… |
|
浏览器: |
Chrome |
2.2 技术介绍
2.2.1B/S框架
B/S(Browser/Server)架构是一种基于浏览器和服务器的应用架构模式。它以Web浏览器作为客户端,服务器端通过Web技术提供应用服务。客户端通过浏览器与服务器进行交互,用户无需安装专门的客户端应用程序,只需要通过互联网连接即可访问应用程序[1]。在B/S架构中,客户端主要承担用户界面的呈现和基本的输入输出功能,而核心的业务处理、数据存储等操作则由服务器端完成。这种架构的核心优势在于无需在每个客户端机器上安装或更新软件,只要用户的浏览器符合要求,就可以使用系统。
B/S(Browser/Server)架构是一种网络架构模型,其主要特点是客户端通过浏览器与服务器进行通信,所有的业务逻辑和数据处理都在服务器端完成,客户端仅负责展示数据[2]。B/S架构本质上是一种客户端-服务器模式的变体,它通过将传统的C/S(Client/Server)架构中的客户端功能移到浏览器中,简化了客户端的开发和维护工作。在B/S架构中,用户通过浏览器发送请求,浏览器负责展示从服务器获取的数据,服务器则处理请求并返回响应。该架构避免了安装和配置客户端软件的麻烦,也减少了对客户端硬件的依赖,适合于需要大规模部署和跨平台支持的应用系统。
2.2.2SpringBoot框架
SpringBoot是一个用于简化Spring应用开发的开源框架,通过减少开发人员配置和依赖的复杂性,使得开发者能够快速构建基于Spring的生产级应用。SpringBoot基于Spring框架之上,提供了一种自配置的方式,使得开发者可以以最少的配置来启动和开发Spring应用[3]。它通过约定优于配置的原则,将常见的配置预设,使得开发人员能够聚焦于业务逻辑的实现,而不必过多关注繁琐的配置和环境搭建。
SpringBoot框架的核心特点之一是其自动配置功能。它能够根据项目中已存在的类和库,自动推断出开发环境的配置需求,减少了手动配置的工作量。SpringBoot还提供了嵌入式Web服务器支持(如Tomcat、Jetty等),使得应用可以以独立的Java应用形式运行,不再依赖外部的Web容器。这种特性使得SpringBoot特别适合于微服务架构的构建。SpringBoot还通过其提供的启动器(Starters)简化了常见功能的集成,例如数据库连接、消息队列、缓存、认证与授权等,从而提升了开发效率[4]。
2.2.3 Vue技术
Vue.js是一款用于构建用户界面的渐进式JavaScript框架,提供一种灵活而高效的方式来开发单页面应用(SPA)。Vue的设计理念是通过尽量简化开发过程,提供一种声明式的方式来构建用户界面[5]。Vue.js通过数据驱动的视图模型,允许开发者以声明式语法绑定数据与视图,使得应用的状态和界面表现更加简洁和可维护。它的核心思想是通过组件化开发将复杂的UI拆分为可重用的独立模块,从而提升了代码的模块化、可维护性和可扩展性。
Vue.js具备响应式数据绑定和虚拟DOM的特性。响应式数据绑定意味着当数据变化时,Vue会自动更新与之绑定的DOM元素,从而实现视图的实时更新。虚拟DOM则是Vue.js的一种优化手段,通过将对DOM的操作抽象为一个虚拟的DOM树来提高性能,减少实际DOM操作的开销[6]。Vue还提供了丰富的插件和工具,如Vue Router用于路由管理,Vuex用于状态管理,方便开发者构建复杂的前端应用。Vue的灵活性和简洁性使其成为现代Web开发中常用的前端框架之一。
2.2.4MySQL数据库
MySQL是一种开源的关系型数据库管理系统(RDBMS),基于SQL(结构化查询语言)进行数据操作。作为一个被广泛使用的数据库系统,MySQL具有高度的性能、可扩展性和可靠性。MySQL使用表格结构来存储数据,每个表由多个列和行组成,数据通过SQL查询语言进行操作[7]。MySQL支持多种数据类型,如整数、浮动小数、字符串、日期等,以满足不同应用场景对数据存储的需求。在实际应用中,MySQL通常用于存储和管理结构化数据,通过索引、视图、触发器等功能提升数据查询的效率和数据的完整性。
MySQL支持ACID事务特性(原子性、一致性、隔离性、持久性),确保数据库操作的可靠性和数据的一致性。它还支持多种存储引擎,其中InnoDB是最常用的存储引擎,具备事务支持、行级锁定和外键约束等特性,适用于高并发、高可靠性的数据存储需求。MySQL可以通过主从复制、分区和分库分表等技术实现横向扩展,以应对大规模数据存储和高负载的应用需求。MySQL还具有灵活的权限管理机制,支持用户角色管理、细粒度的权限控制等,保障数据的安全性。
2.2.5Java语言
JAVA是一种广泛使用的编程语言,具有跨平台、面向对象、安全性高等特点。JAVA语言提供了丰富的类库和API,使得开发者能够轻松地进行网络编程、数据库操作、图形界面开发等任务。JAVA还支持多线程编程和分布式计算,为开发高性能和可扩展的应用提供了有力支持[8]。所以本次毕设选择了JAVA作为大学生心理咨询系统的开发语言。通过利用JAVA的面向对象特性和丰富的类库资源,成功实现了系统的各个功能模块,并保证了系统的稳定性和可扩展性。而且JAVA的跨平台特性也使得此次毕业设计能够在不同的操作系统和硬件平台上运行,为用户提供了更加便捷的使用体验。。
第3章需求分析
3.1 可行性分析
通过综合考虑经济、操作、技术等因素,可以对基于SpringBoot的大学生心理咨询系统的可行性进行全面评估。这将有助于确定项目的成功概率,并为项目规划提供坚实的基础。
3.1.1 经济可行性分析
本系统开发主要采用开源框架Spring Boot和MySQL数据库,降低了软件授权成本。硬件方面可依托现有服务器资源部署,后期维护成本较低。相比传统心理咨询管理方式,系统上线后有助于提升服务效率,减少人力与时间成本,具有较好的应用价值和长期经济效益。
3.1.2 操作可行性分析
系统界面简洁直观,用户操作流程清晰,普通用户、咨询师和管理员均可通过简单培训快速上手使用。后台管理功能集中,便于维护和更新,整体操作符合高校实际使用场景,具备较强的实用性和推广价值。
3.1.3 技术可行性分析
系统基于成熟的Spring Boot框架开发,具备良好的模块化结构和扩展性,便于快速开发与部署。前后端分离设计、RESTful API接口和MySQL数据库的应用均为当前主流技术,开发团队易于掌握和实现,系统稳定性与安全性较高,满足功能性与非功能性需求。
3.2 功能需求分析
通过对应的功能做了需求分析以后该大学生心理咨询系统各角色主要包括的功能说明如下:
(1)注册登录:用户可以通过注册成为系统用户,注册后可以用账号密码登录系统。
(2)首页:首页展示轮播图、通知公告、心理测评、健康资讯、留言反馈、心理知识、咨询师信息等功能导航栏。
(3)通知公告:通知公告功能展示系统发布的各类重要信息,包括网站公告、关于我们、联系方式和网站介绍等,用户可以随时查看最新动态。
(4)心理测评:心理测评功能允许用户选择不同的心理测试进行自我评估,并查看相应的答题时长。用户可以通过输入名称并点击“答题”按钮开始测试。
(5)健康资讯:健康资讯功能提供最新的心理健康相关信息和活动,用户可以浏览各类文章,获取实用的心理健康知识,同时可对资讯文章进行点赞、收藏和评论。
(6)留言反馈:留言反馈功能允许用户提交他们的意见和建议。用户需要填写标题、用户名和留言内容,然后点击“提交留言”按钮完成反馈。
(7)心理知识:心理知识功能让用户通过搜索或分类找到心理健康相关内容,包括详细的知识介绍、类型、来源及链接。在详情页中,用户可以点赞、收藏感兴趣的信息,并通过“查看视频”按钮观看相关视频,以获得更深入的理解。这一功能集文字与视频于一体,旨在帮助用户更好地了解和提升心理健康。
(8)咨询师信息:咨询师信息功能提供所有心理咨询师的详细资料,用户可通过搜索或筛选查找合适的咨询师。咨询师详情页展示具体信息,包括照片、姓名、性别、电话、专业领域和咨询类型,并支持点赞、收藏、评论及直接预约或咨询操作,方便用户获取心理服务。
(9)我的账户:用户可以在个人账户中查看并管理自己的个人信息。包括个人资料、修改密码等。
(10)个人中心:个人中心功能为用户提供了一个集中管理个人信息和活动的平台。用户可以查看和编辑个人资料、进行心理咨询、查看评估报告、提交反馈建议、预约咨询师、取消预约、添加紧急求助、查看健康报告、管理收藏和评论等。这一功能帮助用户更好地管理和跟踪自己的心理健康状况及服务使用情况。
2.咨询师用户:
(1)登录:咨询师是由管理员在后台添加的,可直接使用账号、密码进行登录。
(2)心理知识管理:咨询师点击可查看心理知识列表。
(3)咨询师信息管理:咨询师点击可查看咨询师信息列表。
(4)心理咨询管理:咨询师点击可查看心理咨询列表,可点击查看详情并进行回复;咨询结束后,可点击“评估”按钮添加评估信息,包括上传评估报告和填写报告简介。
(5)评估报告管理:咨询师点击可查看评估报告列表。
(6)反馈建议管理:咨询师点击可查看反馈建议列表。
(7)咨询师预约管理:咨询师点击可查看咨询师预约列表,可查看预约详情,并对预约信息进行审核回复。
(8)预约取消管理:咨询师点击可查看预约取消列表,可进行审核回复。
(9)紧急求助管理:咨询师点击可查看紧急求助列表,可点击“详情”查看求助详情信息并对求助信息进行回复。
(10)健康报告管理:咨询师点击可查看健康报告列表和健康报告添加;点击进入“健康报告添加”可填写相关信息,包括报告标题、报告文档、咨询师用户、咨询师姓名、专业领域、普通用户和报告内容。
(11)资源管理:咨询师的资源管理功能允许查询、添加、编辑和删除心理测评,并查看每个测评的详细信息,如名称、答题时长等。此外,还支持管理题库和添加用户答题后的点评,以确保测评的质量和适用性。
2. 管理员:
(1)登录:管理员账号密码由系统生成,可使用账号密码可进行登录系统后台,使用系统功能进行管理,并可对自己的个人信息和密码进行管控。
(2)系统用户:管理员可以查看系统用户(管理员、普通用户、咨询师用户)列表中某个用户的详情,可以对用户信息进行查询、审核、添加和删除操作。
(3)心理类型管理:管理员点击可查看心理类型列表,同时可对心理类型进行增删改查。
(4)心理知识管理:管理员点击可查看心理知识列表和心理知识添加;点击进入“心理知识添加”可填写相关信息,包括知识名称、知识类型、知识来源、知识网站、心理视频、封面图片和知识简介。
(4)咨询师信息管理:管理员点击可查看咨询师信息列表和咨询师信息添加;点击进入“咨询师信息添加”可填写相关信息,包括咨询师用户、只巡视姓名、咨询师性别、咨询师电话、专业领域、咨询类型、咨询师相片和咨询师简介。
(5)心理咨询管理:管理员点击可查看心理咨询列表,同时可对相关信息进行增删改查。
(6)评估报告管理:管理员点击可查看评估报告列表,同时可对相关信息进行增删改查。
(7)反馈建议管理:管理员点击可查看反馈建议列表,同时可对相关信息进行增删改查。
(8)咨询师预约管理:管理员点击可查看咨询师预约列表,同时可对相关信息进行增删改查。
(9)预约取消管理:管理员点击可查看预约取消列表,同时可对相关信息进行增删改查。
(10)紧急求助管理:管理员点击可查看紧急求助列表,同时可对相关信息进行增删改查。
(11)健康报告管理:管理员点击可查看健康报告列表,同时可对相关信息进行增删改查。
(12)系统管理:管理员点击可查看轮播图管理;如需添加新的轮播图,点击右侧“添加”按钮,上传图片,输入标题和链接,点击“确认”按钮进行添加,可对轮播图进行增删改查。
(13)留言管理:管理员点击可查看留言反馈,同时可对留言信息进行回复。
(14)通知公告管理:当管理点击“通知公告管理”时,可查看通知公告;如需添加新的公告信息,点击右侧“添加”按钮,输入标题和正文,点击“确认”按钮进行添加。
(15)资源管理:资源管理包含健康资讯、资讯分类和心理测评,管理员可添加健康资讯、咨询分类和测评相关信息。
(16)权限管理:操作日志记录了管理员进行的所有关键操作,记录了系统用户的操作详情,确保操作的透明性和可追溯性。
(17)操作日志:操作日志记录了管理员进行的所有关键操作,记录了系统用户的操作详情,确保操作的透明性和可追溯性。
3.3系统用例分析
3.3.1普通用户用例
大学生心理咨询系统普通用户角色用例图如下所示。

图3-1 普通用户角色用例图
3.3.2咨询师用户用例
大学生心理咨询系统咨询师用户角色用例图如下所示。

图3-2 咨询师用户角色用例图
3.3.3管理员用例
大学生心理咨询系统管理员角色用例图如下所示。

图3-3 管理员角色用例图
3.4 性能需求分析
(1)用户操作响应时间:本系统致力于确保用户在浏览心理知识、进行心理咨询预约或查看个人健康报告等操作时,能够在短时间内得到系统的响应。这样不仅提升了用户的整体使用效率,也极大地优化了用户体验。
(2)系统稳定性:为了应对高访问量及突发状况,平台设计强调良好的稳定性和强大的容错能力,保证服务的持续可用性。即使在高负荷情况下,也能有效避免因技术故障导致的服务中断,确保用户体验和服务质量。
(3)数据安全:对于用户敏感信息和心理健康数据,系统采用加密存储与传输,并通过严格的权限控制机制,防止数据泄露和未经授权的访问。这些措施共同保障了系统中所有数据的安全性和隐私保护。
(4)系统并发能力:考虑到多用户同时在线的需求,系统实现了高效的数据库优化策略和缓存机制,以支持高并发场景下的平稳运行。这使得无论是日常使用还是高峰期,用户都能享受到流畅的服务体验。
(5)日志记录:系统具备完善的日志记录功能,能够追踪并记录关键操作和异常情况,为后续的问题排查和系统优化提供了重要依据。这不仅提高了运维效率,也增强了系统的可管理性和可靠性。。
3.5 系统流程分析
3.5.1 用户注册流程图
注册的过程,第一部分是账号的注册,第二部分是信息完善。在业务开展过程中,管理员可对用户信息进行修改等管理操作,注册流程如图3-4用户注册流程图所示。

图3-4 用户注册流程图
3.5.2 用户注册流程图
登录时,用户填写用户名、密码、选择身份进行登录,在登录过程中后端会对发送过来的信息进行验证和判断,具体的登录流程如图3-5用户登录流程图所示。

图3-5 用户登录流程图
3.5.3添加信息流程
管理员可以添加信息,用户添加可以自己权限内的信息,输入信息后,要想利用这个软件来进行系统的安全管理,首先需要登录到该软件中。添加信息流程如图3-6所示。

图3-6添加信息流程图
3.5.4修改信息流程
用户首先选择需要修改的记录,输入修改后的数据,系统判断输入数据是否合法。若数据不合法,提示重新输入;若数据合法,则将修改后的数据写入数据库,完成操作后流程结束。修改信息流程图如图3-7所示。

图3-7修改信息流程图
3.5.5删除信息流程
用户选择需要删除的记录后,系统判断是否确认删除。若未确认,返回选择环节;若确认删除,则更新数据库,删除对应记录,完成操作后流程结束。删除信息流程图如图3-8所示。

图3-8删除信息流程图
第4章系统设计
4.1系统架构
系统由表现层、业务逻辑层、数据访问层和数据库服务器组成。表现层通过浏览器(如IE、Chrome、Firefox)与用户交互,采用FreeMarker、Bootstrap、jQuery等技术实现界面呈现。业务逻辑层负责处理系统的核心业务逻辑,通过分模块设计实现功能分离。数据访问层使用MyBatis框架连接数据库,执行数据的增删改查操作。数据库服务器采用MySQL进行数据存储和管理,为系统提供稳定的数据库支持。整个架构通过Tomcat服务器完成用户请求的接收和处理,确保系统的高效运行[9]。整个系统架构如图4-1所示。

图4-1系统架构图
4.2 系统功能设计
4.2.1 系统功能模块
系统功能模块图如下图所示。

图4-2系统功能模块图
4.3 数据库设计
数据库实体设计是数据库设计的关键步骤,对实际业务逻辑中涉及的实体及其属性进行抽象建模,明确系统中的主要信息对象及其关系[10]。在实体设计中,根据需求分析确定系统的核心实体,在设计过程中,注重实体的完整性、规范性和唯一性,确保设计能够满足系统功能需求,并为后续的表设计提供清晰的结构框架。实体设计需遵循数据库设计的标准化要求,避免数据冗余和不必要的复杂度。
4.3.1 概念模型
本文在系统分析阶段就抽取了一些实体,根据实体之间的关系,经过分析进行系统E-R图的设计。大学生心理咨询系统总体E-R图如下图所示。

图4-2系统总体E-R图
4.3.2 物理模型
数据库实体设计是数据库设计的关键步骤,对实际业务逻辑中涉及的实体及其属性进行抽象建模,明确系统中的主要信息对象及其关系[11]。在实体设计中,根据需求分析确定系统的核心实体,在设计过程中,注重实体的完整性、规范性和唯一性,确保设计能够满足系统功能需求,并为后续的表设计提供清晰的结构框架。实体设计需遵循数据库设计的标准化要求,避免数据冗余和不必要的复杂度。
表 4-1-access_token(登陆访问时长)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
token_id |
int |
是 |
是 |
临时访问牌ID |
|
|
2 |
token |
varchar |
64 |
否 |
否 |
临时访问牌 |
|
3 |
info |
text |
65535 |
否 |
否 |
信息 |
|
4 |
maxage |
int |
是 |
否 |
最大寿命:默认2小时 |
|
|
5 |
create_time |
timestamp |
是 |
否 |
创建时间 |
|
|
6 |
update_time |
timestamp |
是 |
否 |
更新时间 |
|
|
7 |
user_id |
int |
是 |
否 |
用户编号 |
表 4-2-appointment_cancellation(预约取消)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
appointment_cancellation_id |
int |
是 |
是 |
预约取消ID |
|
|
2 |
consultant_user |
int |
否 |
否 |
咨询师用户 |
|
|
3 |
name_of_consultant |
varchar |
64 |
否 |
否 |
咨询师姓名 |
|
4 |
gender_consultant |
varchar |
64 |
否 |
否 |
咨询师性别 |
|
5 |
consultant_telephone |
varchar |
64 |
否 |
否 |
咨询师电话 |
|
6 |
areas_of_expertise |
varchar |
64 |
否 |
否 |
专业领域 |
|
7 |
type_of_consultation |
varchar |
64 |
否 |
否 |
咨询类型 |
|
8 |
appointment_date |
date |
否 |
否 |
预约日期 |
|
|
9 |
ordinary_user |
int |
否 |
否 |
普通用户 |
|
|
10 |
user_name |
varchar |
64 |
否 |
否 |
用户姓名 |
|
11 |
reason_for_cancellation |
text |
65535 |
否 |
否 |
取消原因 |
|
12 |
examine_state |
varchar |
16 |
是 |
否 |
审核状态 |
|
13 |
examine_reply |
varchar |
255 |
否 |
否 |
审核回复 |
|
14 |
create_time |
datetime |
是 |
否 |
创建时间 |
|
|
15 |
update_time |
timestamp |
是 |
否 |
更新时间 |
|
|
16 |
source_table |
varchar |
255 |
否 |
否 |
来源表 |
|
17 |
source_id |
int |
否 |
否 |
来源ID |
|
|
18 |
source_user_id |
int |
否 |
否 |
来源用户 |
表 4-3-article(文章)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
article_id |
mediumint |
是 |
是 |
文章id |
|
|
2 |
title |
varchar |
125 |
是 |
是 |
标题 |
|
3 |
type |
varchar |
64 |
是 |
否 |
文章分类 |
|
4 |
hits |
int |
是 |
否 |
点击数 |
|
|
5 |
praise_len |
int |
是 |
否 |
点赞数 |
|
|
6 |
create_time |
timestamp |
是 |
否 |
创建时间 |
|
|
7 |
update_time |
timestamp |
是 |
否 |
更新时间 |
|
|
8 |
source |
varchar |
255 |
否 |
否 |
来源 |
|
9 |
url |
varchar |
255 |
否 |
否 |
来源地址 |
|
10 |
tag |
varchar |
255 |
否 |
否 |
标签 |
|
11 |
content |
longtext |
4294967295 |
否 |
否 |
正文 |
|
12 |
img |
varchar |
255 |
否 |
否 |
封面图 |
|
13 |
description |
text |
65535 |
否 |
否 |
文章描述 |
表 4-4-article_type(文章分类)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
type_id |
smallint |
是 |
是 |
分类ID |
|
|
2 |
display |
smallint |
是 |
否 |
显示顺序 |
|
|
3 |
name |
varchar |
16 |
是 |
否 |
分类名称 |
|
4 |
father_id |
smallint |
是 |
否 |
上级分类ID |
|
|
5 |
description |
varchar |
255 |
否 |
否 |
描述 |
|
6 |
icon |
text |
65535 |
否 |
否 |
分类图标 |
|
7 |
url |
varchar |
255 |
否 |
否 |
外链地址 |
|
8 |
create_time |
timestamp |
是 |
否 |
创建时间 |
|
|
9 |
update_time |
timestamp |
是 |
否 |
更新时间 |
表 4-5-assessment_report(评估报告)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
assessment_report_id |
int |
是 |
是 |
评估报告ID |
|
|
2 |
consultant_user |
int |
否 |
否 |
咨询师用户 |
|
|
3 |
name_of_consultant |
varchar |
64 |
否 |
否 |
咨询师姓名 |
|
4 |
consultant_telephone |
varchar |
64 |
否 |
否 |
咨询师电话 |
|
5 |
areas_of_expertise |
varchar |
64 |
否 |
否 |
专业领域 |
|
6 |
type_of_consultation |
varchar |
64 |
否 |
否 |
咨询类型 |
|
7 |
ordinary_user |
int |
否 |
否 |
普通用户 |
|
|
8 |
user_name |
varchar |
64 |
否 |
否 |
用户姓名 |
|
9 |
assessment_report |
varchar |
255 |
否 |
否 |
评估报告 |
|
10 |
introduction_to_the_report |
text |
65535 |
否 |
否 |
报告简介 |
|
11 |
create_time |
datetime |
是 |
否 |
创建时间 |
|
|
12 |
update_time |
timestamp |
是 |
否 |
更新时间 |
|
|
13 |
source_table |
varchar |
255 |
否 |
否 |
来源表 |
|
14 |
source_id |
int |
否 |
否 |
来源ID |
|
|
15 |
source_user_id |
int |
否 |
否 |
来源用户 |
表 4-6-auth(用户权限管理)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
auth_id |
int |
是 |
是 |
授权ID |
|
|
2 |
user_group |
varchar |
64 |
否 |
否 |
用户组 |
|
3 |
mod_name |
varchar |
64 |
否 |
否 |
模块名 |
|
4 |
table_name |
varchar |
64 |
否 |
否 |
表名 |
|
5 |
page_title |
varchar |
255 |
否 |
否 |
页面标题 |
|
6 |
path |
varchar |
255 |
否 |
否 |
路由路径 |
|
7 |
parent |
varchar |
64 |
否 |
否 |
父级菜单 |
|
8 |
parent_sort |
int |
是 |
否 |
父级菜单排序 |
|
|
9 |
position |
varchar |
32 |
否 |
否 |
位置 |
|
10 |
mode |
varchar |
32 |
是 |
否 |
跳转方式 |
|
11 |
add |
tinyint |
是 |
否 |
是否可增加 |
|
|
12 |
del |
tinyint |
是 |
否 |
是否可删除 |
|
|
13 |
set |
tinyint |
是 |
否 |
是否可修改 |
|
|
14 |
get |
tinyint |
是 |
否 |
是否可查看 |
|
|
15 |
field_add |
text |
65535 |
否 |
否 |
添加字段 |
|
16 |
field_set |
text |
65535 |
否 |
否 |
修改字段 |
|
17 |
field_get |
text |
65535 |
否 |
否 |
查询字段 |
|
18 |
table_nav_name |
varchar |
500 |
否 |
否 |
跨表导航名称 |
|
19 |
table_nav |
varchar |
500 |
否 |
否 |
跨表导航 |
|
20 |
option |
text |
65535 |
否 |
否 |
配置 |
|
21 |
create_time |
timestamp |
是 |
否 |
创建时间 |
|
|
22 |
update_time |
timestamp |
是 |
否 |
更新时间 |
表 4-7-code_token(验证码)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
code_token_id |
int |
是 |
是 |
验证码ID |
|
|
2 |
token |
varchar |
255 |
否 |
否 |
令牌 |
|
3 |
code |
varchar |
255 |
否 |
否 |
验证码 |
|
4 |
expire_time |
timestamp |
是 |
否 |
失效时间 |
|
|
5 |
create_time |
timestamp |
是 |
否 |
创建时间 |
|
|
6 |
update_time |
timestamp |
是 |
否 |
更新时间 |
表 4-8-collect(收藏)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
collect_id |
int |
是 |
是 |
收藏ID |
|
|
2 |
user_id |
int |
是 |
是 |
收藏人ID |
|
|
3 |
source_table |
varchar |
255 |
否 |
否 |
来源表 |
|
4 |
source_field |
varchar |
255 |
否 |
否 |
来源字段 |
|
5 |
source_id |
int |
是 |
否 |
来源ID |
|
|
6 |
title |
varchar |
255 |
否 |
否 |
标题 |
|
7 |
img |
varchar |
255 |
否 |
否 |
封面 |
|
8 |
create_time |
timestamp |
是 |
否 |
创建时间 |
|
|
9 |
update_time |
timestamp |
是 |
否 |
更新时间 |
表 4-9-comment(评论)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
comment_id |
int |
是 |
是 |
评论ID |
|
|
2 |
user_id |
int |
是 |
是 |
评论人ID |
|
|
3 |
reply_to_id |
int |
是 |
否 |
回复评论ID |
|
|
4 |
content |
longtext |
4294967295 |
否 |
否 |
内容 |
|
5 |
nickname |
varchar |
255 |
否 |
否 |
昵称 |
|
6 |
avatar |
varchar |
255 |
否 |
否 |
头像地址 |
|
7 |
create_time |
timestamp |
是 |
否 |
创建时间 |
|
|
8 |
update_time |
timestamp |
是 |
否 |
更新时间 |
|
|
9 |
source_table |
varchar |
255 |
否 |
否 |
来源表 |
|
10 |
source_field |
varchar |
255 |
否 |
否 |
来源字段 |
|
11 |
source_id |
int |
是 |
否 |
来源ID |
表 4-10-consultant_appointment(咨询师预约)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
consultant_appointment_id |
int |
是 |
是 |
咨询师预约ID |
|
|
2 |
consultant_user |
int |
否 |
否 |
咨询师用户 |
|
|
3 |
name_of_consultant |
varchar |
64 |
否 |
否 |
咨询师姓名 |
|
4 |
gender_consultant |
varchar |
64 |
否 |
否 |
咨询师性别 |
|
5 |
consultant_telephone |
varchar |
64 |
否 |
否 |
咨询师电话 |
|
6 |
areas_of_expertise |
varchar |
64 |
否 |
否 |
专业领域 |
|
7 |
type_of_consultation |
varchar |
64 |
否 |
否 |
咨询类型 |
|
8 |
appointment_date |
date |
否 |
否 |
预约日期 |
|
|
9 |
ordinary_user |
int |
否 |
否 |
普通用户 |
|
|
10 |
user_name |
varchar |
64 |
否 |
否 |
用户姓名 |
|
11 |
appointment_status |
varchar |
64 |
否 |
否 |
预约状态 |
|
12 |
appointment_remarks |
text |
65535 |
否 |
否 |
预约备注 |
|
13 |
examine_state |
varchar |
16 |
是 |
否 |
审核状态 |
|
14 |
appointment_cancellation_limit_times |
int |
是 |
否 |
取消限制次数 |
|
|
15 |
create_time |
datetime |
是 |
否 |
创建时间 |
|
|
16 |
update_time |
timestamp |
是 |
否 |
更新时间 |
|
|
17 |
source_table |
varchar |
255 |
否 |
否 |
来源表 |
|
18 |
source_id |
int |
否 |
否 |
来源ID |
|
|
19 |
source_user_id |
int |
否 |
否 |
来源用户 |
表 4-11-consultant_information(咨询师信息)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
consultant_information_id |
int |
是 |
是 |
咨询师信息ID |
|
|
2 |
consultant_user |
int |
否 |
否 |
咨询师用户 |
|
|
3 |
name_of_consultant |
varchar |
64 |
否 |
否 |
咨询师姓名 |
|
4 |
gender_consultant |
varchar |
64 |
否 |
否 |
咨询师性别 |
|
5 |
consultant_telephone |
varchar |
64 |
否 |
否 |
咨询师电话 |
|
6 |
areas_of_expertise |
varchar |
64 |
否 |
否 |
专业领域 |
|
7 |
type_of_consultation |
varchar |
64 |
否 |
否 |
咨询类型 |
|
8 |
consultant_photo |
varchar |
255 |
否 |
否 |
咨询师相片 |
|
9 |
consultant_profile |
longtext |
4294967295 |
否 |
否 |
咨询师简介 |
|
10 |
hits |
int |
是 |
否 |
点击数 |
|
|
11 |
praise_len |
int |
是 |
否 |
点赞数 |
|
|
12 |
collect_len |
int |
是 |
否 |
收藏数 |
|
|
13 |
comment_len |
int |
是 |
否 |
评论数 |
|
|
14 |
recommend |
int |
是 |
否 |
智能推荐 |
|
|
15 |
psychological_counseling_limit_times |
int |
是 |
否 |
咨询限制次数 |
|
|
16 |
consultant_appointment_limit_times |
int |
是 |
否 |
预约限制次数 |
|
|
17 |
create_time |
datetime |
是 |
否 |
创建时间 |
|
|
18 |
update_time |
timestamp |
是 |
否 |
更新时间 |
表 4-12-consultant_user(咨询师用户)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
consultant_user_id |
int |
是 |
是 |
咨询师用户ID |
|
|
2 |
name_of_consultant |
varchar |
64 |
否 |
否 |
咨询师姓名 |
|
3 |
gender_consultant |
varchar |
64 |
否 |
否 |
咨询师性别 |
|
4 |
consultant_telephone |
varchar |
64 |
否 |
否 |
咨询师电话 |
|
5 |
areas_of_expertise |
varchar |
64 |
否 |
否 |
专业领域 |
|
6 |
qualification_certification |
varchar |
255 |
否 |
否 |
资质认证 |
|
7 |
examine_state |
varchar |
16 |
是 |
否 |
审核状态 |
|
8 |
user_id |
int |
是 |
否 |
用户ID |
|
|
9 |
create_time |
datetime |
是 |
否 |
创建时间 |
|
|
10 |
update_time |
timestamp |
是 |
否 |
更新时间 |
表 4-13-emergency_help(紧急求助)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
emergency_help_id |
int |
是 |
是 |
紧急求助ID |
|
|
2 |
help_title |
varchar |
64 |
否 |
否 |
求助标题 |
|
3 |
ordinary_user |
int |
否 |
否 |
普通用户 |
|
|
4 |
user_name |
varchar |
64 |
否 |
否 |
用户姓名 |
|
5 |
contact_information |
varchar |
64 |
否 |
否 |
联系方式 |
|
6 |
consultant_user |
int |
否 |
否 |
咨询师用户 |
|
|
7 |
help_content |
text |
65535 |
否 |
否 |
求助内容 |
|
8 |
help_reply |
text |
65535 |
否 |
否 |
求助回复 |
|
9 |
create_time |
datetime |
是 |
否 |
创建时间 |
|
|
10 |
update_time |
timestamp |
是 |
否 |
更新时间 |
表 4-14-evaluation(测评问卷)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
exam_id |
mediumint |
是 |
是 |
问卷id |
|
|
2 |
name |
varchar |
32 |
是 |
否 |
问卷名称 |
|
3 |
duration |
int |
否 |
否 |
答题时长 |
|
|
4 |
status |
varchar |
10 |
否 |
否 |
状态:启用、禁用 |
|
5 |
create_time |
timestamp |
是 |
否 |
创建时间 |
|
|
6 |
update_time |
timestamp |
是 |
否 |
更新时间 |
表 4-15-evaluation_question(题目)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
exam_question_id |
mediumint |
是 |
是 |
题目ID |
|
|
2 |
type |
varchar |
20 |
否 |
否 |
类型 |
|
3 |
title |
varchar |
255 |
否 |
否 |
题目 |
|
4 |
question_item |
varchar |
500 |
否 |
否 |
选项 |
|
5 |
question_order |
int |
否 |
否 |
排序 |
|
|
6 |
exam_id |
mediumint |
是 |
是 |
所属问卷 |
|
|
7 |
create_time |
timestamp |
是 |
否 |
创建时间 |
|
|
8 |
update_time |
timestamp |
是 |
否 |
更新时间 |
表 4-16-evaluation_user_answer(用户答题)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
user_answer_id |
mediumint |
是 |
是 |
用户答题ID |
|
|
2 |
user_id |
mediumint |
是 |
否 |
用户ID |
|
|
3 |
exam_id |
mediumint |
是 |
是 |
考试ID |
|
|
4 |
score |
double |
否 |
否 |
分数 |
|
|
5 |
answers |
text |
65535 |
否 |
否 |
答案 |
|
6 |
comment_state |
tinyint |
否 |
否 |
点评状态 |
|
|
7 |
nickname |
varchar |
255 |
否 |
否 |
提交人 |
|
8 |
create_time |
timestamp |
是 |
否 |
创建时间 |
|
|
9 |
update_time |
timestamp |
是 |
否 |
更新时间 |
|
|
10 |
comment_desc |
varchar |
255 |
否 |
否 |
评语 |
表 4-17-feedback_suggestions(反馈建议)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
feedback_suggestions_id |
int |
是 |
是 |
反馈建议ID |
|
|
2 |
consultant_user |
int |
否 |
否 |
咨询师用户 |
|
|
3 |
name_of_consultant |
varchar |
64 |
否 |
否 |
咨询师姓名 |
|
4 |
consultant_telephone |
varchar |
64 |
否 |
否 |
咨询师电话 |
|
5 |
areas_of_expertise |
varchar |
64 |
否 |
否 |
专业领域 |
|
6 |
type_of_consultation |
varchar |
64 |
否 |
否 |
咨询类型 |
|
7 |
ordinary_user |
int |
否 |
否 |
普通用户 |
|
|
8 |
user_name |
varchar |
64 |
否 |
否 |
用户姓名 |
|
9 |
degree_of_satisfaction |
varchar |
64 |
否 |
否 |
满意程度 |
|
10 |
feedback_content |
text |
65535 |
否 |
否 |
反馈内容 |
|
11 |
create_time |
datetime |
是 |
否 |
创建时间 |
|
|
12 |
update_time |
timestamp |
是 |
否 |
更新时间 |
|
|
13 |
source_table |
varchar |
255 |
否 |
否 |
来源表 |
|
14 |
source_id |
int |
否 |
否 |
来源ID |
|
|
15 |
source_user_id |
int |
否 |
否 |
来源用户 |
表 4-18-health_report(健康报告)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
health_report_id |
int |
是 |
是 |
健康报告ID |
|
|
2 |
report_title |
varchar |
64 |
否 |
否 |
报告标题 |
|
3 |
report_document |
varchar |
255 |
否 |
否 |
报告文档 |
|
4 |
consultant_user |
int |
否 |
否 |
咨询师用户 |
|
|
5 |
name_of_consultant |
varchar |
64 |
否 |
否 |
咨询师姓名 |
|
6 |
areas_of_expertise |
varchar |
64 |
否 |
否 |
专业领域 |
|
7 |
ordinary_user |
int |
否 |
否 |
普通用户 |
|
|
8 |
report_contents |
text |
65535 |
否 |
否 |
报告内容 |
|
9 |
create_time |
datetime |
是 |
否 |
创建时间 |
|
|
10 |
update_time |
timestamp |
是 |
否 |
更新时间 |
表 4-19-hits(用户点击)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
hits_id |
int |
是 |
是 |
点赞ID |
|
|
2 |
user_id |
int |
是 |
否 |
点赞人 |
|
|
3 |
create_time |
timestamp |
是 |
否 |
创建时间 |
|
|
4 |
update_time |
timestamp |
是 |
否 |
更新时间 |
|
|
5 |
source_table |
varchar |
255 |
否 |
否 |
来源表 |
|
6 |
source_field |
varchar |
255 |
否 |
否 |
来源字段 |
|
7 |
source_id |
int |
是 |
否 |
来源ID |
表 4-20-message(留言板)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
message_id |
int |
是 |
是 |
留言板ID |
|
|
2 |
user_id |
int |
是 |
否 |
用户ID |
|
|
3 |
title |
varchar |
64 |
否 |
否 |
标题 |
|
4 |
content |
longtext |
4294967295 |
是 |
否 |
内容 |
|
5 |
nickname |
varchar |
32 |
是 |
否 |
昵称 |
|
6 |
avatar |
varchar |
255 |
否 |
否 |
头像 |
|
7 |
|
varchar |
125 |
否 |
否 |
留言者邮箱 |
|
8 |
phone |
varchar |
11 |
否 |
否 |
留言者手机号码 |
|
9 |
create_time |
timestamp |
是 |
否 |
创建时间 |
|
|
10 |
update_time |
timestamp |
是 |
否 |
更新时间 |
|
|
11 |
reply |
longtext |
4294967295 |
否 |
否 |
回复 |
|
12 |
reply_state |
tinyint |
否 |
否 |
回复状态 |
表 4-21-notice(公告)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
notice_id |
mediumint |
是 |
是 |
公告ID |
|
|
2 |
title |
varchar |
125 |
是 |
否 |
标题 |
|
3 |
content |
longtext |
4294967295 |
否 |
否 |
正文 |
|
4 |
create_time |
timestamp |
是 |
否 |
创建时间 |
|
|
5 |
update_time |
timestamp |
是 |
否 |
更新时间 |
表 4-22-operation_log(操作日志表)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
operation_log_id |
int |
是 |
是 |
操作日志ID |
|
|
2 |
user_group |
varchar |
64 |
否 |
否 |
用户角色 |
|
3 |
user_name |
varchar |
64 |
否 |
否 |
用户账号 |
|
4 |
routes |
varchar |
64 |
否 |
否 |
模块名称 |
|
5 |
create_time |
datetime |
是 |
否 |
创建时间 |
|
|
6 |
update_time |
timestamp |
是 |
否 |
更新时间 |
表 4-23-ordinary_user(普通用户)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
ordinary_user_id |
int |
是 |
是 |
普通用户ID |
|
|
2 |
user_name |
varchar |
64 |
否 |
否 |
用户姓名 |
|
3 |
contact_information |
varchar |
64 |
否 |
否 |
联系方式 |
|
4 |
user_gender |
varchar |
64 |
否 |
否 |
用户性别 |
|
5 |
examine_state |
varchar |
16 |
是 |
否 |
审核状态 |
|
6 |
user_id |
int |
是 |
否 |
用户ID |
|
|
7 |
create_time |
datetime |
是 |
否 |
创建时间 |
|
|
8 |
update_time |
timestamp |
是 |
否 |
更新时间 |
表 4-24-praise(点赞)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
praise_id |
int |
是 |
是 |
点赞ID |
|
|
2 |
user_id |
int |
是 |
是 |
点赞人 |
|
|
3 |
create_time |
timestamp |
是 |
否 |
创建时间 |
|
|
4 |
update_time |
timestamp |
是 |
否 |
更新时间 |
|
|
5 |
source_table |
varchar |
255 |
否 |
否 |
来源表 |
|
6 |
source_field |
varchar |
255 |
否 |
否 |
来源字段 |
|
7 |
source_id |
int |
是 |
否 |
来源ID |
|
|
8 |
status |
tinyint |
是 |
否 |
点赞状态:1为点赞,0已取消 |
表 4-25-psychological_counseling(心理咨询)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
psychological_counseling_id |
int |
是 |
是 |
心理咨询ID |
|
|
2 |
consultant_user |
int |
否 |
否 |
咨询师用户 |
|
|
3 |
name_of_consultant |
varchar |
64 |
否 |
否 |
咨询师姓名 |
|
4 |
consultant_telephone |
varchar |
64 |
否 |
否 |
咨询师电话 |
|
5 |
areas_of_expertise |
varchar |
64 |
否 |
否 |
专业领域 |
|
6 |
type_of_consultation |
varchar |
64 |
否 |
否 |
咨询类型 |
|
7 |
ordinary_user |
int |
否 |
否 |
普通用户 |
|
|
8 |
user_name |
varchar |
64 |
否 |
否 |
用户姓名 |
|
9 |
consultation_reply |
text |
65535 |
否 |
否 |
咨询回复 |
|
10 |
consulting_content |
text |
65535 |
否 |
否 |
咨询内容 |
|
11 |
assessment_report_limit_times |
int |
是 |
否 |
评估限制次数 |
|
|
12 |
feedback_suggestions_limit_times |
int |
是 |
否 |
建议限制次数 |
|
|
13 |
create_time |
datetime |
是 |
否 |
创建时间 |
|
|
14 |
update_time |
timestamp |
是 |
否 |
更新时间 |
|
|
15 |
source_table |
varchar |
255 |
否 |
否 |
来源表 |
|
16 |
source_id |
int |
否 |
否 |
来源ID |
|
|
17 |
source_user_id |
int |
否 |
否 |
来源用户 |
表 4-26-psychological_knowledge(心理知识)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
psychological_knowledge_id |
int |
是 |
是 |
心理知识ID |
|
|
2 |
name_of_knowledge |
varchar |
64 |
否 |
否 |
知识名称 |
|
3 |
type_of_knowledge |
varchar |
64 |
否 |
否 |
知识类型 |
|
4 |
sources_of_knowledge |
varchar |
64 |
否 |
否 |
知识来源 |
|
5 |
knowledge_website |
text |
65535 |
否 |
否 |
知识网站 |
|
6 |
psychological_video |
varchar |
255 |
否 |
否 |
心理视频 |
|
7 |
cover_image |
varchar |
255 |
否 |
否 |
封面图片 |
|
8 |
knowledge_introduction |
longtext |
4294967295 |
否 |
否 |
知识简介 |
|
9 |
praise_len |
int |
是 |
否 |
点赞数 |
|
|
10 |
collect_len |
int |
是 |
否 |
收藏数 |
|
|
11 |
comment_len |
int |
是 |
否 |
评论数 |
|
|
12 |
create_time |
datetime |
是 |
否 |
创建时间 |
|
|
13 |
update_time |
timestamp |
是 |
否 |
更新时间 |
表 4-27-psychological_type(心理类型)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
psychological_type_id |
int |
是 |
是 |
心理类型ID |
|
|
2 |
psychological_type |
varchar |
64 |
否 |
否 |
心理类型 |
|
3 |
create_time |
datetime |
是 |
否 |
创建时间 |
|
|
4 |
update_time |
timestamp |
是 |
否 |
更新时间 |
表 4-28-slides(轮播图)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
slides_id |
int |
是 |
是 |
轮播图ID |
|
|
2 |
title |
varchar |
64 |
否 |
否 |
标题 |
|
3 |
content |
varchar |
255 |
否 |
否 |
内容 |
|
4 |
url |
varchar |
255 |
否 |
否 |
链接 |
|
5 |
img |
varchar |
255 |
否 |
否 |
轮播图 |
|
6 |
hits |
int |
是 |
否 |
点击量 |
|
|
7 |
create_time |
timestamp |
是 |
否 |
创建时间 |
|
|
8 |
update_time |
timestamp |
是 |
否 |
更新时间 |
表 4-29-upload(文件上传)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
upload_id |
int |
是 |
是 |
上传ID |
|
|
2 |
name |
varchar |
64 |
否 |
否 |
文件名 |
|
3 |
path |
varchar |
255 |
否 |
否 |
访问路径 |
|
4 |
file |
varchar |
255 |
否 |
否 |
文件路径 |
|
5 |
display |
varchar |
255 |
否 |
否 |
显示顺序 |
|
6 |
father_id |
int |
否 |
否 |
父级ID |
|
|
7 |
dir |
varchar |
255 |
否 |
否 |
文件夹 |
|
8 |
type |
varchar |
32 |
否 |
否 |
文件类型 |
表 4-30-user(用户账户)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
user_id |
int |
是 |
是 |
用户ID |
|
|
2 |
state |
smallint |
是 |
否 |
账户状态:(1可用|2异常|3已冻结|4已注销) |
|
|
3 |
user_group |
varchar |
32 |
否 |
否 |
所在用户组 |
|
4 |
login_time |
timestamp |
是 |
否 |
上次登录时间 |
|
|
5 |
phone |
varchar |
11 |
否 |
否 |
手机号码 |
|
6 |
phone_state |
smallint |
是 |
否 |
手机认证:(0未认证|1审核中|2已认证) |
|
|
7 |
username |
varchar |
16 |
是 |
否 |
用户名 |
|
8 |
nickname |
varchar |
16 |
否 |
否 |
昵称 |
|
9 |
password |
varchar |
64 |
是 |
否 |
密码 |
|
10 |
|
varchar |
64 |
否 |
否 |
邮箱 |
|
11 |
email_state |
smallint |
是 |
否 |
邮箱认证:(0未认证|1审核中|2已认证) |
|
|
12 |
avatar |
varchar |
255 |
否 |
否 |
头像地址 |
|
13 |
open_id |
varchar |
255 |
否 |
否 |
针对获取用户信息字段 |
|
14 |
create_time |
timestamp |
是 |
否 |
创建时间 |
表 4-31-user_group(用户组)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
group_id |
mediumint |
是 |
是 |
用户组ID |
|
|
2 |
display |
smallint |
是 |
否 |
显示顺序 |
|
|
3 |
name |
varchar |
16 |
是 |
否 |
名称 |
|
4 |
description |
varchar |
255 |
否 |
否 |
描述 |
|
5 |
source_table |
varchar |
255 |
否 |
否 |
来源表 |
|
6 |
source_field |
varchar |
255 |
否 |
否 |
来源字段 |
|
7 |
source_id |
int |
是 |
否 |
来源ID |
|
|
8 |
register |
smallint |
否 |
否 |
注册位置 |
|
|
9 |
create_time |
timestamp |
是 |
否 |
创建时间 |
|
|
10 |
update_time |
timestamp |
是 |
否 |
更新时间 |
第5章系统实现
5.1 普通用户功能模块
5.1.1用户注册
用户可以通过注册功能创建个人账号,填写包括用户名、密码、邮箱或手机号等基本信息完成注册流程。系统会对输入信息进行校验,确保唯一性和格式正确性,并将用户数据存储至数据库中,同时发送验证邮件或短信以确认账户有效性。用户注册界面如下图所示。

图5-1 用户注册UI界面
5.1.2用户登录
用户登录模块为前台用户提供安全快捷的访问方式。登录页面设计简洁明了,用户只需输入用户名及密码即可完成身份验证。登录成功后,用户将被重定向至系统首页页面。对于忘记密码的用户,提供了找回密码功能,通过邮箱或手机号接收重置链接,保障账户安全。用户登录界面如下图所示。

图5-2 用户登录UI界面
5.1.3首页
首页:首页展示轮播图、通知公告、心理测评、健康资讯、留言反馈、心理知识、咨询师信息等功能导航栏。界面布局如下图:

图5-3首页UI界面
5.1.4健康资讯
健康资讯:健康资讯功能提供最新的心理健康相关信息和活动,用户可以浏览各类文章,获取实用的心理健康知识,同时可对资讯文章进行点赞、收藏和评论。界面布局如下图:

图5-4健康资讯UI界面
5.1.5心理知识
心理知识:心理知识功能让用户通过搜索或分类找到心理健康相关内容,包括详细的知识介绍、类型、来源及链接。在详情页中,用户可以点赞、收藏感兴趣的信息,并通过“查看视频”按钮观看相关视频,以获得更深入的理解。界面布局如下图:

图5-5 心理知识UI界面
5.1.6咨询师信息
咨询师信息:咨询师信息功能提供所有心理咨询师的详细资料,用户可通过搜索或筛选查找合适的咨询师。咨询师详情页展示具体信息,包括照片、姓名、性别、电话、专业领域和咨询类型,并支持点赞、收藏、评论及直接预约或咨询操作,方便用户获取心理服务。界面布局如下图:

图5-6 咨询师信息UI界面

图5-7 咨询UI界面

图5-8 预约询UI界面
5.1.7个人中心
个人中心:个人中心功能为用户提供了一个集中管理个人信息和活动的平台。用户可以查看和编辑个人资料、进行心理咨询、查看评估报告、提交反馈建议、预约咨询师、取消预约、添加紧急求助、查看健康报告、管理收藏和评论等。这一功能帮助用户更好地管理和跟踪自己的心理健康状况及服务使用情况。界面布局如下图:

图5-9 个人中心UI界面

图5-10 紧急求助添加UI界面

图5-11反馈建议添加UI界面

图5-12预约取消添加UI界面
5.2咨询师用户功能模块
5.2.1心理咨询管理
心理咨询管理:咨询师点击可查看心理咨询列表,可点击查看详情并进行回复;咨询结束后,可点击“评估”按钮添加评估信息,包括上传评估报告和填写报告简介。界面布局如下图:

图5-13 评估报告添加UI界面
5.2.2咨询师预约管理
咨询师预约管理:咨询师点击可查看咨询师预约列表,可查看预约详情,并对预约信息进行审核回复。界面布局如下图:

图5-14 咨询师预约管理UI界面
5.2.3紧急求助管理
紧急求助管理:咨询师点击可查看紧急求助列表,可点击“详情”查看求助详情信息并对求助信息进行回复。界面布局如下图:

图5-15 紧急求助管理UI界面
5.2.4资源管理
资源管理:咨询师的资源管理功能允许查询、添加、编辑和删除心理测评,并查看每个测评的详细信息,如名称、答题时长等。此外,还支持管理题库和添加用户答题后的点评,以确保测评的质量和适用性。界面布局如下图:

图5-16 资源管理UI界面

图5-17 心理测评添加UI界面

图5-16 题库添加UI界面
5.2.5健康报告管理
健康报告管理:咨询师点击可查看健康报告列表和健康报告添加;点击进入“健康报告添加”可填写相关信息,包括报告标题、报告文档、咨询师用户、咨询师姓名、专业领域、普通用户和报告内容。界面布局如下图:

图5-17 健康报告添加UI界面
5.3 管理员功能模块
5.3.1系统用户
系统用户:管理员可以查看系统用户(管理员、普通用户、咨询师用户)列表中某个用户的详情,可以对用户信息进行查询、审核、添加和删除操作。界面图如下。

图5-18系统用户UI界面
5.3.2心理知识管理
心理知识管理:管理员点击可查看心理知识列表和心理知识添加;点击进入“心理知识添加”可填写相关信息,包括知识名称、知识类型、知识来源、知识网站、心理视频、封面图片和知识简介。界面图如下。

图5-19心理知识UI界面
5.3.3咨询师信息管理
咨询师信息管理:管理员点击可查看咨询师信息列表和咨询师信息添加;点击进入“咨询师信息添加”可填写相关信息,包括咨询师用户、只巡视姓名、咨询师性别、咨询师电话、专业领域、咨询类型、咨询师相片和咨询师简介。界面图如下。

图5-20 咨询师信息添加UI界面
5.3.4系统管理
系统管理:管理员点击可查看轮播图管理;如需添加新的轮播图,点击右侧“添加”按钮,上传图片,输入标题和链接,点击“确认”按钮进行添加,可对轮播图进行增删改查。界面图如下。

图5-21系统管理UI界面
5.3.5资源管理
资源管理:资源管理包含健康资讯、资讯分类和心理测评,管理员可添加健康资讯、咨询分类和测评相关信息。界面图如下。

图5-22资源管理UI界面
第6章系统测试
6.1 测试目的
在对该系统进行完详细设计和编码之后,就要对大学生心理咨询系统的程序进行测试,检测程序是否运行无误,反复进行测试和修改,使之最后成为完整的软件,满足用户的需求,实现预期的功能。系统测试的目的在于确保软件正常运作,并实现其应有的功能,促进行中出现的错误和逻辑问题。系统测试不但可以找见程序运行中的系统错误,还可以找见程序运行的需要改进的地方,并去协助改良程序运行使其获得最高幅度的完备。世界一流的安装测试员可以增加软件品质,将软件系统错误概率降至最少。
6.2 功能测试
系统的测试用例表格如下图所示。
表6-2 系统测试用例表
|
测试项 |
测试用例 |
问题 |
结论 |
|
登录功能测试 |
打开登录页面 输入正确的用户名和密码 点击“登录”按钮 |
无 |
符合预期 |
|
登录功能测试 |
打开登录页面 输入错误的用户名 输入正确的密码 点击“登录”按钮 |
无 |
符合预期 |
|
登录功能测试 |
打开登录页面 输入正确的用户名 输入错误的密码 点击“登录”按钮 |
无 |
符合预期 |
|
登录功能测试 |
打开登录页面 输入不存在的用户名和密码 点击“登录”按钮 |
无 |
符合预期 |
|
注册功能测试 |
打开注册页面 输入合法的用户名、密码、邮箱等信息 点击“注册”按钮 |
无 |
符合预期 |
|
注册功能测试 |
打开注册页面 输入已存在的用户名 输入其他合法信息 点击“注册”按钮 |
无 |
符合预期 |
|
注册功能测试 |
打开注册页面 输入合法用户名但密码不符合要求(如长度不足) 点击“注册”按钮 |
无 |
符合预期 |
|
注册功能测试 |
打开注册页面 输入合法用户名和密码但邮箱格式错误 点击“注册”按钮 |
无 |
符合预期 |
|
查看心理知识测试 |
登录系统 进入心理知识页面 浏览知识名称、网站、视频、图片等信息 |
无 |
符合预期 |
|
查看心理知识测试 |
登录系统 进入心理知识页面 使用搜索栏输入关键词搜索心理知识 |
无 |
符合预期 |
|
查看心理知识测试 |
登录系统 进入心理知识页面 点击知识详情查看完整信息 |
无 |
符合预期 |
|
查看心理知识测试 |
登录系统 进入心理知识页面 不输入任何搜索条件直接点击搜索 |
无 |
符合预期 |
6.3 性能测试
表6-5 兼容性测试用例
|
用例编号 |
测试类型 |
测试目标 |
操作过程 |
预期结果 |
|
兼容性_01 |
设备兼容性 |
测试系统在不同设备上的表现 |
在多种设备上访问系统并记录表现 |
系统在各种设备上都能正常加载和显示页面 |
|
兼容性_02 |
浏览器兼容性 |
测试系统在不同浏览器上的表现 |
在多种浏览器中访问系统并记录表现 |
系统在各种主流浏览器上都能正常加载和显示页面 |
|
兼容性_03 |
分辨率兼容性 |
测试系统在不同分辨率下的显示效果 |
在不同分辨率的设备上访问系统并记录表现 |
系统在各种分辨率下都能适应并正常显示内容 |
|
兼容性_04 |
操作系统兼容性 |
测试系统在不同操作系统上的运行情况 |
在不同操作系统上访问系统并记录表现 |
系统能够在常用操作系统上正常运行和显示 |
表6-6 性能测试用例
|
用例编号 |
测试类型 |
测试目标 |
操作过程 |
预期结果 |
|
性能_01 |
负载测试 |
测试系统在正常负载下的性能 |
逐步增加用户数来模拟不同的负载情况 |
系统能够稳定处理并响应不同数量的用户请求 |
|
性能_02 |
压力测试 |
测试系统在极端负载下的性能 |
以超过系统承受极限的用户数来测试系统 |
系统能够在高负载情况下仍然保持正常运行 |
|
性能_03 |
并发测试 |
测试系统能同时处理多少并发用户请求 |
同时发送多个并发用户请求来测试系统性能 |
系统能够有效地处理多个并发请求 |
|
性能_04 |
数据量测试 |
测试系统在大数据量下的性能 |
向系统添加大量数据并测试系统响应时间 |
系统能够在大数据量情况下保持较快的响应时间 |
6.4 测试结果
全部测试用例都已通过,且不存在漏洞,实现了本论文开始时所作要求和期望。本系统运行稳定,使用流畅,可以满足客户需求。试运行后进行系统评估,可以认为该系统达到预定的目标要求,可以满足用户的需求,也满足了系统开发前所作目标。系统在经过大量重复测试后运行十分稳定,安全实用,功能模块已经达到预定目标所需。在规定的时间内实现系统的大部分功能,且满足要求,节省开发成本,符合本人经济情况。
简而言之,经过严格的测试,可以发现该系统的功能和性能非常出色,它的精度、可靠性、稳健性都达到了极高的水平,而且它还支持快速、精细的点击操作,使用者的使用感受更加良好。此外,它还支持各种主流浏览器,满足不同的使用要求。
第7章结论
本系统围绕大学生心理健康服务需求,基于Spring Boot框架设计并实现了一套功能完善、操作便捷的心理咨询管理系统。通过角色划分与模块化设计,系统实现了普通用户、咨询师和管理员之间的高效协同,涵盖了心理测评、知识学习、在线咨询、预约管理、健康报告等多项功能,满足了高校心理咨询工作的基本需求。在技术层面,采用前后端分离架构、RESTful API接口设计以及MySQL数据库支持,提高了系统的可扩展性、稳定性和安全性,为高校心理健康服务的数字化转型提供了有效的解决方案。
未来可在现有基础上进一步引入人工智能技术,如情绪识别、智能问答、个性化推荐等功能,提升系统的智能化水平和服务精准度。同时,可开发配套移动端APP,增强用户体验与互动性,实现随时随地的心理咨询服务。此外,随着数据积累的增加,系统还可探索大数据分析在心理健康预警中的应用,帮助学校更早发现学生的心理风险,实现主动干预。长远来看,该平台不仅适用于高校环境,也可推广至中学、企事业单位等更多场景,具有广阔的应用前景和社会价值。
参考文献
致 谢
在完成本论文的研究与写作过程中,我深切感受到了来自各方的帮助和支持。在此,我衷心地向所有给予我帮助的人表示最诚挚的感谢。
首先,我要特别感谢我的导师,不仅在学术上给予我无私的指导,而且在生活上给予我关怀和支持。是您严谨的学术态度和勤奋的工作精神将永远激励我不断前进。
其次,我要感谢所有教导过我的老师们,是你们精彩课堂和深入的指导为我的研究工作提供了宝贵的知识和灵感。
我还要感谢我的家人,他们的理解和支持是我完成学业的坚强后盾。在我遇到困难和挑战时,他们总是给予我鼓励和力量。
此外,我也要感谢我的朋友和同学们,你们的陪伴和帮助使我的研究生活更加丰富多彩。我们共同度过的时光将成为我一生中宝贵的回忆。
最后,我要感谢所有支持本项目,为本项目提供建设性意见的人员,没有他们的协助,本论文无法顺利完成。
再次感谢所有帮助和支持我的人,是你们的帮助使我的研究之路不再孤单
点赞+收藏+关注 →私信领取本源代码、数据库
关注博主下篇更精彩 一键三连!!! 一键三连!!! 一键三连!!! 感谢一键三连!!!







-171主机测评](https://www.171host.com/wp-content/uploads/2026/08/20260826013316-6a8e425ceff61-220x150.jpg)