一、项目简介
项目编号:BS-GX-037
本项目在Springboot+vue的基础上实现了一套宿舍管理系统,系统的整体设计是基于前后端分离的开发模式,前后端通过接口相互调用, 实现有效隔离。系统用户主要包括三类:管理员、学生和宿舍管理员。
1.1 管理员的主要功能:
用户管理:主要包括学生管理和宿舍管理员管理
宿舍管理:主要包括建筑管理和宿舍房间管理
信息管理:主要包括公告管理和宿舍维修管理
申请管理:主要包括学生宿舍管理的调整
访客管理:主要包括外人到宿舍的管理
个人管理:管理当前用户的个人信息
1.2 学生的主要功能
我的宿舍:查看当前学生的宿舍信息
宿舍转移申请:宿舍转移申请,宿舍管理员审批等待
维修申请:宿舍损坏的物品可以申请维修
个人信息:管理当前用户的个人信息
1.3 宿舍管理员的功能
用户管理:主要包括学生管理
宿舍管理:主要包括建筑管理和宿舍房间管理
信息管理:主要包括公告管理和宿舍维修管理
申请管理:主要包括学生宿舍管理的调整
访客管理:主要包括外人到宿舍的管理
个人管理:管理当前用户的个人信息
二、环境介绍语言环境:Java: jdk1.8
数据库:Mysql: mysql5.7
应用服务器:Tomcat: tomcat8.5.31
开发工具:IDEA或IDEAeclipse
前端开发: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<DormBuild> buildingName = dormBuildService.getBuildingId(); List<Integer> 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<Long> 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", “没有这个房间”; } }}
五、项目总结
项目的整体功能 完整,界面简洁大方,前后端分离的使用方式更符合当前发展的主流趋势,更适合毕业设计。