基于springboot+vue前后端分離開發(fā)實(shí)現(xiàn)宿舍管理系統(tǒng)
作者主頁:
作者簡介:Java領(lǐng)域優(yōu)質(zhì)創(chuàng)作者、CSDN博客專家 、掘金特邀作者、多年架構(gòu)師設(shè)計(jì)經(jīng)驗(yàn)、騰訊課堂常駐講師
主要內(nèi)容:Java項(xiàng)目、畢業(yè)設(shè)計(jì)、簡歷模板、學(xué)習(xí)資料、面試題庫、技術(shù)互助
文末獲取源碼?
一,項(xiàng)目簡介
項(xiàng)目編號:BS-GX-037
?????? 本項(xiàng)目基于Springboot+vue開發(fā)實(shí)現(xiàn)了一套宿舍管理系統(tǒng),系統(tǒng)整體設(shè)計(jì)基于前后端分離的開發(fā)模式,前后端通過接口來相互調(diào)用, 實(shí)現(xiàn)有效的隔離。系統(tǒng)用戶主要包含三類:管理員、學(xué)生、宿舍管理員簡稱為宿管。
1.1 管理員主要功能:
???? 用戶管理:主要包含學(xué)生管理和宿舍管理員管理
???? 宿舍管理:主要包含樓宇管理和宿舍房間管理
???? 信息管理:主要包含公告管理和宿舍報(bào)修管理
???? 申請管理:主要包含學(xué)生調(diào)劑宿舍管理
??? ?訪客管理:主要包含外人到訪宿舍的管理
??? ?個(gè)人管理:管理當(dāng)前用戶的個(gè)人信息
1.2 學(xué)生主要功能
???? 我的宿舍:查看當(dāng)前學(xué)生自己所在的宿舍信息
???? 申請調(diào)宿舍:申請調(diào)劑宿舍,等待宿舍管理員審批
???? 報(bào)修申請:宿舍內(nèi)有損壞的物品可以申請維修
???? 個(gè)人信息:管理當(dāng)前用戶的個(gè)人信息
1.3? 宿舍管理員功能
???? 用戶管理:主要包含學(xué)生管理
???? 宿舍管理:主要包含樓宇管理和宿舍房間管理
???? 信息管理:主要包含公告管理和宿舍報(bào)修管理
???? 申請管理:主要包含學(xué)生調(diào)劑宿舍管理
??? ?訪客管理:主要包含外人到訪宿舍的管理
??? ?個(gè)人管理:管理當(dāng)前用戶的個(gè)人信息
二,環(huán)境介紹
語言環(huán)境:Java:? jdk1.8
數(shù)據(jù)庫:Mysql: mysql5.7
應(yīng)用服務(wù)器:Tomcat:? tomcat8.5.31
開發(fā)工具:IDEA或eclipse
前端開發(fā):VUE+Element
后端開發(fā):Springboot+sprinmvc+mybatis-plus
三,系統(tǒng)展示
用戶登陸

管理首頁

學(xué)生管理

宿管管理

樓宇管理

房間管理

公告管理

報(bào)修管理

宿舍調(diào)劑管理

訪客管理

個(gè)人信息管理

宿管人員的主要功能

學(xué)生的主要功能模塊

四,核心代碼展示
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
*/public class AdjustRoomController { ? ?
? ?private AdjustRoomService adjustRoomService; ? ?
? ?private DormRoomService dormRoomService; ? ?/**
? ? * 添加訂單
? ? */
? ?
? ?public Result<?> add( AdjustRoom adjustRoom) { ? ? ? ?int result = adjustRoomService.addApply(adjustRoom); ? ? ? ?if (result == 1) { ? ? ? ? ? ?return Result.success();
? ? ? ?} else { ? ? ? ? ? ?return Result.error("-1", "查詢失敗");
? ? ? ?}
? ?} ? ?/**
? ? * 更新訂單
? ? */
? ?
? ?public Result<?> update( AdjustRoom adjustRoom, Boolean state) { ? ? ? ?if (state) { ? ? ? ? ? ?// 更新房間表信息
? ? ? ? ? ?int i = dormRoomService.adjustRoomUpdate(adjustRoom); ? ? ? ? ? ?if (i == -2) { ? ? ? ? ? ? ? ?return Result.error("-1", "重復(fù)操作");
? ? ? ? ? ?}
? ? ? ?} ? ? ? ?//更新調(diào)宿表信息
? ? ? ?int i = adjustRoomService.updateApply(adjustRoom); ? ? ? ?if (i == 1) { ? ? ? ? ? ?return Result.success();
? ? ? ?} else { ? ? ? ? ? ?return Result.error("-1", "更新失敗");
? ? ? ?}
? ?} ? ?/**
? ? * 刪除訂單
? ? */
? ?
? ?public Result<?> delete( Integer id) { ? ? ? ?int i = adjustRoomService.deleteAdjustment(id); ? ? ? ?if (i == 1) { ? ? ? ? ? ?return Result.success();
? ? ? ?} else { ? ? ? ? ? ?return Result.error("-1", "刪除失敗");
? ? ? ?}
? ?} ? ?/**
? ? * 查找訂單
? ? */
? ?
? ?public Result<?> findPage( Integer pageNum, ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Integer pageSize, ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 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;public class AdminController { ? ?String uid = new UID().produceUID(); ? ?
? ?private AdminService adminService; ? ?/**
? ? * 管理員登錄
? ? */
? ?
? ?public Result<?> login( 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", "用戶名或密碼錯(cuò)誤");
? ? ? ?}
? ?} ? ?/**
? ? * 管理員信息更新
? ? */
? ?
? ?public Result<?> update( 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;public class DormBuildController { ? ?
? ?private DormBuildService dormBuildService; ? ?/**
? ? * 樓宇添加
? ? */
? ?
? ?public Result<?> add( DormBuild dormBuild) { ? ? ? ?int i = dormBuildService.addNewBuilding(dormBuild); ? ? ? ?if (i == 1) { ? ? ? ? ? ?return Result.success();
? ? ? ?} else { ? ? ? ? ? ?return Result.error("-1", "添加失敗");
? ? ? ?}
? ?} ? ?/**
? ? * 樓宇信息更新
? ? */
? ?
? ?public Result<?> update( DormBuild dormBuild) { ? ? ? ?int i = dormBuildService.updateNewBuilding(dormBuild); ? ? ? ?if (i == 1) { ? ? ? ? ? ?return Result.success();
? ? ? ?} else { ? ? ? ? ? ?return Result.error("-1", "更新失敗");
? ? ? ?}
? ?} ? ?/**
? ? * 樓宇刪除
? ? */
? ?
? ?public Result<?> delete( Integer dormBuildId) { ? ? ? ?int i = dormBuildService.deleteBuilding(dormBuildId); ? ? ? ?if (i == 1) { ? ? ? ? ? ?return Result.success();
? ? ? ?} else { ? ? ? ? ? ?return Result.error("-1", "刪除失敗");
? ? ? ?}
? ?} ? ?/**
? ? * 樓宇查找
? ? */
? ?
? ?public Result<?> findPage( Integer pageNum, ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Integer pageSize, ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? String search) { ? ? ? ?Page page = dormBuildService.find(pageNum, pageSize, search); ? ? ? ?if (page != null) { ? ? ? ? ? ?return Result.success(page);
? ? ? ?} else { ? ? ? ? ? ?return Result.error("-1", "查詢失敗");
? ? ? ?}
? ?} ? ?/**
? ? * 首頁Echarts 獲取樓宇信息
? ? */
? ?
? ?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;public class DormManagerController { ? ?
? ?private DormManagerService dormManagerService; ? ?/**
? ? * 宿管添加
? ? */
? ?
? ?public Result<?> add( DormManager dormManager) { ? ? ? ?int i = dormManagerService.addNewDormManager(dormManager); ? ? ? ?if (i == 1) { ? ? ? ? ? ?return Result.success();
? ? ? ?} else { ? ? ? ? ? ?return Result.error("-1", "添加失敗");
? ? ? ?}
? ?} ? ?/**
? ? * 宿管信息更新
? ? */
? ?
? ?public Result<?> update( DormManager dormManager) { ? ? ? ?int i = dormManagerService.updateNewDormManager(dormManager); ? ? ? ?if (i == 1) { ? ? ? ? ? ?return Result.success();
? ? ? ?} else { ? ? ? ? ? ?return Result.error("-1", "更新失敗");
? ? ? ?}
? ?} ? ?/**
? ? * 宿管刪除
? ? */
? ?
? ?public Result<?> delete( String username) { ? ? ? ?int i = dormManagerService.deleteDormManager(username); ? ? ? ?if (i == 1) { ? ? ? ? ? ?return Result.success();
? ? ? ?} else { ? ? ? ? ? ?return Result.error("-1", "刪除失敗");
? ? ? ?}
? ?} ? ?/**
? ? * 宿管查找
? ? */
? ?
? ?public Result<?> findPage( Integer pageNum, ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Integer pageSize, ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? String search) { ? ? ? ?Page page = dormManagerService.find(pageNum, pageSize, search); ? ? ? ?if (page != null) { ? ? ? ? ? ?return Result.success(page);
? ? ? ?} else { ? ? ? ? ? ?return Result.error("-1", "查詢失敗");
? ? ? ?}
? ?} ? ?/**
? ? * 宿管登錄
? ? */
? ?
? ?public Result<?> login( 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", "用戶名或密碼錯(cuò)誤");
? ? ? ?}
? ?}
}
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;public class DormRoomController { ? ?
? ?private DormRoomService dormRoomService; ? ?/**
? ? * 添加房間
? ? */
? ?
? ?public Result<?> add( DormRoom dormRoom) { ? ? ? ?int i = dormRoomService.addNewRoom(dormRoom); ? ? ? ?if (i == 1) { ? ? ? ? ? ?return Result.success();
? ? ? ?} else { ? ? ? ? ? ?return Result.error("-1", "添加失敗");
? ? ? ?}
? ?} ? ?/**
? ? * 更新房間
? ? */
? ?
? ?public Result<?> update( DormRoom dormRoom) { ? ? ? ?int i = dormRoomService.updateNewRoom(dormRoom); ? ? ? ?if (i == 1) { ? ? ? ? ? ?return Result.success();
? ? ? ?} else { ? ? ? ? ? ?return Result.error("-1", "更新失敗");
? ? ? ?}
? ?} ? ?/**
? ? * 刪除房間
? ? */
? ?
? ?public Result<?> delete( Integer dormRoomId) { ? ? ? ?int i = dormRoomService.deleteRoom(dormRoomId); ? ? ? ?if (i == 1) { ? ? ? ? ? ?return Result.success();
? ? ? ?} else { ? ? ? ? ? ?return Result.error("-1", "刪除失敗");
? ? ? ?}
? ?} ? ?/**
? ? * 查找房間
? ? */
? ?
? ?public Result<?> findPage( Integer pageNum, ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Integer pageSize, ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? String search) { ? ? ? ?Page page = dormRoomService.find(pageNum, pageSize, search); ? ? ? ?if (page != null) { ? ? ? ? ? ?return Result.success(page);
? ? ? ?} else { ? ? ? ? ? ?return Result.error("-1", "查詢失敗");
? ? ? ?}
? ?} ? ?/**
? ? * 首頁頂部:空宿舍統(tǒng)計(jì)
? ? */
? ?
? ?public Result<?> noFullRoom() { ? ? ? ?int num = dormRoomService.notFullRoom(); ? ? ? ?if (num >= 0) { ? ? ? ? ? ?return Result.success(num);
? ? ? ?} else { ? ? ? ? ? ?return Result.error("-1", "空宿舍查詢失敗");
? ? ? ?}
? ?} ? ?/**
? ? * 刪除床位學(xué)生信息
? ? */
? ?
? ?public Result<?> deleteBedInfo( String bedName, Integer dormRoomId, int calCurrentNum) { ? ? ? ?int i = dormRoomService.deleteBedInfo(bedName, dormRoomId, calCurrentNum); ? ? ? ?if (i == 1) { ? ? ? ? ? ?return Result.success();
? ? ? ?} else { ? ? ? ? ? ?return Result.error("-1", "刪除失敗");
? ? ? ?}
? ?} ? ?/**
? ? * 床位信息,查詢該學(xué)生是否已由床位
? ? */
? ?
? ?public Result<?> judgeHadBed( String value) { ? ? ? ?DormRoom dormRoom = dormRoomService.judgeHadBed(value); ? ? ? ?if (dormRoom == null) { ? ? ? ? ? ?return Result.success();
? ? ? ?} else { ? ? ? ? ? ?return Result.error("-1", "該學(xué)生已有宿舍");
? ? ? ?}
? ?} ? ?/**
? ? * 主頁 住宿人數(shù)
? ? */
? ?
? ?public Result<?> selectHaveRoomStuNum() { ? ? ? ?Long count = dormRoomService.selectHaveRoomStuNum(); ? ? ? ?if (count >= 0) { ? ? ? ? ? ?return Result.success(count);
? ? ? ?} else { ? ? ? ? ? ?return Result.error("-1", "查詢首頁住宿人數(shù)失敗");
? ? ? ?}
? ?} ? ?/**
? ? * 住宿分布人數(shù)
? ? */
? ?
? ?public Result<?> getEachBuildingStuNum( 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", "獲取人數(shù)失敗");
? ? ? ?}
? ?} ? ?/**
? ? * 學(xué)生功能: 我的宿舍
? ? */
? ?
? ?public Result<?> getMyRoom( String name) { ? ? ? ?DormRoom dormRoom = dormRoomService.judgeHadBed(name); ? ? ? ?if (dormRoom != null) { ? ? ? ? ? ?return Result.success(dormRoom);
? ? ? ?} else { ? ? ? ? ? ?return Result.error("-1", "不存在該生");
? ? ? ?}
? ?} ? ?/**
? ? * 檢查房間是否滿員
? ? */
? ?
? ?public Result<?> checkRoomState( Integer dormRoomId) { ? ? ? ?DormRoom dormRoom = dormRoomService.checkRoomState(dormRoomId); ? ? ? ?if (dormRoom != null) { ? ? ? ? ? ?return Result.success(dormRoom);
? ? ? ?} else { ? ? ? ? ? ?return Result.error("-1", "該房間人滿了");
? ? ? ?}
? ?} ? ?/**
? ? * 檢查床位是否已經(jīng)有人
? ? */
? ?
? ?public Result<?> getMyRoom( Integer dormRoomId, int bedNum) { ? ? ? ?DormRoom dormRoom = dormRoomService.checkBedState(dormRoomId, bedNum); ? ? ? ?if (dormRoom != null) { ? ? ? ? ? ?return Result.success(dormRoom);
? ? ? ?} else { ? ? ? ? ? ?return Result.error("-1", "該床位已有人");
? ? ? ?}
? ?} ? ?/**
? ? * 檢查房間是否滿員
? ? */
? ?
? ?public Result<?> checkRoomExist( Integer dormRoomId) { ? ? ? ?DormRoom dormRoom = dormRoomService.checkRoomExist(dormRoomId); ? ? ? ?if (dormRoom != null) { ? ? ? ? ? ?return Result.success(dormRoom);
? ? ? ?} else { ? ? ? ? ? ?return Result.error("-1", "不存在該房間");
? ? ? ?}
? ?}
}
五,項(xiàng)目總結(jié)
?項(xiàng)目整體功能 完整,界面簡潔大方,使用的前后端分離的方式也比較符合現(xiàn)在開發(fā)的主流趨勢,比較適合做畢業(yè)設(shè)計(jì)使用。