基于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主!!

😁 联系方式

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/789993.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pytest--python的一种测试框架--接口测试

接口测试 工具&#xff1a; POSTMAN&#xff1b; 接口选择&#xff1a; 豆瓣电影&#xff0c;进制数据 POSTMAN下载&#xff1a; 1.POSTMAN官网&#xff1a;https://www.postman.com/products/&#xff1b; 2.点product选Download Postman 下载完之后双击打开就可以用的。…

C 从函数返回指针

我们已经了解了 C 语言中如何从函数返回数组&#xff0c;类似地&#xff0c;C 允许您从函数返回指针。为了做到这点&#xff0c;您必须声明一个返回指针的函数&#xff0c;如下所示&#xff1a; int * myFunction() { . . . }另外&#xff0c;C 语言不支持在调用函数时返回局部…

Element-Plus日期选择组件封装农历日期

背景 在使用element-plus开发项目过程中&#xff0c;需要填入人员的生卒日期&#xff0c;经观察&#xff0c;对于大部分人来说&#xff0c;这类日期通常是农历日期&#xff0c;然而我们在系统建设过程中&#xff0c;对于日期字段&#xff0c;约定成俗的都会使用公历日期&#…

Lecture 1 - Introduction

Lecture 1 - Introduction MIT 6.824 Distributed Systems 1、概念预览 分布式系统需要考虑的因素&#xff1a; Parallelism &#xff1a;并行性Fault tolerence &#xff1a;容错性Physicial &#xff1a;不同系统之间物理距离引起的通信问题Security &#xff1a;不同的计…

封装一个vue3的公共组件

在Vue 3中&#xff0c;封装公共组件的场景包括但不限于以下几种情况&#xff1a; 重复使用的组件&#xff1a;如果你发现某个组件在多个地方重复使用&#xff0c;那么将其封装成公共组件是很有意义的。比如&#xff0c;页面中的各种表单控件&#xff08;输入框、下拉框、日期选…

MySQL 数据学习笔记速查表(视图、存储过程、事务)

文章目录 十三、视图1、视图是什么&#xff1f;2、视图的特性&#xff1f;3、视图的作用&#xff1f;4、视图的用途&#xff1f;5、视图的使用&#xff1f;1、基本语法2、创建视图3、调用视图4、视图练习(1) 利用试图简化复杂的联结(2) 利用视图重新格式化检索出的数据(3) 利用…

Django详细教程(一) - 基本操作

文章目录 前言一、安装Django二、创建项目1.终端创建项目2.Pycharm创建项目&#xff08;专业版才可以&#xff09;3.默认文件介绍 三、创建app1.app介绍2.默认文件介绍 四、快速上手1.写一个网页步骤1&#xff1a;注册app 【settings.py】步骤2&#xff1a;编写URL和视图函数对…

npm发布自己的插件包

发布npm包 新建文件目录例如npm-test&#xff0c;目录中打开命令行初始化package.json文件 npm init name&#xff1a;作为发布包的名字 version&#xff1a;版本号 main&#xff1a;入口文件名 {"name": "name202403311748","version": "…

Node爬虫:原理简介

在数字化时代&#xff0c;网络爬虫作为一种自动化收集和分析网络数据的技术&#xff0c;得到了广泛的应用。Node.js&#xff0c;以其异步I/O模型和事件驱动的特性&#xff0c;成为实现高效爬虫的理想选择。然而&#xff0c;爬虫在收集数据时&#xff0c;往往面临着诸如反爬虫机…

OSPF-基础、虚链路、overflow,缺省

OSPF 1、OSPF基础 2、区域内的路由计算 3、区域间的路由计算&#xff08;矢量&#xff09;&#xff08;区域间的防环原则&#xff09; 3.1、非骨干区域都与骨干区域相连。 3.2、骨干区域不会接收非骨干的3类LSA。 3.3、无论COST&#xff0c;1类LSA总是由于3类LSA。 ABR&…

如何读毛选

原因 这就涉及到mx该怎么读这个问题。拿起书来&#xff0c;凭着一股子热情&#xff0c;就一页页往下读可行吗&#xff1f;我想大概会半途而废&#xff0c;原因有二。 其一&#xff0c;mx中蕴含的思想是具有恒久价值的&#xff0c;但一定的思想必须通过一定的文字表达出来&#…

我爱我缓慢向上的勇气

勇气的觉醒 曾经&#xff0c;我也像许多人一样&#xff0c;害怕失败&#xff0c;害怕被人嘲笑&#xff0c;害怕面对困难。每当遇到挑战&#xff0c;我的内心就会充满恐惧和犹豫。但是&#xff0c;随着时间的推移&#xff0c;我逐渐意识到&#xff0c;这些恐惧和犹豫并不能帮助…

数据结构--稀疏数组

package com.dhu.sparsearray;public class SparseArrsy {public static void main(String[] args) {int chessArr1[][] new int[11][11];chessArr1[1][2] 1;chessArr1[2][3] 2;chessArr1[3][4] 11;System.out.printf("原始二维数组");for (int[] row : chessArr…

快消企业数字化转型实战解析:探寻未来增长新动力

2024年&#xff0c;快消行业正站在数字化转型的风口浪尖。 “今年是过去十年最差的一年&#xff0c;但却可能是未来十年最好的一年。”这句话几乎成为了今年的流行语。 但是这句话是情绪&#xff0c;不是事实。未来十年&#xff0c;中国会成为全球最大的消费品市场&#xff0…

[Pytorch]:PyTorch中张量乘法大全

在 PyTorch 中&#xff0c;有多种方法可以执行张量之间的乘法。这里列出了一些常见的乘法操作&#xff1a; 总结&#xff1a; 逐元素乘法&#xff1a;*ortorch.mul()矩阵乘法&#xff1a;ortorch.mm()ortorch.matmul()点积&#xff1a;torch.Tensor.dot()批量矩阵乘法&#xff…

北方经贸经济类知网收录月刊投稿发表论文

《北方经贸》期刊是由国家新闻出版总署批准&#xff0c;黑龙江省教育厅主管&#xff0c;黑龙江省经济管理干部学院主办的经济类综合期刊。期刊融理论性、知识性、实践性于一体&#xff0c;立足龙江&#xff0c;辐射全国&#xff0c;面向世界&#xff0c;注重研究解决重大现实理…

C++消息队列的基本实现

在C中&#xff0c;并没有直接提供消息队列&#xff08;Message Queue&#xff09;的标准库实现。但是&#xff0c;你可以使用std::queue与std::mutex&#xff08;或std::lock_guard&#xff09;、std::condition_variable等工具自己实现一个简单的线程安全消息队列。以下是一个…

vulnhub靶机: DC-9

dc-9靶机下载 将靶机设置为NAT模式&#xff0c;本次实验使用的内网网段为192.168.198.0/24&#xff0c;kali的ip为192.168.198.172 信息搜集 ip主机扫描&#xff1a; nmap -sP 192.168.198.0/24 确定靶机ip为192.168.198.171 主机端口扫描&#xff1a; nmap -T4 -A -v 192…

python基础——模块【模块的介绍,模块的导入,自定义模块,*和__all__,__name__和__main__】

&#x1f4dd;前言&#xff1a; 这篇文章主要讲解一下python基础中的关于模块的导入&#xff1a; 1&#xff0c;模块的介绍 2&#xff0c;模块的导入方式 3&#xff0c;自定义模块 &#x1f3ac;个人简介&#xff1a;努力学习ing &#x1f4cb;个人专栏&#xff1a;C语言入门基…

嵌入式开发中,通过终端控制芯片GPIO电平

echo 204 > /sys/class/gpio/export 这个命令是在 Linux 系统中用于向 GPIO&#xff08;通用输入输出&#xff09;子系统注册一个 GPIO 引脚。GPIO 是一种用于与外部设备通信的通用硬件接口&#xff0c;可以通过读写 GPIO 引脚的状态来与外部设备进行通信&#xff0c;如传感…