宿舍管理系统
一、项目演示
宿舍管理系统
二、项目介绍
基于springboot+vue的前后端分离宿舍管理系统
系统角色 : 系统管理员、宿舍管理员、学生
系统管理员:首页、用户管理(学生\宿管信息)、宿舍管理、信息管理(公告\报修信息)、调宿申请、访客管理、个人信息
宿舍管理员:首页、用户管理,宿舍管理、报修信息、调宿管理、访客管理、个人信息
学生:首页、我的宿舍、申请调宿、报修申请、个人信息
项目技术
语言:java
前端技术:Vue、 ELementUI、echarts
后端技术:SpringBoot、Mybatis-Plus
数据库:MySQL
三、八千字项目文档
四、部分功能截图
五、部分代码展示
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.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", "不存在该房间");
}
}
}
package com.example.springboot.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.example.springboot.common.Result;
import com.example.springboot.entity.Student;
import com.example.springboot.entity.User;
import com.example.springboot.service.StudentService;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpSession;
@RestController
@RequestMapping("/stu")
public class StudentController {
@Resource
private StudentService studentService;
/**
* 添加学生信息
*/
@PostMapping("/add")
public Result<?> add(@RequestBody Student student) {
int i = studentService.addNewStudent(student);
if (i == 1) {
return Result.success();
} else {
return Result.error("-1", "添加失败");
}
}
/**
* 更新学生信息
*/
@PutMapping("/update")
public Result<?> update(@RequestBody Student student) {
int i = studentService.updateNewStudent(student);
if (i == 1) {
return Result.success();
} else {
return Result.error("-1", "更新失败");
}
}
/**
* 删除学生信息
*/
@DeleteMapping("/delete/{username}")
public Result<?> delete(@PathVariable String username) {
int i = studentService.deleteStudent(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 = studentService.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) {
System.out.println(user.getUsername());
System.out.println(user.getPassword());
Object o = studentService.stuLogin(user.getUsername(), user.getPassword());
if (o != null) {
System.out.println(o);
//存入session
session.setAttribute("Identity", "stu");
session.setAttribute("User", o);
return Result.success(o);
} else {
return Result.error("-1", "用户名或密码错误");
}
}
/**
* 主页顶部:学生统计
*/
@GetMapping("/stuNum")
public Result<?> stuNum() {
int num = studentService.stuNum();
if (num > 0) {
return Result.success(num);
} else {
return Result.error("-1", "查询失败");
}
}
/**
* 床位信息,查询是否存在该学生
* 床位信息,查询床位上的学生信息
*/
@GetMapping("/exist/{value}")
public Result<?> exist(@PathVariable String value) {
Student student = studentService.stuInfo(value);
if (student != null) {
return Result.success(student);
} else {
return Result.error("-1", "不存在该学生");
}
}
}
package com.example.springboot.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.example.springboot.entity.Notice;
import com.example.springboot.mapper.NoticeMapper;
import com.example.springboot.service.NoticeService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
@Service
public class NoticeServiceImpl extends ServiceImpl<NoticeMapper, Notice> implements NoticeService {
/**
* 注入DAO层对象
*/
@Resource
private NoticeMapper noticeMapper;
/**
* 公告添加
*/
@Override
public int addNewNotice(Notice notice) {
int insert = noticeMapper.insert(notice);
return insert;
}
/**
* 公告查找
*/
@Override
public Page find(Integer pageNum, Integer pageSize, String search) {
Page page = new Page<>(pageNum, pageSize);
QueryWrapper<Notice> qw = new QueryWrapper<>();
qw.like("title", search);
Page noticePage = noticeMapper.selectPage(page, qw);
return noticePage;
}
/**
* 公告更新
*/
@Override
public int updateNewNotice(Notice notice) {
int i = noticeMapper.updateById(notice);
return i;
}
/**
* 公告删除
*/
@Override
public int deleteNotice(Integer id) {
int i = noticeMapper.deleteById(id);
return i;
}
/**
* 首页公告展示
*/
@Override
public List<?> homePageNotice() {
QueryWrapper<Notice> qw = new QueryWrapper<>();
qw.orderByDesc("release_time");
List<Notice> noticeList = noticeMapper.selectList(qw);
return noticeList;
}
}
六、底部获取项目源码和8000字论文参考(9.9¥带走)
有问题,或者需要协助调试运行项目的也可以