Java基于springboot+vue的学生公寓安排报修管理系统

188 篇文章 6 订阅

文末获取资源,收藏关注不迷路

前言

本学生公寓管理系统是针对目学生公寓管理的实际需求,从实际工作出发,对过去的学生公寓管理系统存在的问题进行分析,完善学生的使用体会。采用计算机系统来管理信息,取代人工管理模式,查询便利,信息准确率高,节省了开支,提高了工作的效率。
本系统结合计算机系统的结构、概念、模型、原理、方法,在计算机各种优势的情况下,采用JAVA语言,结合SpringBoot框架与Vue框架以及MYSQL数据库设计并实现的。本学生公寓管理系统主要包括管理员、宿舍信息管理、宿舍安排管理、学生报修管理等多个模块。它帮助学生公寓管理实现了信息化、网络化,通过测试,实现了系统设计目标,相比传统的管理模式,本系统合理的利用了学生公寓管理数据资源,有效的减少了学生公寓管理的经济投入,大大提高了学生公寓管理的效率。

一、研究背景

随着信息化社会的形成和微电子技术日新月异的发展,为学生公寓管理提供了良好的发展环境,而学生公寓管理规模的扩大要求有一套实用而且方便的系统进行学生公寓管理的管理。在当前的这个大的气候下,学生公寓管理将具有长足的发展。特别是在互联网高度发展和应用的今天,人们对工商学院招聘的需求越来越多,也正因此,学生公寓管理系统应运而生,可以为人们的工商学院招聘有效的解决很多实际问题。在软件开发过程中最为重要的就是数据库的应用部分。
随着网络行业的快速发展,学生公寓管理涵盖的领域广泛,因此难以管理。传统的学生公寓管理系统管理方法的效率无法适应现在的发展,反而更加繁琐,所以需要建立并且完善学生公寓管理系统。
系统设计的主要意义在于,一方面,系统上线后可以带来很大的便利性,学生公寓管理属于非常细致的管理模式,要求数据量大,计算机管理可以提高精确性,更为便利的就是信息的查询,大大的提高了工作效率,改善了管理质量;另一方面,通过系统的设计,自己对软件设计有了更加深入的了解,并且产生了浓厚的学习兴趣,在对问题分析方面有了独特的方式,是进入社会之前一次很好的锻炼机会[1]。

二、研究意义

开发这个项目是为了使学生公寓管理得到最大的便利和利用,使一些思想能够得到更多的传广,而如何实现这个目标是此次的研究目的。一个完整的学生公寓管理系统要面对不少的挑战,例如:如何让信息可以及时的更新,如何使界面看起来不繁杂,怎样能使学生方便操作等都是需要解决的问题。而本次项目的关键是管理员的身份,怎样与学生区分,两者能够实现的功能的划分。数据怎样的显示可以使界面更加干净、美观,也是需要一定的合理规划。
随着互联网技术的发展,国内出现了一系列学生公寓管理系统等。近几年来,学生公寓管理系统技术不会有重大的改变,传统的学生公寓管理系统无法满足人们的现状也不会改变。学生公寓管理系统的投入资金相对较低,中国人口基数大,学生公寓管理系统的需求巨大,市场容量与盈利性巨大学生公寓管理系统学生规模将呈现爆炸式增长[2]。
在互联网蓬勃发展的今天,网络和我们的生活、学习、工作越来越密不可分,网络正领导着一个新时代的来临,利用开放的Internet技术开发出实时、快捷、全方位的信息传播平台,使得信息在学生之间的传播更为轻松,系统为学生提供服务,双方都能及时并且迅速快捷的得到信息。可以解决大量信息的查询和管理,便于系统更好的管理和更改信息,同时也为学生提供了方便[3]。

三、主要使用技术

环境需要
1.运行环境:最好是java jdk 1.8,这是目前最稳定的JDK也是被使用最多的JDK版本。
2.IDE环境:IDEA,Eclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat7/Tomcat8/Tomcat9版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
5.数据库:MySql 5.7版本;
6.是否Maven项目:是;
技术栈
后端:Spring+SpringMVC+Mybatis+Springboot
前端:vue+CSS+JavaScript+jQuery+elementui

使用说明
使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
使用IDEA/Eclipse/MyEclipse导入项目,修改配置,运行项目;
将项目中applicationContext.xml配置文件中的数据库配置改为自己的配置,然后运行;
运行成功后,在浏览器中输入:http://localhost:8080/项目名

四、研究内容

管理员模块可以进行管理员,对其进行增删改查操作,系统学生的属性包括学生名、密码、权限、添加时间;对进行宿舍信息管理,可以添加归校登记,将信息记录表中,经过添加后,此归校登记可以被学生查看,可以对信息进行更新,将信息从表中进行删除;对进行报修处理管理,可以添加报修处理,对报修处理列表进行查询,对报修处理进行修改以及将报修处理从列表删除。可以管理报修处理,并对报修处理列表进行查询,对报修处理进行修改以及删除。对进行学生请假管理,可以添加学生请假,对学生请假列表进行查询,对学生请假进行修改以及将学生请假从列表删除。可以管理学生请假,并对学生请假列表进行查询,对学生请假进行修改以及删除。对进行学生报修管理,可以添加信息,对缴费列表进行查询,对缴费进行修改以及将缴费从列表删除。可以管理缴费,并对缴费列表进行查询,对缴费进行修改以及删除;对进行宿舍信息管理,可以添加信息,对归校登记列表进行查询,对归校登记进行修改以及将归校登记从列表删除。可以管理归校登记,并对归校登记列表进行查询,对归校登记进行修改以及删除
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

五、核心代码


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.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();
    }
}

六、文章目录

第1章 引言 1
1.1开发背景与意义 1
1.2研究目的 1
1.3国内外研究现状 2
1.4论文结构 2
第2章 主要技术 3
2.1 Java语言 3
2.2 SpringBoot框架 4
2.3 Vue框架 4
2.4 MySQL数据库 4
第3章 系统分析 5
3.1可行性分析 5
3.2业务流程分析 6
3.3需求分析 6
第4章 系统设计 8
4.1系统总体功能设计 8
4.1.1管理员模块 8
4.2数据库设计 10
4.2.1数据库设计概述 10
4.3.2概念设计 10
4.3.3表设计 11
第5章 系统实现 14
5.1登录模块的实现 14
5.2管理员模块 14
5.3报修处理管理模块 15
5.4宿舍信息管理模块 16
5.5宿舍安排管理模块 17
5.6宿舍信息管理模块 18
5.7学生请假理模块 19
第6章 程序测试 21
6.1测试的目的 21
6.2测试方法 21
6.3测试用例 21
6.3.1界面测试 21
6.3.2管理员登录测试 22
6.3.3宿舍安排添加测试 24
6.4测试结果 24
结论 26
致谢 27
参考文献 28

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wqq6310855

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值