• SpringBoot+Vue项目大学生心理服务系统


    文末获取源码

    开发语言:Java

    框架:springboot+vue

    Node:node.js

    JDK版本:JDK1.8

    服务器:tomcat7

    数据库:mysql 5.7/8.0

    数据库工具:Navicat11

    开发软件:eclipse/idea,Visual 

    Maven包:Maven3.3.9

    浏览器:谷歌浏览器

    一、前言介绍 

    本系统主要论述了如何使用JAVA语言开发一个大学生心理服务系统 ,本系统将严格按照软件开发流程进行各个阶段的工作,采用B/S架构,面向对象编程思想进行项目开发。在引言中,作者将论述大学生心理服务系统的当前背景以及系统开发的目的,后续章节将严格按照软件开发流程,对系统进行各个阶段分析设计。

    大学生心理服务系统的主要使用者分为管理员和用户,实现功能包括管理员:站点管理(轮播图、公告栏),用户管理(管理员、普通用户),内容管理(新闻资讯、资讯分类、心理测试),更多管理(咨询信息)等功能。由于本网站的功能模块设计比较全面,所以使得整个大学生心理服务系统信息管理的过程得以实现。

    本系统的使用可以实现本大学生心理服务系统管理的信息化,可以方便管理员进行更加方便快捷的管理,可以提高管理人员的工作效率。

    二、系统功能分析 

    本大学生心理服务系统主要包括两大功能模块,即用户功能模块和管理员功能模块。

    (1)管理员模块:系统中的核心用户是管理员,管理员登录后,通过管理员来管理后台系统。主要功能有:站点管理(轮播图、公告栏),用户管理(管理员、普通用户),内容管理(新闻资讯、资讯分类、心理测试),更多管理(咨询信息)等功能。 

    (2)前台用户:首页、心理测试、公告消息、新闻资讯、咨询信息、我的账户、我的收藏、个人中心、退出。

    三、系统详细设计 

    首页

    62694eb35a40423fb38ad8fc51697596.png

    心理测试

    3fda867db8734635bcf2d15fa1de9fd6.png

    新闻资讯

    7c153eba20304a35a606ce5396f767cd.png

    管理员功能模块

    49ad342ceefe40f79ecdcb36d82d0338.png

    站点管理

    769184c06c34413ead9194ba0faf1763.png

    心理测试

    3a6822bda31c465dbe50e1f0abfeed31.png

    53dfeb3f1bcb46a4a0f62ee2f27c468c.png

    四、部分核心代码

    注册

    1. /**
    2. * 注册
    3. * @param user
    4. * @return
    5. */
    6. @PostMapping("register")
    7. public Map<String, Object> signUp(@RequestBody User user) {
    8. // 查询用户
    9. Map<String, String> query = new HashMap<>();
    10. query.put("username",user.getUsername());
    11. List list = service.select(query, new HashMap<>()).getResultList();
    12. if (list.size()>0){
    13. return error(30000, "用户已存在");
    14. }
    15. user.setUserId(null);
    16. user.setPassword(service.encryption(user.getPassword()));
    17. service.save(user);
    18. return success(1);
    19. }

    登录

    1. /**
    2. * 登录
    3. * @param data
    4. * @param httpServletRequest
    5. * @return
    6. */
    7. @PostMapping("login")
    8. public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {
    9. log.info("[执行登录接口]");
    10. String username = data.get("username");
    11. String email = data.get("email");
    12. String phone = data.get("phone");
    13. String password = data.get("password");
    14. List resultList = null;
    15. Map<String, String> map = new HashMap<>();
    16. if(username != null && "".equals(username) == false){
    17. map.put("username", username);
    18. resultList = service.select(map, new HashMap<>()).getResultList();
    19. }
    20. else if(email != null && "".equals(email) == false){
    21. map.put("email", email);
    22. resultList = service.select(map, new HashMap<>()).getResultList();
    23. }
    24. else if(phone != null && "".equals(phone) == false){
    25. map.put("phone", phone);
    26. resultList = service.select(map, new HashMap<>()).getResultList();
    27. }else{
    28. return error(30000, "账号或密码不能为空");
    29. }
    30. if (resultList == null || password == null) {
    31. return error(30000, "账号或密码不能为空");
    32. }
    33. //判断是否有这个用户
    34. if (resultList.size()<=0){
    35. return error(30000,"用户不存在");
    36. }
    37. User byUsername = (User) resultList.get(0);
    38. Map<String, String> groupMap = new HashMap<>();
    39. groupMap.put("name",byUsername.getUserGroup());
    40. List groupList = userGroupService.select(groupMap, new HashMap<>()).getResultList();
    41. if (groupList.size()<1){
    42. return error(30000,"用户组不存在");
    43. }
    44. UserGroup userGroup = (UserGroup) groupList.get(0);
    45. //查询用户审核状态
    46. if (!StringUtils.isEmpty(userGroup.getSourceTable())){
    47. String sql = "select examine_state from "+ userGroup.getSourceTable() +" WHERE user_id = " + byUsername.getUserId();
    48. String res = String.valueOf(service.runCountSql(sql).getSingleResult());
    49. if (res==null){
    50. return error(30000,"用户不存在");
    51. }
    52. if (!res.equals("已通过")){
    53. return error(30000,"该用户审核未通过");
    54. }
    55. }

  • 相关阅读:
    《深入浅出OCR》第三章:OCR文字检测
    编码踩坑——多线程可能带来意想不到的OOM
    学的Java要去 IT 外包公司?
    【Python基础之函数:二分法、三元表达式、生成/推导式、匿名函数、内置函数】
    K8S的pod创建过程
    【镜像制作】node.js+pm2的latest版镜像制作
    前端工程化精讲第二十课 流程优化:部署流程中的构建流程策略优化
    2.数据及其预处理
    YOLOv8改进PAN结构:Lowlevel Feature Alignment,集特征对齐、信息融合和信息注入于一体,增强模型对不同尺寸物体的检测能力
    2.1HTML5基本结构
  • 原文地址:https://blog.csdn.net/m0_49113107/article/details/127043834