基于Springboot + MySQL + Vue 大学新生宿舍管理系统 (含源码)

本文主要是介绍基于Springboot + MySQL + Vue 大学新生宿舍管理系统 (含源码),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

📚 前言

📑摘要

📑操作流程

📚 系统架构设计

📚 数据库设计

   💬 管理员信息属性

   💬 学生信息实体属性

   💬 宿舍安排信息实体属性

   💬 卫生检查信息实体属性

📚 系统功能的具体实现

   💬 管理员功能模块

   管理员登录

   公告信息管理

   班级管理

   报修信息管理

 💬 学生功能模块

公告信息管理

宿舍安排管理

缴费信息管理

报修处理管理

✒️ 源码实现

💖 源码获取

😁 联系方式


📚 前言

📑博客主页:@丘比特惩罚陆

💖欢迎关注:点赞收藏⭐留言✒
💬系列专栏:Java Springboot 毕设实战专栏
🎮 加入社区: 丘比特惩罚陆
🥇人生格言:选对方向,每走一步都是进步!
✒️欢迎大佬指正,一起学习!一起加油!

👏 希望大家能小手一动,帮忙点个赞!


📑摘要

   随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,新生宿舍管理系统当然也不能排除在外。新生宿舍管理系统以实际运用为开发背景,运用软件工程原理和开发方法,采用springboot框架构建的一个管理系统。整个开发过程首先对软件系统进行需求分析,得出系统的主要功能。

   本新生宿舍管理系统采用的数据库是Mysql,使用springboot框架开发。这种个性化的网上管理系统特别注重交互协调与管理的相互配合,激发了管理人员的创造性与主动性,对新生宿舍管理系统而言非常有利。


📑新生宿舍管理系统的特点

   新生宿舍管理系统主要是为了提高工作人员的工作效率和更方便快捷的满足学生,更好存储所有数据信息及快速方便的检索功能,对系统的各个模块是通过许多今天的发达系统做出合理的分析来确定考虑学生的可操作性,遵循开发的系统优化的原则,经过全面的调查和研究。

📑操作流程

                                                            

                                                           流程图

📚 系统架构设计

体系架构

新生宿舍管理系统的总体架构图形如下:

新生宿舍管理系统的结构:

系统对这些功能进行整合,产生的功能结构图如下:


📚 数据库设计

   💬 管理员信息属性

   💬 学生信息实体属性

   💬 宿舍安排信息实体属性

💬 卫生检查信息实体属性

📚 系统功能的具体实现

   💬 管理员功能模块

    管理员登录

通过填写用户名、密码、角色进行登录;

    公告信息管理

在公告信息管理页面中可以通过查看公告标题、图片、发布日期信息进行详情、修改;

  班级管理

班级管理页面中可以查看班级等信息,并可根据需要对班级管理进行详情、修改或删除等操作;

  学生管理,在学生管理页面中可以查看学号、学生姓名、性别、头像、院系、班级、手机、邮箱、宿舍号等信息,并可根据需要对学生管理进行详情、修改或删除等详细操作;

   报修信息管理

报修信息管理页面中可以查看报修设备、类型、图片、报修内容、报修日期、学号、学生姓名、班级、宿舍号、手机、审核回复、审核状态、审核等内容,并且根据需要对报修信息管理进行详情、修改或删除等详细操作;

 💬 学生功能模块

    公告信息管理

公告信息管理页面中通过查看公告标题、图片、发布日期等信息还可以根据需要对公告信息管理进行修改;

     宿舍安排管理

宿舍安排管理页面中可以查看宿舍号、宿舍类型、图片、位置、可住人数、学号、学生姓名、班级、安排日期等信息内容;

缴费信息管理

缴费信息管理页面中通过查看学号、学生姓名、班级、宿舍号、缴费名称、缴费类型、缴费金额、登记日期、是否支付等内容进行详情;

报修处理管理

报修处理管理页面中通过查看报修设备、类型、报修日期、维修反馈、维修进度、更新日期、学号、学生姓名、班级、宿舍号等内容;

✒️ 源码实现


/*** 宿舍安排* 后端接口* @author * @email * @date 2021-03-18 15:35:05*/
@RestController
@RequestMapping("/susheanpai")
public class SusheanpaiController {@Autowiredprivate SusheanpaiService susheanpaiService;/*** 后端列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params,SusheanpaiEntity susheanpai,HttpServletRequest request){String tableName = request.getSession().getAttribute("tableName").toString();if(tableName.equals("xuesheng")) {susheanpai.setXuehao((String)request.getSession().getAttribute("username"));}EntityWrapper<SusheanpaiEntity> ew = new EntityWrapper<SusheanpaiEntity>();PageUtils page = susheanpaiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, susheanpai), params), params));return R.ok().put("data", page);}/*** 前端列表*/@RequestMapping("/list")public R list(@RequestParam Map<String, Object> params,SusheanpaiEntity susheanpai, HttpServletRequest request){EntityWrapper<SusheanpaiEntity> ew = new EntityWrapper<SusheanpaiEntity>();PageUtils page = susheanpaiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, susheanpai), params), params));return R.ok().put("data", page);}/*** 列表*/@RequestMapping("/lists")public R list( SusheanpaiEntity susheanpai){EntityWrapper<SusheanpaiEntity> ew = new EntityWrapper<SusheanpaiEntity>();ew.allEq(MPUtil.allEQMapPre( susheanpai, "susheanpai")); return R.ok().put("data", susheanpaiService.selectListView(ew));}/*** 查询*/@RequestMapping("/query")public R query(SusheanpaiEntity susheanpai){EntityWrapper< SusheanpaiEntity> ew = new EntityWrapper< SusheanpaiEntity>();ew.allEq(MPUtil.allEQMapPre( susheanpai, "susheanpai")); SusheanpaiView susheanpaiView =  susheanpaiService.selectView(ew);return R.ok("查询宿舍安排成功").put("data", susheanpaiView);}/*** 后端详情*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") Long id){SusheanpaiEntity susheanpai = susheanpaiService.selectById(id);return R.ok().put("data", susheanpai);}/*** 前端详情*/@RequestMapping("/detail/{id}")public R detail(@PathVariable("id") Long id){SusheanpaiEntity susheanpai = susheanpaiService.selectById(id);return R.ok().put("data", susheanpai);}/*** 后端保存*/@RequestMapping("/save")public R save(@RequestBody SusheanpaiEntity susheanpai, HttpServletRequest request){susheanpai.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(susheanpai);susheanpaiService.insert(susheanpai);return R.ok();}/*** 前端保存*/@RequestMapping("/add")public R add(@RequestBody SusheanpaiEntity susheanpai, HttpServletRequest request){susheanpai.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(susheanpai);susheanpaiService.insert(susheanpai);return R.ok();}/*** 修改*/@RequestMapping("/update")public R update(@RequestBody SusheanpaiEntity susheanpai, HttpServletRequest request){//ValidatorUtils.validateEntity(susheanpai);susheanpaiService.updateById(susheanpai);//全部更新return R.ok();}/*** 删除*/@RequestMapping("/delete")public R delete(@RequestBody Long[] ids){susheanpaiService.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<SusheanpaiEntity> wrapper = new EntityWrapper<SusheanpaiEntity>();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("xuesheng")) {wrapper.eq("xuehao", (String)request.getSession().getAttribute("username"));}int count = susheanpaiService.selectCount(wrapper);return R.ok().put("count", count);}}

💖 源码获取

点赞、收藏、关注!!!

非无偿源码!获取源码请添加up主!!

😁 联系方式

文章最底下有微信联系方式!!!

这篇关于基于Springboot + MySQL + Vue 大学新生宿舍管理系统 (含源码)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/874157

相关文章

Java实现字节字符转bcd编码

《Java实现字节字符转bcd编码》BCD是一种将十进制数字编码为二进制的表示方式,常用于数字显示和存储,本文将介绍如何在Java中实现字节字符转BCD码的过程,需要的小伙伴可以了解下... 目录前言BCD码是什么Java实现字节转bcd编码方法补充总结前言BCD码(Binary-Coded Decima

Vue和React受控组件的区别小结

《Vue和React受控组件的区别小结》本文主要介绍了Vue和React受控组件的区别小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录背景React 的实现vue3 的实现写法一:直接修改事件参数写法二:通过ref引用 DOMVu

Linux下MySQL数据库定时备份脚本与Crontab配置教学

《Linux下MySQL数据库定时备份脚本与Crontab配置教学》在生产环境中,数据库是核心资产之一,定期备份数据库可以有效防止意外数据丢失,本文将分享一份MySQL定时备份脚本,并讲解如何通过cr... 目录备份脚本详解脚本功能说明授权与可执行权限使用 Crontab 定时执行编辑 Crontab添加定

SpringBoot全局域名替换的实现

《SpringBoot全局域名替换的实现》本文主要介绍了SpringBoot全局域名替换的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录 项目结构⚙️ 配置文件application.yml️ 配置类AppProperties.Ja

Java使用Javassist动态生成HelloWorld类

《Java使用Javassist动态生成HelloWorld类》Javassist是一个非常强大的字节码操作和定义库,它允许开发者在运行时创建新的类或者修改现有的类,本文将简单介绍如何使用Javass... 目录1. Javassist简介2. 环境准备3. 动态生成HelloWorld类3.1 创建CtC

JavaScript中的高级调试方法全攻略指南

《JavaScript中的高级调试方法全攻略指南》什么是高级JavaScript调试技巧,它比console.log有何优势,如何使用断点调试定位问题,通过本文,我们将深入解答这些问题,带您从理论到实... 目录观点与案例结合观点1观点2观点3观点4观点5高级调试技巧详解实战案例断点调试:定位变量错误性能分

Java实现将HTML文件与字符串转换为图片

《Java实现将HTML文件与字符串转换为图片》在Java开发中,我们经常会遇到将HTML内容转换为图片的需求,本文小编就来和大家详细讲讲如何使用FreeSpire.DocforJava库来实现这一功... 目录前言核心实现:html 转图片完整代码场景 1:转换本地 HTML 文件为图片场景 2:转换 H

Java使用jar命令配置服务器端口的完整指南

《Java使用jar命令配置服务器端口的完整指南》本文将详细介绍如何使用java-jar命令启动应用,并重点讲解如何配置服务器端口,同时提供一个实用的Web工具来简化这一过程,希望对大家有所帮助... 目录1. Java Jar文件简介1.1 什么是Jar文件1.2 创建可执行Jar文件2. 使用java

C#使用Spire.Doc for .NET实现HTML转Word的高效方案

《C#使用Spire.Docfor.NET实现HTML转Word的高效方案》在Web开发中,HTML内容的生成与处理是高频需求,然而,当用户需要将HTML页面或动态生成的HTML字符串转换为Wor... 目录引言一、html转Word的典型场景与挑战二、用 Spire.Doc 实现 HTML 转 Word1

SpringBoot实现不同接口指定上传文件大小的具体步骤

《SpringBoot实现不同接口指定上传文件大小的具体步骤》:本文主要介绍在SpringBoot中通过自定义注解、AOP拦截和配置文件实现不同接口上传文件大小限制的方法,强调需设置全局阈值远大于... 目录一  springboot实现不同接口指定文件大小1.1 思路说明1.2 工程启动说明二 具体实施2