> 文档中心 > 基于springboot+vue前后端分离开发实现宿舍管理系统

基于springboot+vue前后端分离开发实现宿舍管理系统


作者主页:编程指南针

作者简介:Java领域优质创作者、CSDN博客专家 、掘金特邀作者、多年架构师设计经验、腾讯课堂常驻讲师

主要内容:Java项目、毕业设计、简历模板、学习资料、面试题库、技术互助

文末获取源码 

一,项目简介

项目编号:BS-GX-037

       本项目基于Springboot+vue开发实现了一套宿舍管理系统,系统整体设计基于前后端分离的开发模式,前后端通过接口来相互调用, 实现有效的隔离。系统用户主要包含三类:管理员、学生、宿舍管理员简称为宿管。

1.1 管理员主要功能:

     用户管理:主要包含学生管理和宿舍管理员管理

     宿舍管理:主要包含楼宇管理和宿舍房间管理

     信息管理:主要包含公告管理和宿舍报修管理

     申请管理:主要包含学生调剂宿舍管理

     访客管理:主要包含外人到访宿舍的管理

     个人管理:管理当前用户的个人信息

1.2 学生主要功能

     我的宿舍:查看当前学生自己所在的宿舍信息

     申请调宿舍:申请调剂宿舍,等待宿舍管理员审批

     报修申请:宿舍内有损坏的物品可以申请维修

     个人信息:管理当前用户的个人信息

1.3  宿舍管理员功能

     用户管理:主要包含学生管理

     宿舍管理:主要包含楼宇管理和宿舍房间管理

     信息管理:主要包含公告管理和宿舍报修管理

     申请管理:主要包含学生调剂宿舍管理

     访客管理:主要包含外人到访宿舍的管理

     个人管理:管理当前用户的个人信息

二,环境介绍

语言环境:Java:  jdk1.8

数据库:Mysql: mysql5.7

应用服务器:Tomcat:  tomcat8.5.31

开发工具:IDEA或eclipse

前端开发:VUE+Element

后端开发:Springboot+sprinmvc+mybatis-plus

三,系统展示

用户登陆

管理首页

学生管理

宿管管理

楼宇管理

房间管理

公告管理

报修管理

宿舍调剂管理

访客管理

个人信息管理

宿管人员的主要功能

学生的主要功能模块

 

四,核心代码展示

package com.example.springboot.controller;import com.baomidou.mybatisplus.extension.plugins.pagination.Page;import com.example.springboot.common.Result;import com.example.springboot.entity.AdjustRoom;import com.example.springboot.service.AdjustRoomService;import com.example.springboot.service.DormRoomService;import org.springframework.web.bind.annotation.*;import javax.annotation.Resource;/ * znz */@RestController@RequestMapping("/adjustRoom")public class AdjustRoomController {    @Resource    private AdjustRoomService adjustRoomService;    @Resource    private DormRoomService dormRoomService;    /     * 添加订单     */    @PostMapping("/add")    public Result add(@RequestBody AdjustRoom adjustRoom) { int result = adjustRoomService.addApply(adjustRoom); if (result == 1) {     return Result.success(); } else {     return Result.error("-1", "查询失败"); }    }    /     * 更新订单     */    @PutMapping("/update/{state}")    public Result update(@RequestBody AdjustRoom adjustRoom, @PathVariable Boolean state) { if (state) {     // 更新房间表信息     int i = dormRoomService.adjustRoomUpdate(adjustRoom);     if (i == -2) {  return Result.error("-1", "重复操作");     } } //更新调宿表信息 int i = adjustRoomService.updateApply(adjustRoom); if (i == 1) {     return Result.success(); } else {     return Result.error("-1", "更新失败"); }    }    /     * 删除订单     */    @DeleteMapping("/delete/{id}")    public Result delete(@PathVariable Integer id) { int i = adjustRoomService.deleteAdjustment(id); if (i == 1) {     return Result.success(); } else {     return Result.error("-1", "删除失败"); }    }    /     * 查找订单     */    @GetMapping("/find")    public Result findPage(@RequestParam(defaultValue = "1") Integer pageNum,  @RequestParam(defaultValue = "10") Integer pageSize,  @RequestParam(defaultValue = "") String search) { Page page = adjustRoomService.find(pageNum, pageSize, search); if (page != null) {     return Result.success(page); } else {     return Result.error("-1", "查询失败"); }    }}
package com.example.springboot.controller;import com.example.springboot.common.Result;import com.example.springboot.common.UID;import com.example.springboot.entity.Admin;import com.example.springboot.entity.User;import com.example.springboot.service.AdminService;import org.springframework.web.bind.annotation.*;import javax.annotation.Resource;import javax.servlet.http.HttpSession;@RestController@RequestMapping("/admin")public class AdminController {    String uid = new UID().produceUID();    @Resource    private AdminService adminService;    /     * 管理员登录     */    @PostMapping("/login")    public Result login(@RequestBody User user, HttpSession session) { Object o = adminService.adminLogin(user.getUsername(), user.getPassword()); if (o != null) {     System.out.println(o);     //存入session     session.setAttribute("Identity", "admin");     session.setAttribute("User", o);     return Result.success(o); } else {     return Result.error("-1", "用户名或密码错误"); }    }    /     * 管理员信息更新     */    @PutMapping("/update")    public Result update(@RequestBody Admin admin) { int i = adminService.updateAdmin(admin); if (i == 1) {     return Result.success(); } else {     return Result.error("-1", "更新失败"); }    }}
package com.example.springboot.controller;import com.baomidou.mybatisplus.extension.plugins.pagination.Page;import com.example.springboot.common.Result;import com.example.springboot.entity.DormBuild;import com.example.springboot.service.DormBuildService;import org.springframework.web.bind.annotation.*;import javax.annotation.Resource;import java.util.List;import java.util.stream.Collectors;@RestController@RequestMapping("/building")public class DormBuildController {    @Resource    private DormBuildService dormBuildService;    /     * 楼宇添加     */    @PostMapping("/add")    public Result add(@RequestBody DormBuild dormBuild) { int i = dormBuildService.addNewBuilding(dormBuild); if (i == 1) {     return Result.success(); } else {     return Result.error("-1", "添加失败"); }    }    /     * 楼宇信息更新     */    @PutMapping("/update")    public Result update(@RequestBody DormBuild dormBuild) { int i = dormBuildService.updateNewBuilding(dormBuild); if (i == 1) {     return Result.success(); } else {     return Result.error("-1", "更新失败"); }    }    /     * 楼宇删除     */    @DeleteMapping("/delete/{dormBuildId}")    public Result delete(@PathVariable Integer dormBuildId) { int i = dormBuildService.deleteBuilding(dormBuildId); if (i == 1) {     return Result.success(); } else {     return Result.error("-1", "删除失败"); }    }    /     * 楼宇查找     */    @GetMapping("/find")    public Result findPage(@RequestParam(defaultValue = "1") Integer pageNum,  @RequestParam(defaultValue = "10") Integer pageSize,  @RequestParam(defaultValue = "") String search) { Page page = dormBuildService.find(pageNum, pageSize, search); if (page != null) {     return Result.success(page); } else {     return Result.error("-1", "查询失败"); }    }    /     * 首页Echarts 获取楼宇信息     */    @GetMapping("/getBuildingName")    public Result getBuildingName() { List buildingName = dormBuildService.getBuildingId(); List buildingId = buildingName.stream().map(dormBuildId -> dormBuildId.getDormBuildId()).collect(Collectors.toList()); if (!buildingId.isEmpty()) {     return Result.success(buildingId); } else {     return Result.error("-1", "查询失败"); }    }}
package com.example.springboot.controller;import com.baomidou.mybatisplus.extension.plugins.pagination.Page;import com.example.springboot.common.Result;import com.example.springboot.entity.DormManager;import com.example.springboot.entity.User;import com.example.springboot.service.DormManagerService;import org.springframework.web.bind.annotation.*;import javax.annotation.Resource;import javax.servlet.http.HttpSession;@RestController@RequestMapping("/dormManager")public class DormManagerController {    @Resource    private DormManagerService dormManagerService;    /     * 宿管添加     */    @PostMapping("/add")    public Result add(@RequestBody DormManager dormManager) { int i = dormManagerService.addNewDormManager(dormManager); if (i == 1) {     return Result.success(); } else {     return Result.error("-1", "添加失败"); }    }    /     * 宿管信息更新     */    @PutMapping("/update")    public Result update(@RequestBody DormManager dormManager) { int i = dormManagerService.updateNewDormManager(dormManager); if (i == 1) {     return Result.success(); } else {     return Result.error("-1", "更新失败"); }    }    /     * 宿管删除     */    @DeleteMapping("/delete/{username}")    public Result delete(@PathVariable String username) { int i = dormManagerService.deleteDormManager(username); if (i == 1) {     return Result.success(); } else {     return Result.error("-1", "删除失败"); }    }    /     * 宿管查找     */    @GetMapping("/find")    public Result findPage(@RequestParam(defaultValue = "1") Integer pageNum,  @RequestParam(defaultValue = "10") Integer pageSize,  @RequestParam(defaultValue = "") String search) { Page page = dormManagerService.find(pageNum, pageSize, search); if (page != null) {     return Result.success(page); } else {     return Result.error("-1", "查询失败"); }    }    /     * 宿管登录     */    @PostMapping("/login")    public Result login(@RequestBody User user, HttpSession session) { Object o = dormManagerService.dormManagerLogin(user.getUsername(), user.getPassword()); if (o != null) {     System.out.println(o);     //存入session     session.setAttribute("Identity", "dormManager");     session.setAttribute("User", o);     return Result.success(o); } else {     return Result.error("-1", "用户名或密码错误"); }    }}

package com.example.springboot.controller;import com.baomidou.mybatisplus.extension.plugins.pagination.Page;import com.example.springboot.common.Result;import com.example.springboot.entity.DormRoom;import com.example.springboot.service.DormRoomService;import org.springframework.web.bind.annotation.*;import javax.annotation.Resource;import java.util.ArrayList;@RestController@RequestMapping("/room")public class DormRoomController {    @Resource    private DormRoomService dormRoomService;    /     * 添加房间     */    @PostMapping("/add")    public Result add(@RequestBody DormRoom dormRoom) { int i = dormRoomService.addNewRoom(dormRoom); if (i == 1) {     return Result.success(); } else {     return Result.error("-1", "添加失败"); }    }    /     * 更新房间     */    @PutMapping("/update")    public Result update(@RequestBody DormRoom dormRoom) { int i = dormRoomService.updateNewRoom(dormRoom); if (i == 1) {     return Result.success(); } else {     return Result.error("-1", "更新失败"); }    }    /     * 删除房间     */    @DeleteMapping("/delete/{dormRoomId}")    public Result delete(@PathVariable Integer dormRoomId) { int i = dormRoomService.deleteRoom(dormRoomId); if (i == 1) {     return Result.success(); } else {     return Result.error("-1", "删除失败"); }    }    /     * 查找房间     */    @GetMapping("/find")    public Result findPage(@RequestParam(defaultValue = "1") Integer pageNum,  @RequestParam(defaultValue = "10") Integer pageSize,  @RequestParam(defaultValue = "") String search) { Page page = dormRoomService.find(pageNum, pageSize, search); if (page != null) {     return Result.success(page); } else {     return Result.error("-1", "查询失败"); }    }    /     * 首页顶部:空宿舍统计     */    @GetMapping("/noFullRoom")    public Result noFullRoom() { int num = dormRoomService.notFullRoom(); if (num >= 0) {     return Result.success(num); } else {     return Result.error("-1", "空宿舍查询失败"); }    }    /     * 删除床位学生信息     */    @DeleteMapping("/delete/{bedName}/{dormRoomId}/{calCurrentNum}")    public Result deleteBedInfo(@PathVariable String bedName, @PathVariable Integer dormRoomId, @PathVariable int calCurrentNum) { int i = dormRoomService.deleteBedInfo(bedName, dormRoomId, calCurrentNum); if (i == 1) {     return Result.success(); } else {     return Result.error("-1", "删除失败"); }    }    /     * 床位信息,查询该学生是否已由床位     */    @GetMapping("/judgeHadBed/{value}")    public Result judgeHadBed(@PathVariable String value) { DormRoom dormRoom = dormRoomService.judgeHadBed(value); if (dormRoom == null) {     return Result.success(); } else {     return Result.error("-1", "该学生已有宿舍"); }    }    /     * 主页 住宿人数     */    @GetMapping("/selectHaveRoomStuNum")    public Result selectHaveRoomStuNum() { Long count = dormRoomService.selectHaveRoomStuNum(); if (count >= 0) {     return Result.success(count); } else {     return Result.error("-1", "查询首页住宿人数失败"); }    }    /     * 住宿分布人数     */    @GetMapping("/getEachBuildingStuNum/{num}")    public Result getEachBuildingStuNum(@PathVariable int num) { ArrayList arrayList = new ArrayList(); for (int i = 1; i <= num; i++) {     Long eachBuildingStuNum = dormRoomService.getEachBuildingStuNum(i);     arrayList.add(eachBuildingStuNum); } if (!arrayList.isEmpty()) {     return Result.success(arrayList); } else {     return Result.error("-1", "获取人数失败"); }    }    /     * 学生功能: 我的宿舍     */    @GetMapping("/getMyRoom/{name}")    public Result getMyRoom(@PathVariable String name) { DormRoom dormRoom = dormRoomService.judgeHadBed(name); if (dormRoom != null) {     return Result.success(dormRoom); } else {     return Result.error("-1", "不存在该生"); }    }    /     * 检查房间是否满员     */    @GetMapping("/checkRoomState/{dormRoomId}")    public Result checkRoomState(@PathVariable Integer dormRoomId) { DormRoom dormRoom = dormRoomService.checkRoomState(dormRoomId); if (dormRoom != null) {     return Result.success(dormRoom); } else {     return Result.error("-1", "该房间人满了"); }    }    /     * 检查床位是否已经有人     */    @GetMapping("/checkBedState/{dormRoomId}/{bedNum}")    public Result getMyRoom(@PathVariable Integer dormRoomId, @PathVariable int bedNum) { DormRoom dormRoom = dormRoomService.checkBedState(dormRoomId, bedNum); if (dormRoom != null) {     return Result.success(dormRoom); } else {     return Result.error("-1", "该床位已有人"); }    }    /     * 检查房间是否满员     */    @GetMapping("/checkRoomExist/{dormRoomId}")    public Result checkRoomExist(@PathVariable Integer dormRoomId) { DormRoom dormRoom = dormRoomService.checkRoomExist(dormRoomId); if (dormRoom != null) {     return Result.success(dormRoom); } else {     return Result.error("-1", "不存在该房间"); }    }}

五,项目总结

 项目整体功能 完整,界面简洁大方,使用的前后端分离的方式也比较符合现在开发的主流趋势,比较适合做毕业设计使用。