【计算机毕业设计】基于SpringBoot+Vue大学生心理健康管理系统的开发与实现

博主主页:一季春秋
博主简介:专注Java技术领域和毕业设计项目实战、Java、微信小程序、安卓等技术开发,远程调试部署、代码讲解、文档指导、ppt制作等技术指导。
主要内容:毕业设计(Java项目、小程序等)、简历模板、学习资料、面试题库、技术咨询。

精彩专栏推荐订阅👇🏻👇🏻 不然下次找不到哟

SpringBoot+Vue项目《1000套》持续更新中

http://t.csdn.cn/1mgm8

🍅文末获取联系🍅

目录

一、项目介绍 

二、项目主要技术 

三、系统功能描述

3.1 系统UML用例

3.2 系统功能结构

四、系统实现

4.1 系统前台功能实现 

4.2 后台管理员模块实现

4.3 后台心理师模块实现

4.4 后台用户模块实现

五、实现代码


一、项目介绍 

本系统采用的数据库是Mysql,本系统前端框架采用Vue.js,后端部分:采用springboot作为开发框架,同时集成MyBatis、Redis等相关技术。IDEA是本系统的开发平台。

大学生心理健康管理系统,主要的模块包括管理员;系统首页、个人中心、用户管理、心理师管理、心理预约管理、心理咨询管理、咨询类别管理、心里档案管理、通知消息管理、心理测试管理、试题管理、系统管理,用户;系统首页、个人中心、心理预约管理、心理咨询管理、心理档案管理、通知消息,心理师;系统首页、个人中心、心理预约管理、心理咨询管理、心里档案管理,前台系统首页;首页、心理师、心理测试、公告信息、后台管理、个人中心等功能。

二、项目主要技术 

开发语言:Java使用框架:spring boot前端技术:JavaScript、Vue 、css3开发工具:IDEA/MyEclipse/Eclipse、Visual Studio Code数据库:MySQL 5.7/8.0数据库管理工具:phpstudy/NavicatJDK版本:jdk1.8Maven: apache-maven 3.8.1-bin

三、系统功能描述

使用大学生心理健康管理系统分为管理员、用户和心理师三个角色的权限子模块。

(1)管理员所能使用的功能主要有:系统首页、个人中心、用户管理、心理师管理、心理预约管理、心理咨询管理、咨询类别管理、心里档案管理、通知消息管理、心理测试管理、试题管理、系统管理等。

(2)用户可以实现系统首页、个人中心、心理预约管理、心理咨询管理、心理档案管理、通知消息等。

(3)心理师可以实现系统首页、个人中心、心理预约管理、心理咨询管理、心里档案管理等。

3.1 系统UML用例

(1)管理员用例

管理员登录后可进行系统首页、个人中心、用户管理、心理师管理、心理预约管理、心理咨询管理、咨询类别管理、心里档案管理、通知消息管理、心理测试管理、试题管理、系统管理,管理员的用例如图所示。

(2)用户用例

用户注册登录后可进行系统首页、个人中心、心理预约管理、心理咨询管理、心理档案管理、通知消息,用户用例如图所示。

3.2 系统功能结构

这些功能可以充分满足大学生心理健康管理系统的需求。此系统功能较为全面如下图系统功能结构如图所示。 

四、系统实现

4.1 系统前台功能实现 

心理师

心理测试

个人中心

4.2 后台管理员模块实现

登录页面

用户管理 

心理预约管理

心里档案管理

试题管理

4.3 后台心理师模块实现

心理预约管理

心理咨询管理

4.4 后台用户模块实现

心理预约管理

通知消息管理

五、实现代码

心理预约

*** 心理预约* 后端接口* @author * @email * @date 2023-04-18 17:20:54*/
@RestController
@RequestMapping("/xinliyuyue")
public class XinliyuyueController {@Autowiredprivate XinliyuyueService xinliyuyueService;/*** 后端列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params,XinliyuyueEntity xinliyuyue,HttpServletRequest request){String tableName = request.getSession().getAttribute("tableName").toString();if(tableName.equals("xinlishi")) {xinliyuyue.setXinlishibianhao((String)request.getSession().getAttribute("username"));}if(tableName.equals("yonghu")) {xinliyuyue.setZhanghao((String)request.getSession().getAttribute("username"));}EntityWrapper<XinliyuyueEntity> ew = new EntityWrapper<XinliyuyueEntity>();PageUtils page = xinliyuyueService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, xinliyuyue), params), params));return R.ok().put("data", page);}/*** 前端列表*/@IgnoreAuth@RequestMapping("/list")public R list(@RequestParam Map<String, Object> params,XinliyuyueEntity xinliyuyue, HttpServletRequest request){EntityWrapper<XinliyuyueEntity> ew = new EntityWrapper<XinliyuyueEntity>();PageUtils page = xinliyuyueService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, xinliyuyue), params), params));return R.ok().put("data", page);}/*** 列表*/@RequestMapping("/lists")public R list( XinliyuyueEntity xinliyuyue){EntityWrapper<XinliyuyueEntity> ew = new EntityWrapper<XinliyuyueEntity>();ew.allEq(MPUtil.allEQMapPre( xinliyuyue, "xinliyuyue")); return R.ok().put("data", xinliyuyueService.selectListView(ew));}/*** 查询*/@RequestMapping("/query")public R query(XinliyuyueEntity xinliyuyue){EntityWrapper< XinliyuyueEntity> ew = new EntityWrapper< XinliyuyueEntity>();ew.allEq(MPUtil.allEQMapPre( xinliyuyue, "xinliyuyue")); XinliyuyueView xinliyuyueView =  xinliyuyueService.selectView(ew);return R.ok("查询心理预约成功").put("data", xinliyuyueView);}/*** 后端详情*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") Long id){XinliyuyueEntity xinliyuyue = xinliyuyueService.selectById(id);return R.ok().put("data", xinliyuyue);}/*** 前端详情*/@IgnoreAuth@RequestMapping("/detail/{id}")public R detail(@PathVariable("id") Long id){XinliyuyueEntity xinliyuyue = xinliyuyueService.selectById(id);return R.ok().put("data", xinliyuyue);}/*** 后端保存*/@RequestMapping("/save")public R save(@RequestBody XinliyuyueEntity xinliyuyue, HttpServletRequest request){xinliyuyue.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(xinliyuyue);xinliyuyueService.insert(xinliyuyue);return R.ok();}/*** 前端保存*/@RequestMapping("/add")public R add(@RequestBody XinliyuyueEntity xinliyuyue, HttpServletRequest request){xinliyuyue.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(xinliyuyue);xinliyuyueService.insert(xinliyuyue);return R.ok();}/*** 修改*/@RequestMapping("/update")@Transactionalpublic R update(@RequestBody XinliyuyueEntity xinliyuyue, HttpServletRequest request){//ValidatorUtils.validateEntity(xinliyuyue);xinliyuyueService.updateById(xinliyuyue);//全部更新return R.ok();}/*** 删除*/@RequestMapping("/delete")public R delete(@RequestBody Long[] ids){xinliyuyueService.deleteBatchIds(Arrays.asList(ids));return R.ok();}/*** 提醒接口*/@RequestMapping("/remind/{columnName}/{type}")public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, @PathVariable("type") String type,@RequestParam Map<String, Object> map) {map.put("column", columnName);map.put("type", type);if(type.equals("2")) {SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");Calendar c = Calendar.getInstance();Date remindStartDate = null;Date remindEndDate = null;if(map.get("remindstart")!=null) {Integer remindStart = Integer.parseInt(map.get("remindstart").toString());c.setTime(new Date()); c.add(Calendar.DAY_OF_MONTH,remindStart);remindStartDate = c.getTime();map.put("remindstart", sdf.format(remindStartDate));}if(map.get("remindend")!=null) {Integer remindEnd = Integer.parseInt(map.get("remindend").toString());c.setTime(new Date());c.add(Calendar.DAY_OF_MONTH,remindEnd);remindEndDate = c.getTime();map.put("remindend", sdf.format(remindEndDate));}}Wrapper<XinliyuyueEntity> wrapper = new EntityWrapper<XinliyuyueEntity>();if(map.get("remindstart")!=null) {wrapper.ge(columnName, map.get("remindstart"));}if(map.get("remindend")!=null) {wrapper.le(columnName, map.get("remindend"));}String tableName = request.getSession().getAttribute("tableName").toString();if(tableName.equals("xinlishi")) {wrapper.eq("xinlishibianhao", (String)request.getSession().getAttribute("username"));}if(tableName.equals("yonghu")) {wrapper.eq("zhanghao", (String)request.getSession().getAttribute("username"));}int count = xinliyuyueService.selectCount(wrapper);return R.ok().put("count", count);}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/86794.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

融云受邀参加 Web3.0 顶级峰会「Meta Era Summit 2023」

本周四 19:00-20:00&#xff0c;融云直播课 社交泛娱乐出海最短变现路径如何快速实现一款 1V1 视频应用&#xff1f; 欢迎点击上方小程序报名~ 9 月 12 日&#xff0c;由中国香港 Web3.0 媒体 Meta Era 主办的“Meta Era Summit 2023”在新加坡收官&#xff0c;融云作为战略合作…

Mybatis学习笔记10 高级映射及延迟加载

Mybatis学习笔记9 动态SQL_biubiubiu0706的博客-CSDN博客 无论简单映射(前面所学的单表和对象之间的映射关系)还是高级映射 说到底都是java对象和数据库表记录之间的映射关系 准备数据库表:一个班级对应多个学生.班级表:t_class 学生表:s_stu(自增) 新建模块 项目整体结构 …

Jmeter接口测试

前言&#xff1a; 本文主要针对http接口进行测试&#xff0c;使用Jmeter工具实现。 Jmter工具设计之初是用于做性能测试的&#xff0c;它在实现对各种接口的调用方面已经做的比较成熟&#xff0c;因此&#xff0c;本次直接使用Jmeter工具来完成对Http接口的测试。 1.介绍什么是…

ElementUI基本介绍及登录注册案例演示

目录 前言 一.简介 二.优缺点 三.Element完成登录注册 1. 环境配置及前端演示 1.1 安装Element-UI模块 1.2 安装axios和qs(发送get请求和post请求) 1.3 导入依赖 2 页面布局 2.1组件与界面 3.方法实现功能数据交互 3.1 通过方法进行页面跳转 3.2 axios发送get请求 …

Spring面试题10:Spring的XMLBeanFactory怎么使用

该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官:Spring的XMLBeanFactory怎么使用 XmlBeanFactory是Spring框架中的一个实现类,它是BeanFactory接口的一个具体实现。XmlBeanFactory的主要作用是通…

使用cv2将图片改为素描图

1 使用cv2&#xff0c;将图片改为素描图&#xff0c;效果如图&#xff1a; 2 代码实现&#xff1a; python 3.8 import cv2img cv2.imread("2.jpg") # 灰度 grey cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) invert cv2.bitwise_not(grey) # 高斯滤波 blur_img cv2…

【JAVA】关于抽象类的概念

个人主页&#xff1a;【&#x1f60a;个人主页】 系列专栏&#xff1a;【❤️初识JAVA】 前言 在Java中&#xff0c;抽象类是一种特殊的类&#xff0c;它无法被实例化。它只能被用作其他类的基类&#xff0c;以便子类可以继承它的属性和方法。今天我们就来谈谈JAVA中的抽象类。…

线性代数基础-行列式

一、行列式之前的概念 1.全排列&#xff1a; 把n个不同的元素排成一列&#xff0c;称为n个元素的全排列&#xff0c;简称排列 &#xff08;实际上就是我们所说的排列组合&#xff0c;符号是A&#xff0c;arrange&#xff09; 2.标准序列&#xff1a; 前一项均小于后一项的序列…

[Linux入门]---管理者操作系统

文章目录 1.操作系统概念2.设计操作系统的目的3.操作系统如何进行管理系统调用和库函数概念 1.操作系统概念 任何计算机系统都包含一个基本的程序集合&#xff0c;称为操作系统(OS)。笼统的理解&#xff0c;操作系统包括&#xff1a; 内核&#xff08;进程管理&#xff0c;内存…

ISP技术概述

原本或许是为了对冲手机系统和APP设计无力感而诞生的拍照功能,现今却成为了众手机厂家除背部设计外为数不多可“卷”的地方,自拍、全景、夜景、小视频等旺盛的需求让这一技术的江湖地位迅速变化。对圈内人士而言,这一波变化带来的后摄、双摄、多摄、暗光、防抖、广角、长焦、…

AVLoadingIndicatorView - 一个很好的Android加载动画集合

官网 GitHub - HarlonWang/AVLoadingIndicatorView: DEPRECATED 项目简介 AVLoadingIndicatorView is a collection of nice loading animations for Android. You can also find iOS version of this here. Now AVLoadingIndicatorView was updated version to 2.X , If …

GitStats - 统计Git所有提交记录工具

如果你是研发效能组的一员或者在从事 CI/CD 或 DevOps&#xff0c;除了提供基础设施&#xff0c;指标和数据是也是一个很重要的一环&#xff0c;比如需要分析下某个 Git 仓库代码提交情况&#xff1a; 该仓库的代码谁提交的代码最多 该仓库的活跃度是什么样子的 各个时段的提交…

安装Linux虚拟机——以ubuntukylin-16.04.7-desktop-amd64.iso为例

正文 安装VMware 重要提示 安装软件之前&#xff0c;请先退出360、电脑管家等安全类软件&#xff0c;这类软件会阻止我们安装的软件进行注册表注册&#xff0c;很可能导致安装失败。确认物理机&#xff08;也就是你自己使用的电脑&#xff09;的防火墙已经关闭。 下载 打开…

python web编程一:token、session、cookie、密码加解密

1 认证 1 传统的session-cookie机制 HTTP协议是无状态协议&#xff0c;为了解决它产生了cookie和session技术。 浏览器发起第一次请求到服务器&#xff0c;服务器发现浏览器没有提供session id&#xff0c;就认为这是第一次请求&#xff0c;会返回一个新的session id给浏览器…

数据仓库整理

数仓 olap vs oltp OLTP主要用于支持日常的业务操作&#xff0c;如银行交易、电子商务等&#xff0c;强调数据的准确性、实时性和并发性。OLAP主要用于支持复杂的数据分析&#xff0c;如数据仓库、决策支持等&#xff0c;强调数据的维度、聚合和可视化。 将OLTP数据库的数据…

C++之lseek64应用总结(二百三十六)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 人生格言&#xff1a; 人生…

CMU15-445 format\clang-format\clang-tidy 失败

CMU15-445 format\clang-format\clang-tidy 失败 问题修改 问题 -- Setting build type to Debug as none was specified. -- Youre using Clang 14.0.0 CMake Warning at CMakeLists.txt:67 (message):BusTub/main couldnt find clang-format.CMake Warning at CMakeLists.tx…

Python中使用EMD(经验模态分解)

在Python中使用EMD&#xff08;经验模态分解&#xff09;进行信号分解时&#xff0c;通常可以设置信号分解的数目。EMD算法的目标是将信号分解成多个称为“本征模态函数”&#xff08;Intrinsic Mode Functions&#xff0c;简称IMF&#xff09;的成分&#xff0c;每个IMF都代表…

【设计模式】组合模式

文章目录 1.组合模式定义2.组合模式的结构2.1. 安全式组合模式的结构2.2.透明式组合模式的结构 3.组合模式实战案例3.1.场景说明3.2.关系类图3.3.代码实现 4.组合模式优缺点5.组合模式适用场景6.组合模式总结 主页传送门&#xff1a;&#x1f481; 传送 1.组合模式定义 组合模式…

服务注册发现_actuator微服务信息完善

SpringCloud体系里的&#xff0c;服务实体向eureka注册时&#xff0c;注册名默认是IP名:应用名:应用端口名。 问题&#xff1a; 自定义服务在Eureka上的实例名怎么弄呢 在服务提供者pom中配置Actuator依赖 <!-- actuator监控信息完善 --> <dependency><groupId…