文章目錄
- 宿舍管理系統
- 一、項目演示
- 二、項目介紹
- 三、八千字項目文檔
- 四、部分功能截圖
- 五、部分代碼展示
- 六、底部獲取項目源碼和8000字論文參考(9.9¥帶走)
宿舍管理系統
一、項目演示
宿舍管理系統
二、項目介紹
基于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 {@Resourceprivate 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 {@Resourceprivate 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 {@Resourceprivate 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);//存入sessionsession.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層對象*/@Resourceprivate NoticeMapper noticeMapper;/*** 公告添加*/@Overridepublic int addNewNotice(Notice notice) {int insert = noticeMapper.insert(notice);return insert;}/*** 公告查找*/@Overridepublic 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;}/*** 公告更新*/@Overridepublic int updateNewNotice(Notice notice) {int i = noticeMapper.updateById(notice);return i;}/*** 公告刪除*/@Overridepublic int deleteNotice(Integer id) {int i = noticeMapper.deleteById(id);return i;}/*** 首頁公告展示*/@Overridepublic List<?> homePageNotice() {QueryWrapper<Notice> qw = new QueryWrapper<>();qw.orderByDesc("release_time");List<Notice> noticeList = noticeMapper.selectList(qw);return noticeList;}
}
六、底部獲取項目源碼和8000字論文參考(9.9¥帶走)
有問題,或者需要協助調試運行項目的也可以