基于Java+Springmvc+vue+element实现高校心理健康系统详细设计和实现

news2024/11/19 16:28:31

基于Java+Springmvc+vue+element实现高校心理健康系统详细设计和实现

博主介绍:5年java开发经验,专注Java开发、定制、远程、指导等,csdn特邀作者、专注于Java技术领域
作者主页 超级帅帅吴
Java项目精品实战案例《500套》
欢迎点赞 收藏 ⭐留言
文末获取源码联系方式

文章目录

  • 基于Java+Springmvc+vue+element实现高校心理健康系统详细设计和实现
  • 前言介绍:
  • 系统设计:
    • 系统结构图如下图所示:
    • 登录模块顺序图:登录模块主要满足了管理员以及其他用户的权限登录,登录模块顺序图如图
    • 添加信息模块顺序图:管理员以及其他用户登录后均可进行添加信息操作,添加信息模块顺序图
  • 功能截图:
    • 登录注册:
    • 测试题目:
    • 留言反馈:
    • 个人中心:
    • 学生端后台功能:
    • 咨询师后台功能:
    • 管理员后台功能:
    • 学生管理:
    • 文章信息管理:
    • 预约信息管理:
    • 测试题目管理:
    • 测试信息管理:
    • 测试结果管理:
    • 留言板管理:
    • 系统录播图管理:
  • 代码实现:
  • 论文参考:
  • 获取源码:

前言介绍:

随着社会经济的发展,医疗卫生事业取得了巨大进步,在心理健康教育占据越来越重要的地位,什么是心理健康:心理健康,从广义上讲,是指一种高效而满意的、持续的心理状态。从狭义上讲,心理健康是指人的基本心理活动的过程内容完整、协调一致,即认识、情感、意志、行为、人格完整和协调,能适应社会,与社会保持同步。

全国有20.23%的大学生存在不同程度的心理障碍甚至心理疾患,25%的大学生需要精神卫生服务,10%有明显的心理障碍症状,急需心理咨询与心理治疗。心理障碍已成为当今大学生身心健康的最大威胁。心理健康教育显得十分必要,

心理健康教育开发使系统能够更加方便学生捷,同时也促使心理健康教育变的更加系统化、有序化。系统界面较友好,易于操作。具体在系统设计上,采用B/S结构,java技术动态页面上进行了设计,Mysql数据库进行储存,是一个非常优秀的心理健康教育系统。

系统设计:

管理员功能设计;首页、个人中心、学生管理、咨询师管理、文章信息管理、预约信息管理、测试题目管理、测试信息管理、测试结果管理、试题管理、留言板管理、系统管理结构图,如图:
在这里插入图片描述

系统结构图如下图所示:

在这里插入图片描述

登录模块顺序图:登录模块主要满足了管理员以及其他用户的权限登录,登录模块顺序图如图

在这里插入图片描述

添加信息模块顺序图:管理员以及其他用户登录后均可进行添加信息操作,添加信息模块顺序图

在这里插入图片描述

功能截图:

登录注册:

输入个人的账号、密码、角色登录系统,这时候系统的数据库就会在进行查找相关的信息,如果我们输入的账号、密码不正确,数据库就会提示出错误的信息提示,同时会提示管理员重新输入自己的账号、密码,直到账号密码输入成功后,会提登录成功的信息
在这里插入图片描述

测试题目:

可以进行查看详情、修改、删除等操作
在这里插入图片描述
点击可以进行题目测试心情查看、填写测试答案等
在这里插入图片描述

留言反馈:

在这里插入图片描述

个人中心:

个人中心:学生通过个人信息页面查看学号、密码、姓名、性别、头像、身份证、手机等信息可进行添加、修改、删除操作。
在这里插入图片描述

学生端后台功能:

学生进入后台页面查看首页、个人中心、预约信息管理、测试信息管理、测试结果管理、留言板管理、我的收藏管理等信息
在这里插入图片描述

咨询师后台功能:

咨询师进入后台页面查看首页、个人中心、预约信息管理、预约信息审核、测试信息管理、测试结果管理、留言板管理、我的收藏管理等信息
在这里插入图片描述

管理员后台功能:

管理员可以进行个人中心、学生管理、咨询师管理、文章信息管理、预约信息管理、测试题目管理、测试信息管理、测试结果管理、留言板管理、我的收藏管理、系统管理等模块的管理
在这里插入图片描述

学生管理:

管理员对学生信息管理进行查看学号、密码、姓名、性别、头像、身份证、手机等信息进行删除、修改以及查看等操作
在这里插入图片描述

文章信息管理:

在这里插入图片描述

预约信息管理:

管理员可以对预约信息管理查看详情可进行修改、删除等操作
在这里插入图片描述

测试题目管理:

在这里插入图片描述

测试信息管理:

管理员可以对测试题目查看详情可进行修改、删除等操作
在这里插入图片描述

测试结果管理:

在这里插入图片描述

留言板管理:

在这里插入图片描述

系统录播图管理:

管理员通过系统管理页面查看轮播图管理等进行上传图片进行添加、删除、修改以及查看并对整个系统进行维护等操作
在这里插入图片描述

代码实现:

/**
 * 预约信息
 * 后端接口
 * @author 
 * @email 
 * @date 2022-01-08 11:11:36
 */
@RestController
@RequestMapping("/yuyuexinxi")
public class YuyuexinxiController {
    @Autowired
    private YuyuexinxiService yuyuexinxiService;
    
    /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,YuyuexinxiEntity yuyuexinxi, HttpServletRequest request){
 
		String tableName = request.getSession().getAttribute("tableName").toString();
		if(tableName.equals("zixunshi")) {
			yuyuexinxi.setZhanghao((String)request.getSession().getAttribute("username"));
		}
		if(tableName.equals("xuesheng")) {
			yuyuexinxi.setXuehao((String)request.getSession().getAttribute("username"));
		}
        EntityWrapper<YuyuexinxiEntity> ew = new EntityWrapper<YuyuexinxiEntity>();
		PageUtils page = yuyuexinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, yuyuexinxi), params), params));
        return R.ok().put("data", page);
    }
    
    /**
     * 前端列表
     */
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params,YuyuexinxiEntity yuyuexinxi, HttpServletRequest request){
        EntityWrapper<YuyuexinxiEntity> ew = new EntityWrapper<YuyuexinxiEntity>();
		PageUtils page = yuyuexinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, yuyuexinxi), params), params));
        return R.ok().put("data", page);
    }
 
	/**
     * 列表
     */
    @RequestMapping("/lists")
    public R list( YuyuexinxiEntity yuyuexinxi){
       	EntityWrapper<YuyuexinxiEntity> ew = new EntityWrapper<YuyuexinxiEntity>();
      	ew.allEq(MPUtil.allEQMapPre( yuyuexinxi, "yuyuexinxi")); 
        return R.ok().put("data", yuyuexinxiService.selectListView(ew));
    }
 
	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(YuyuexinxiEntity yuyuexinxi){
        EntityWrapper< YuyuexinxiEntity> ew = new EntityWrapper< YuyuexinxiEntity>();
 		ew.allEq(MPUtil.allEQMapPre( yuyuexinxi, "yuyuexinxi")); 
		YuyuexinxiView yuyuexinxiView =  yuyuexinxiService.selectView(ew);
		return R.ok("查询预约信息成功").put("data", yuyuexinxiView);
    }
	
    /**
     * 后端详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") String id){
        YuyuexinxiEntity yuyuexinxi = yuyuexinxiService.selectById(id);
        return R.ok().put("data", yuyuexinxi);
    }
 
    /**
     * 前端详情
     */
    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") String id){
        YuyuexinxiEntity yuyuexinxi = yuyuexinxiService.selectById(id);
        return R.ok().put("data", yuyuexinxi);
    }
    
 
 
 
    /**
     * 后端保存
     */
    @RequestMapping("/save")
    public R save(@RequestBody YuyuexinxiEntity yuyuexinxi, HttpServletRequest request){
    	yuyuexinxi.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(yuyuexinxi);
 
        yuyuexinxiService.insert(yuyuexinxi);
        return R.ok();
    }
    
    /**
     * 前端保存
     */
    @RequestMapping("/add")
    public R add(@RequestBody YuyuexinxiEntity yuyuexinxi, HttpServletRequest request){
    	yuyuexinxi.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(yuyuexinxi);
 
        yuyuexinxiService.insert(yuyuexinxi);
        return R.ok();
    }
 
    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody YuyuexinxiEntity yuyuexinxi, HttpServletRequest request){
        //ValidatorUtils.validateEntity(yuyuexinxi);
        yuyuexinxiService.updateById(yuyuexinxi);//全部更新
        return R.ok();
    }
    
 
    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        yuyuexinxiService.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<YuyuexinxiEntity> wrapper = new EntityWrapper<YuyuexinxiEntity>();
		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("zixunshi")) {
			wrapper.eq("zhanghao", (String)request.getSession().getAttribute("username"));
		}
		if(tableName.equals("xuesheng")) {
			wrapper.eq("xuehao", (String)request.getSession().getAttribute("username"));
		}
 
		int count = yuyuexinxiService.selectCount(wrapper);
		return R.ok().put("count", count);
	}
	
 
 
}

论文参考:

在这里插入图片描述

获取源码:

大家点赞、收藏、关注、评论啦
🍅查看下方微信号获取联系方式 📝
🚀🚀🚀精彩系列推荐
Java项目精品实战案例《500套》
精彩专栏推荐订阅:在下方专栏

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

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

相关文章

将java项目导出jar包,转成在windows上的可执行文件(没有java运行环境的电脑也可以)

前言 提示&#xff1a;直接将java运行环境一起打包没有java运行环境的电脑也可以&#xff1a; 近期在做一个java串口项目&#xff0c;需要将完整的项目导出.exe文件在没有java环境的电脑上运行&#xff0c;下面是详细的操作步骤以及遇到各种问题的解决办法.。 说明&#xff1…

HTTPS加密的简单介绍

前言 假设客户端给服务器发送HTTP请求,此时的数据都是明文的,如果黑客在这个过程中截取到了数据,进行篡改是非常容易的,这样就会造成严重后果. HTTPS和HTTP一样,都是应用层协议.只不过HTTPS在HTTP的基础上又加了一个加密层,保证传输数据的安全性. 下面我们就来探讨一下HTTPS是…

档案八防设备之新型产品多合一恒湿净化一体机

档案馆档案库房用加湿除湿除尘除酸净化一体机【囊括加湿机、除湿机、消毒机、净化机功能】 集成&#xff1a;加湿、除湿、消毒、净化四合一的智能一体机 一、简介 北京盛世宏博科技有限公司档案库房系列加湿除湿除尘除酸净化一体机是档案库房恒湿、和净化式&#xff0c;HB-670…

Oracle数据库中了locked1勒索病毒,用友nchome配置文件损坏该如何解除

随着互联网技术的不断发展&#xff0c;网络安全问题也越来越受到人们的关注。其中&#xff0c;勒索病毒是一种比较常见的网络安全威胁。最近很多集团企业在使用Oracle数据库的过程中&#xff0c;遭遇到了locked1勒索病毒的攻击&#xff0c;导致企业的用友nchome配置文件损坏&am…

Word控件Aspose.Words教程:在 PowerPoint 中使用变形过渡

Aspose.Words是一种高级Word文档处理API&#xff0c;用于执行各种文档管理和操作任务。API支持生成&#xff0c;修改&#xff0c;转换&#xff0c;呈现和打印文档&#xff0c;而无需在跨平台应用程序中直接使用Microsoft Word。 Aspose API支持流行文件格式处理&#xff0c;并…

现代 CMake 模块化项目管理指南

文章目录 一、基于CMake&#xff0c;对文件/目录组织规范1.推荐的目录组织方式2.划分子项目3.根项目的 CMakeLists.txt 配置4.子项目的 CMakeLists.txt 配置5.子项目的头文件6.子项目的源文件补充&#xff1a;GLOB 和 GLOB_RECRUSE 的区别7.头文件和源文件的一一对应关系8.只有…

揭秘神秘的JS混淆加密技术

在编程的世界里&#xff0c;沉香舞动着一种强大的力量&#xff0c;就像母亲为了救子不惜一切的决心。而在JavaScript的领域中&#xff0c;我们也有一种神秘的技术&#xff0c;它能够将代码变得晦涩难懂&#xff0c;宛如沉香救母一般&#xff0c;守护着程序的安全。今天&#xf…

Anaconda 安装并使用 PyTorch(PyCharm)

文章目录 Anaconda 安装并使用 PyTorch&#xff08;PyCharm&#xff09;1. Anaconda 安装1.1 下载安装包1.2 安装1.3 测试1.4 更改镜像源 2. PyTorch 安装2.1 创建虚拟环境2.3 激活/关闭环境2.4 CUDA2.5 conda 安装 PyTorch 3. PyCharm 使用3.1 安装 PyCharm3.2 登录3.3 使用虚…

Lookup-包含查找

lookup函数有个特性&#xff1a; LOOKUP(lookup_value, lookup_vector, [result_vector]) 如果 LOOKUP 函数找不到 lookup_value&#xff0c;则该函数会与 lookup_vector 中小于或等于 lookup_value 的最大值进行匹配。 这个特性&#xff0c;我这里简称&#xff1a;包含查找…

高丰度铈磁体

随着烧结钕铁硼应用领域的不断拓展和产量的快速增长&#xff0c;相应的稀土资源也被大量开采。稀土矿中各种稀土元素是共生的&#xff0c;但在钕铁硼的制备过程中&#xff0c;利用的主要是在轻稀土中质量分数为25%的镨Pr和钕Nd元素&#xff0c;这样对轻稀土中占比为质量分数49%…

档案馆档案管理的八防指的是哪些?

档案库房档案安全保护的“八防”&#xff1a;即防高温、防潮湿、防盗、防火、防霉菌、防光、防尘、防虫等要求。 “八防”实现了档案库房安全保护由被动人工管理向现代化、智能化、科学化、人性化管理的历史性跨越。该系统采用模块化设计&#xff0c;系统功能强大&#xff0c;…

夏天已至,放手一搏—V6.0.6版本发布

夏日莺啼&#xff0c;新品绽放。轻盈而来&#xff0c;清凉沁心。 香气四溢&#xff0c;舒缓暑气。一份清爽&#xff0c;满足您的期待。 预订新品&#xff0c;共享仲夏芬芳。 本次更新&#xff1a;经过一个月的细节打磨&#xff0c; V6.0.6版本发布&#xff0c;APP构建能力强…

Knowledge-Based Systems latex论文模板

Knowledge-Based Systems 杂志官网https://www.sciencedirect.com/journal/knowledge-based-systems Knowledge-Based Systems 期刊投稿网址 Editorial Manager LetPub 投稿经验和评论&#xff1a; KNOWLEDGE-BASED SYSTEMS 影响因子8.139分&#xff0c;是几区&#xff0c;20…

掌握RDD算子2

文章目录 扁平映射算子案例任务1、统计不规则二维列表元素个数方法一、利用Scala来实现方法二、利用Spark RDD来实现 按键归约算子案例任务1、在Spark Shell里计算学生总分任务2、在IDEA里计算学生总分第一种方式&#xff1a;读取二元组成绩列表第二种方式&#xff1a;读取四元…

控制系统典型应用车型 —— 潜入顶升式AMR

车型介绍: “潜入顶升AMR”是由驱动装置车身装置升降装置等结构组成的高性能移动机器人。通过复杂的智能技术来合理的路径规划&#xff0c;以适应环境并在其中导航&#xff0c;结合近距离激光雷达、碰撞传感器等技术&#xff0c;可以在高速运转的同时&#xff0c;潜伏至货物固…

【Python】布尔类型 ( 布尔类型变量 | 比较运算符 )

文章目录 一、布尔类型变量二、比较运算符三、代码示例 一、布尔类型变量 Python 中的 布尔类型 ( bool ) 用于 逻辑判断 , 布尔类型 是 数字类型 ( Number ) 的一种 , 其有两种 字面量 取值 : 真 : True , 其本质是数字 1 ;假 : False , 其本质是数字 0 ; 代码示例 : # 布尔…

电脑清灰记录(惠普暗影精灵5)

如果选择自己清灰&#xff0c;请确保自己处于精神平静&#xff0c;耐心可控&#xff0c;无粗暴动作倾向&#xff0c;无孩童打扰的状态。 新手全程大概需要2个半小时&#xff0c;老手比较顺利的话半个小时搞定。以下电脑&#xff0c;首次尝试。参考链接暗影精灵四笔记本电脑拆机…

AI绘画新秀-免费使用-Leonardo(Midjourney对手)注册教程

本教程收集于:AIGC从入门到精通教程 AI绘画新秀-免费使用-Leonardo(Midjourney对手) 保姆级注册教程 目录 一、写在前面的话。 二、纯文字教程 2.1 Leonardo注册教程:

一个Python的轻量级搜索工具--Whose

本文将简单介绍 Python 中的一个轻量级搜索工具Whoosh&#xff0c;并给出相应的使用示例代码。 # Whoosh 简介 Whoosh 由 Matt Chaput 创建&#xff0c;它一开始是一个为 Houdini 3D 动画软件包的在线文档提供简单、快速的搜索服务工具&#xff0c;之后便慢慢成为一个成熟的搜…

数字人的新革命,BAT的“冲高”战场

配图来自Canva可画 ChatGPT横空出世&#xff0c;让人们看到了数字人的另一种可能&#xff0c;将ChatGPT与虚拟数字人融合&#xff0c;研发出更加智能化、拟人化的虚拟数字人成为数字人厂商的新命题、新方向。 2月份&#xff0c;岭南股份、风语筑、开普云等10多家公司&#xf…