基于微信小程序的大学生心理健康服务平台【论文、源码、开题报告】

  博主介绍:👉全网个人号和企业号粉丝40W+,每年辅导几千名大学生较好的完成毕业设计,专注计算机软件领域的项目研发,不断的进行新技术的项目实战👈
⭐️热门专栏推荐订阅⭐️ 订阅收藏起来,防止下次找不到

🔎​百套小程序APP项目实战持续更新中~​

🔎​千套JAVA项目实战持续更新中~​

🔎​百套Python实战项目持续更新中~​
有需求的各位可以先收藏起来,还有大家在毕设选题,开题报告有疑惑的都可以找我,给你参考意见,需要开题模板的可以私信留言告诉我

❤️文末获取源码联系❤️        ⚠️一定要先收藏⚠️

4系统概要设计

4.1概述

本系统后台采用B/S结构(Browser/Server,浏览器/服务器结构)和基于Web服务两种模式,是一个适用于Internet环境下的模型结构。只要用户能连上Internet,便可以在任何时间、任何地点使用。系统工作原理图如图4-1所示:

图4-1系统工作原理图

4.2系统结构

设计的功能结构图如下图所示:

图4-2功能结构图

4.3.数据库设计

4.3.1数据库实体

概念设计的目标是设计出反映某个组织部门信息需求的数据库系统概念模式,数据库系统的概念模式独立于数据库系统的逻辑结构、独立于数据库管理系统(DBMS)、独立于计算机系统。

概念模式的设计方法是在需求分析的基础上,用概念数据模型(例如E-R模型)表示数据及数据之间的相互联系,设计出反映用户信息需求和处理需求的数据库系统概念模式。概念设计的目标是准确描述应用领域的信息模式,支持用户的各种应用,这样既容易转换为数据库系统逻辑模式,又容易为用户理解。数据库系统概念模式是面向现实世界的数据模型,不能直接用于数据库系统的实现。在此阶段,用户可以参与和评价数据库系统的设计,从而有利于保证数据库系统的设计与用户的需求相吻合。在概念模式的设计中,E-R模型法是最常见的设计方法。本系统的E-R图如下图所示:

(1)下图是考试记录表实体和其具备的属性。


考试记录表实体属性图

(2)下图是订单实体和其具备的属性。


订单实体属性图

(3)下图是收藏表实体和其具备的属性。


收藏表实体属性图

(4)下图是产品分类实体和其具备的属性。


产品分类实体属性图

(5)下图是预约咨询实体和其具备的属性。


预约咨询实体属性图

(6)下图是音乐理疗实体和其具备的属性

音乐理疗实体属性图

(7)下图是音乐理疗评论表实体和其具备的属性。


音乐理疗评论表实体属性图

(8)下图是试卷表实体和其具备的属性。


试卷表实体属性图

(9)下图是购物车表实体和其具备的属性。


购物车表实体属性图

(10)下图是学生实体和其具备的属性。


学生实体属性图

(11)下图是心理产品评论表实体和其具备的属性。


心理产品评论表实体属性图

(12)下图是交流论坛实体和其具备的属性。


交流论坛实体属性图

(13)下图是心理产品实体和其具备的属性。


心理产品实体属性图

(14)下图是地址实体和其具备的属性。


地址实体属性图

(15)下图是试题表实体和其具备的属性。


试题表实体属性图

4.3.2数据库设计表

大学生心理健康服务微信小程序系统需要后台数据库,下面介绍数据库中的各个表的详细信息:

表4.1地址表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

addtime

Date

创建时间

3

userid

Integer

用户id

4

address

String

地址

5

name

String

收货人

6

phone

String

电话

7

isdefault

String

是否默认地址[是/否]

表4.2购物车表表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

addtime

Date

创建时间

3

tablename

String

商品表名

4

userid

Integer

用户id

5

goodid

Integer

商品id

6

goodname

String

商品名称

7

picture

String

图片

8

buynumber

Integer

购买数量

9

price

单价

10

discountprice

会员价

表4.3产品分类表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

addtime

Date

创建时间

3

chanpinfenlei

String

产品分类

表4.4预约咨询表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

addtime

Date

创建时间

3

userid

Integer

用户id

4

adminid

Integer

管理员id

5

ask

String

提问

6

reply

String

回复

7

isreply

Integer

是否回复

表4.5配置文件表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

name

String

配置参数名称

3

value

String

配置参数值

表4.6心理产品评论表表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

addtime

Date

创建时间

3

refid

Integer

关联表id

4

userid

Integer

用户id

5

nickname

String

用户名

6

content

String

评论内容

7

reply

String

回复内容

表4.7音乐理疗评论表表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

addtime

Date

创建时间

3

refid

Integer

关联表id

4

userid

Integer

用户id

5

nickname

String

用户名

6

content

String

评论内容

7

reply

String

回复内容

表4.8试卷表表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

addtime

Date

创建时间

3

name

String

试卷名称

4

time

Integer

考试时长(分钟)

5

status

Integer

试卷状态

表4.9试题表表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

addtime

Date

创建时间

3

paperid

Integer

所属试卷id(外键)

4

papername

String

试卷名称

5

questionname

String

试题名称

6

options

String

选项,json字符串

7

score

Integer

分值

8

answer

String

正确答案

9

analysis

String

答案解析

10

type

Integer

试题类型,0:单选题 1:多选题 2:判断题 3:填空题(暂不考虑多项填空)

11

sequence

Integer

试题排序,值越大排越前面

表4.10考试记录表表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

addtime

Date

创建时间

3

userid

Integer

用户id

4

username

String

用户名

5

paperid

Integer

试卷id(外键)

6

papername

String

试卷名称

7

questionid

Integer

试题id(外键)

8

questionname

String

试题名称

9

options

String

选项,json字符串

10

score

Integer

分值

11

answer

String

正确答案

12

analysis

String

答案解析

13

myscore

Integer

试题得分

14

myanswer

String

考生答案

表4.11交流论坛表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

addtime

Date

创建时间

3

title

String

帖子标题

4

content

String

帖子内容

5

parentid

Integer

父节点id

6

userid

Integer

用户id

7

username

String

用户名

8

isdone

String

状态

表4.12订单表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

addtime

Date

创建时间

3

orderid

String

订单编号

4

tablename

String

商品表名

5

userid

Integer

用户id

6

goodid

Integer

商品id

7

goodname

String

商品名称

8

picture

String

商品图片

9

buynumber

Integer

购买数量

10

price

价格/积分

11

discountprice

折扣价格

12

total

总价格/总积分

13

discounttotal

折扣总价格

14

type

Integer

支付类型

15

status

String

状态

16

address

String

地址

17

tel

String

电话

18

consignee

String

收货人

表4.13收藏表表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

addtime

Date

创建时间

3

userid

Integer

用户id

4

refid

Integer

收藏id

5

tablename

String

表名

6

name

String

收藏名称

7

picture

String

收藏图片

表4.14token表表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

userid

Integer

用户id

3

username

String

用户名

4

tablename

String

表名

5

role

String

角色

6

token

String

密码

7

addtime

Date

新增时间

8

expiratedtime

Date

过期时间

表4.15用户表表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

username

String

用户名

3

password

String

密码

4

role

String

角色

5

addtime

Date

新增时间

表4.16心理产品表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

addtime

Date

创建时间

3

chanpinmingcheng

String

产品名称

4

chanpinfenlei

String

产品分类

5

chanpintupian

String

产品图片

6

chanpinxiangqing

String

产品详情

7

price

价格

表4.17学生表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

addtime

Date

创建时间

3

xuehao

String

学号

4

mima

String

密码

5

xingming

String

姓名

6

nianling

Integer

年龄

7

xingbie

String

性别

8

shouji

String

手机

9

zhaopian

String

照片

10

money

余额

表4.18音乐理疗表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

addtime

Date

创建时间

3

biaoti

String

标题

4

yinpin

String

音频

5

fengmian

String

封面

6

xiaoguo

String

效果

7

xiangxishuoming

String

详细说明

表4.19最新资讯表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

addtime

Date

创建时间

3

biaoti

String

标题

4

jianjie

String

简介

5

neirong

String

内容

6

fabushijian

Date

发布时间

7

fengmian

String

封面

5系统详细实现

5.1 管理员模块的实现

5.1.1 学生信息管理

管理员对学生信息进行添加,修改,删除,查询操作。具体界面的展示如图5.1所示。

图5.1 学生信息管理界面

5.1.2 心理产品管理

管理员可以对心理产品信息进行添加,修改,删除,删除操作。具体界面如图5.2所示。

图5.2 心理产品管理界面

5.1.3 音乐理疗管理

管理员可以对音乐理疗信息进行添加,修改,删除操作。界面如下图所示:

图5.3 音乐理疗界面

5.1.4 考试记录管理

管理员可以对考试记录信息进行查看和查询操作。界面如下图所示:

图5.4考试记录管理界面

5.1.5 试题管理

管理员可以对试题信息进行添加,修改,删除,查询,打印操作。界面如下图所示:

图5.5 试题信息管理界面

5.2 小程序用户模块的实现

5.2.1 我的

学生用户在我的里面可以操作关于我的各种操作。

图5.6 我的界面

5.2.2 首页

学生用户登录后可以在首页查看各种通知信息以及公告信息。界面如下图所示:

图5.7 首页界面

5.2.3 心理产品

用户可以查询心理产品信息,也可以对心理产品进行购买操作。

图5.8 心理产品界面

JAVA后端代码实现

package com.controller;
 
import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.Map;
 
import javax.servlet.http.HttpServletRequest;
 
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
 
import com.annotation.IgnoreAuth;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.entity.TokenEntity;
import com.entity.UserEntity;
import com.service.TokenService;
import com.service.UserService;
import com.utils.CommonUtil;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.ValidatorUtils;
 
/**
 * 登录相关
 */
@RequestMapping("users")
@RestController
public class UserController{
	
	@Autowired
	private UserService userService;
	
	@Autowired
	private TokenService tokenService;
 
	/**
	 * 登录
	 */
	@IgnoreAuth
	@PostMapping(value = "/login")
	public R login(String username, String password, String captcha, HttpServletRequest request) {
		UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
		if(user==null || !user.getPassword().equals(password)) {
			return R.error("账号或密码不正确");
		}
		String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
		return R.ok().put("token", token);
	}
	
	/**
	 * 注册
	 */
	@IgnoreAuth
	@PostMapping(value = "/register")
	public R register(@RequestBody UserEntity user){
//    	ValidatorUtils.validateEntity(user);
    	if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
    		return R.error("用户已存在");
    	}
        userService.insert(user);
        return R.ok();
    }
 
	/**
	 * 退出
	 */
	@GetMapping(value = "logout")
	public R logout(HttpServletRequest request) {
		request.getSession().invalidate();
		return R.ok("退出成功");
	}
	
	/**
     * 密码重置
     */
    @IgnoreAuth
	@RequestMapping(value = "/resetPass")
    public R resetPass(String username, HttpServletRequest request){
    	UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
    	if(user==null) {
    		return R.error("账号不存在");
    	}
    	user.setPassword("123456");
        userService.update(user,null);
        return R.ok("密码已重置为:123456");
    }
	
	/**
     * 列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,UserEntity user){
        EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
    	PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
        return R.ok().put("data", page);
    }
 
	/**
     * 列表
     */
    @RequestMapping("/list")
    public R list( UserEntity user){
       	EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
      	ew.allEq(MPUtil.allEQMapPre( user, "user")); 
        return R.ok().put("data", userService.selectListView(ew));
    }
 
    /**
     * 信息
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") String id){
        UserEntity user = userService.selectById(id);
        return R.ok().put("data", user);
    }
    
    /**
     * 获取用户的session用户信息
     */
    @RequestMapping("/session")
    public R getCurrUser(HttpServletRequest request){
    	Long id = (Long)request.getSession().getAttribute("userId");
        UserEntity user = userService.selectById(id);
        return R.ok().put("data", user);
    }
 
    /**
     * 保存
     */
    @PostMapping("/save")
    public R save(@RequestBody UserEntity user){
//    	ValidatorUtils.validateEntity(user);
    	if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
    		return R.error("用户已存在");
    	}
        userService.insert(user);
        return R.ok();
    }
 
    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody UserEntity user){
//        ValidatorUtils.validateEntity(user);
    	UserEntity u = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername()));
    	if(u!=null && u.getId()!=user.getId() && u.getUsername().equals(user.getUsername())) {
    		return R.error("用户名已存在。");
    	}
        userService.updateById(user);//全部更新
        return R.ok();
    }
 
    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        userService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
}

源码获取

大家点赞、收藏、关注 ,让更多需要的同学看到

不同开发语言专栏推荐订阅

 🔎​百套小程序APP项目实战持续更新中~​

🔎​千套JAVA项目实战持续更新中~​

🔎​百套Python实战项目持续更新中~​

👇下方有我的微信名片👇

  • 20
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于微信小程序的健康管理(小程序+ssm完整源码+演示视频) 基于微信小程序的健康管理 功能需求: - [ ] 满足心理健康检测需要题库随机抽题,首次注册完成做题给予初步评价,评价结果反应给管理员,不同班级分配给主管本班级的管理员。 - [ ] 提供一个留言板块可匿名和实名,可以选择只给管理员看和给好友看,可回复留言 - [ ] 管理员与学生可以直接发消息交流 - [ ] 出现心理健康问题人员要及时向管理员发出提示 - [ ] 学生首次注册要完善个人信息统一为多级,管理者1编号2编号 一个学生设置两名管理者,班级编号 - [ ] 该小程序主要包括 3 个主体界面模块;“首页模块”、“留言与聊天模块”、“我的模块”。其中首页模块主要包括三大导航栏:“心理健康测查”、“心理健康小故事”、“我的心理健康状态”。其中“心理健康测查”主要用于测查学生心理健康状况分为随机测查和固定时间测查保证能及时与准确了解学生心理健康情况;“心理健康小故事”栏目展示关于心理健康的故事分享用于提高学生心理健康水平;“我的心理健康状态”栏目展示学生目前心理健康情况和问题。 - [ ] 管理员主要为管理学生心理健康不需要进行心理健康教育,因此登陆时需要有学生与管理者的区分 - [ ] 最对一个班级所有学生心理健康状态进行统计,推送给管理员以图形形式。 - [ ] 在做程序的时候最好带上注释,可以让我看的明白 ,什么模块时什么东西。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值