作者主页:编程指南针
作者简介: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<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", "不存在该房间");
}
}
}
五,项目总结
?项目整体功能 完整,界面简洁大方,使用的前后端分离的方式也比较符合现在开发的主流趋势,比较适合做毕业设计使用。
|