当前位置: 首页 > news >正文

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 

四、部分核心代码

注册

 /**
     * 注册
     * @param user
     * @return
     */
    @PostMapping("register")
    public Map<String, Object> signUp(@RequestBody User user) {
        // 查询用户
        Map<String, String> query = new HashMap<>();
        query.put("username",user.getUsername());
        List list = service.select(query, new HashMap<>()).getResultList();
        if (list.size()>0){
            return error(30000, "用户已存在");
        }
        user.setUserId(null);
        user.setPassword(service.encryption(user.getPassword()));
        service.save(user);
        return success(1);
    }

登录

 /**
     * 登录
     * @param data
     * @param httpServletRequest
     * @return
     */
    @PostMapping("login")
    public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {
        log.info("[执行登录接口]");

        String username = data.get("username");
        String email = data.get("email");
        String phone = data.get("phone");
        String password = data.get("password");

        List resultList = null;
        Map<String, String> map = new HashMap<>();
        if(username != null && "".equals(username) == false){
            map.put("username", username);
            resultList = service.select(map, new HashMap<>()).getResultList();
        }
        else if(email != null && "".equals(email) == false){
            map.put("email", email);
            resultList = service.select(map, new HashMap<>()).getResultList();
        }
        else if(phone != null && "".equals(phone) == false){
            map.put("phone", phone);
            resultList = service.select(map, new HashMap<>()).getResultList();
        }else{
            return error(30000, "账号或密码不能为空");
        }
        if (resultList == null || password == null) {
            return error(30000, "账号或密码不能为空");
        }
        //判断是否有这个用户
        if (resultList.size()<=0){
            return error(30000,"用户不存在");
        }

        User byUsername = (User) resultList.get(0);


        Map<String, String> groupMap = new HashMap<>();
        groupMap.put("name",byUsername.getUserGroup());
        List groupList = userGroupService.select(groupMap, new HashMap<>()).getResultList();
        if (groupList.size()<1){
            return error(30000,"用户组不存在");
        }

        UserGroup userGroup = (UserGroup) groupList.get(0);

        //查询用户审核状态
        if (!StringUtils.isEmpty(userGroup.getSourceTable())){
            String sql = "select examine_state from "+ userGroup.getSourceTable() +" WHERE user_id = " + byUsername.getUserId();
            String res = String.valueOf(service.runCountSql(sql).getSingleResult());
            if (res==null){
                return error(30000,"用户不存在");
            }
            if (!res.equals("已通过")){
                return error(30000,"该用户审核未通过");
            }
        }

 

 

相关文章:

  • go语言使用grpc
  • 研究生英语单词学习——Learning English
  • 【Java设计模式 规范与重构】 六 代码重构小结
  • ShardingSphere水平分片、多表关联、绑定表、广播表
  • SSM框架速成2——Spring5速成总结
  • 力扣第312场周赛题解:
  • MySQL流程控制函数
  • GB/T28181-2016基于RTP的视音频数据封装和技术实现
  • String类的详解
  • C/C++新手看过来----新手问题汇总分析
  • C语言 数组作为函数参数
  • 软件测试【秋招面试】字节跳动等各类大厂—面经
  • 【算子2】spark(四):spark core:trans算子中key-value类型的算子使用说明
  • 9.25
  • codeforces-1734C - Removing Smallest Multiples
  • 【跃迁之路】【669天】程序员高效学习方法论探索系列(实验阶段426-2018.12.13)...
  • Bootstrap JS插件Alert源码分析
  • Java方法详解
  • Java知识点总结(JavaIO-打印流)
  • JSDuck 与 AngularJS 融合技巧
  • JS实现简单的MVC模式开发小游戏
  • Linux Process Manage
  • Lucene解析 - 基本概念
  • Python进阶细节
  • SegmentFault 2015 Top Rank
  • Stream流与Lambda表达式(三) 静态工厂类Collectors
  • webpack入门学习手记(二)
  • 回顾2016
  • 基于Vue2全家桶的移动端AppDEMO实现
  • 微信开源mars源码分析1—上层samples分析
  • 移动端解决方案学习记录
  • 完善智慧办公建设,小熊U租获京东数千万元A+轮融资 ...
  • ​​​​​​​​​​​​​​Γ函数
  • ​LeetCode解法汇总2696. 删除子串后的字符串最小长度
  • #if 1...#endif
  • #pragma 指令
  • #我与Java虚拟机的故事#连载06:收获颇多的经典之作
  • #周末课堂# 【Linux + JVM + Mysql高级性能优化班】(火热报名中~~~)
  • (done) ROC曲线 和 AUC值 分别是什么?
  • (补)B+树一些思想
  • (九十四)函数和二维数组
  • (每日持续更新)jdk api之FileFilter基础、应用、实战
  • (欧拉)openEuler系统添加网卡文件配置流程、(欧拉)openEuler系统手动配置ipv6地址流程、(欧拉)openEuler系统网络管理说明
  • (删)Java线程同步实现一:synchronzied和wait()/notify()
  • (转)全文检索技术学习(三)——Lucene支持中文分词
  • .net 8 发布了,试下微软最近强推的MAUI
  • .NET MVC之AOP
  • .NET 程序如何获取图片的宽高(框架自带多种方法的不同性能)
  • .net 生成二级域名
  • .NET/C# 中设置当发生某个特定异常时进入断点(不借助 Visual Studio 的纯代码实现)
  • .Net+SQL Server企业应用性能优化笔记4——精确查找瓶颈
  • .NET简谈互操作(五:基础知识之Dynamic平台调用)
  • .NET企业级应用架构设计系列之技术选型
  • [20190401]关于semtimedop函数调用.txt
  • [2021]Zookeeper getAcl命令未授权访问漏洞概述与解决