package com.example.springboot.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.example.springboot.common.JudgeBedName;
import com.example.springboot.entity.AdjustRoom;
import com.example.springboot.entity.DormRoom;
import com.example.springboot.mapper.DormRoomMapper;
import com.example.springboot.mapper.StudentMapper;
import com.example.springboot.service.DormRoomService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import static com.example.springboot.common.CalPeopleNum.calNum;
@Service
public class DormRoomImpl extends ServiceImpl<DormRoomMapper, DormRoom> implements DormRoomService {
@Resource
private DormRoomMapper dormRoomMapper;
@Autowired
private StudentMapper studentMapper;
/**
* 首页顶部:空宿舍统计
*/
@Override
public int notFullRoom() {
QueryWrapper<DormRoom> qw = new QueryWrapper<>();
qw.lt("current_capacity", 4);
int notFullRoomNum = Math.toIntExact(dormRoomMapper.selectCount(qw));
return notFullRoomNum;
}
/**
* 添加房间
*/
@Override
public int addNewRoom(DormRoom dormRoom) {
int insert = dormRoomMapper.insert(dormRoom);
return insert;
}
/**
* 查找房间
*/
@Override
public Page find(Integer pageNum, Integer pageSize, String search) {
Page page = new Page<>(pageNum, pageSize);
QueryWrapper<DormRoom> qw = new QueryWrapper<>();
qw.like("Dormroom_id", search);
Page roomPage = dormRoomMapper.selectPage(page, qw);
return roomPage;
}
/**
* 更新房间
*/
@Override
public int updateNewRoom(DormRoom dormRoom) {
int i = dormRoomMapper.updateById(dormRoom);
return i;
}
/**
* 删除房间
*/
@Override
public int deleteRoom(Integer dormRoomId) {
int i = dormRoomMapper.deleteById(dormRoomId);
return i;
}
/**
* 删除床位上的学生信息
*/
@Override
public int deleteBedInfo(String bedName, Integer dormRoomId, int calCurrentNum) {
UpdateWrapper updateWrapper = new UpdateWrapper();
updateWrapper.eq("dormroom_id", dormRoomId);
updateWrapper.set(bedName, null);
updateWrapper.set("current_capacity", calCurrentNum - 1);
int update = dormRoomMapper.update(null, updateWrapper);
return update;
}
/**
* 床位信息,查询该学生是否已由床位
*/
@Override
public DormRoom judgeHadBed(String username) {
QueryWrapper qw = new QueryWrapper();
qw.eq("first_bed", username);
qw.or();
qw.eq("second_bed", username);
qw.or();
qw.eq("third_bed", username);
qw.or();
qw.eq("fourth_bed", username);
DormRoom dormRoom = dormRoomMapper.selectOne(qw);
return dormRoom;
}
/**
* 主页 住宿人数
*/
@Override
public Long selectHaveRoomStuNum() {
QueryWrapper<DormRoom> qw1 = new QueryWrapper<>();
qw1.isNotNull("first_bed");
Long first_bed = dormRoomMapper.selectCount(qw1);
QueryWrapper<DormRoom> qw2 = new QueryWrapper<>();
qw2.isNotNull("second_bed");
Long second_bed = dormRoomMapper.selectCount(qw2);
QueryWrapper<DormRoom> qw3 = new QueryWrapper<>();
qw3.isNotNull("third_bed");
Long third_bed = dormRoomMapper.selectCount(qw3);
QueryWrapper<DormRoom> qw4 = new QueryWrapper<>();
qw4.isNotNull("fourth_bed");
Long fourth_bed = dormRoomMapper.selectCount(qw4);
Long count = first_bed + second_bed + third_bed + fourth_bed;
return count;
}
/**
* 获取每栋宿舍学生总人数
*/
@Override
public Long getEachBuildingStuNum(int dormBuildId) {
QueryWrapper<DormRoom> qw1 = new QueryWrapper<>();
qw1.eq("dormbuild_id", dormBuildId);
qw1.isNotNull("first_bed");
Long first_bed = dormRoomMapper.selectCount(qw1);
QueryWrapper<DormRoom> qw2 = new QueryWrapper<>();
qw2.eq("dormbuild_id", dormBuildId);
qw2.isNotNull("second_bed");
Long second_bed = dormRoomMapper.selectCount(qw2);
QueryWrapper<DormRoom> qw3 = new QueryWrapper<>();
qw3.eq("dormbuild_id", dormBuildId);
qw3.isNotNull("third_bed");
Long third_bed = dormRoomMapper.selectCount(qw3);
QueryWrapper<DormRoom> qw4 = new QueryWrapper<>();
qw4.eq("dormbuild_id", dormBuildId);
qw4.isNotNull("fourth_bed");
Long fourth_bed = dormRoomMapper.selectCount(qw4);
Long count = first_bed + second_bed + third_bed + fourth_bed;
return count;
}
/**
* 学生退宿
*/
@Override
public int adjustRoomUpdate(AdjustRoom adjustRoom) {
//调宿人
String username = adjustRoom.getUsername();
//当前房间号
int currentRoomId = adjustRoom.getCurrentRoomId();
//当前床位名称
String currentBedName = JudgeBedName.getBedName(adjustRoom.getCurrentBedId());
QueryWrapper qw = new QueryWrapper();
qw.eq("dormroom_id", currentRoomId);
qw.isNotNull(currentBedName);
DormRoom dormRoom1 = dormRoomMapper.selectOne(qw);
if (dormRoom1 == null) {
return -2;
}
int currentCapacity1 = calNum(dormRoom1);
UpdateWrapper uw1 = new UpdateWrapper();
uw1.eq("dormroom_id", currentRoomId);
uw1.set(currentBedName, null);
uw1.set("current_capacity", currentCapacity1 - 1);
int result1 = dormRoomMapper.update(null, uw1);
UpdateWrapper studentUpdateWrapper = new UpdateWrapper();
studentUpdateWrapper.eq("username",username);
studentUpdateWrapper.set("exit_state","已退宿");
studentMapper.update(null,studentUpdateWrapper);
return -1;
}
/**
* 检查该房间是否满了
*/
@Override
public DormRoom checkRoomState(Integer dormRoomId) {
QueryWrapper qw = new QueryWrapper();
qw.eq("dormroom_id", dormRoomId);
qw.lt("current_capacity", 4);
DormRoom dormRoom = dormRoomMapper.selectOne(qw);
return dormRoom;
}
/**
* 检查该房间是否存在
*/
@Override
public DormRoom checkRoomExist(Integer dormRoomId) {
DormRoom dormRoom = dormRoomMapper.selectById(dormRoomId);
return dormRoom;
}
/**
* 检查床位是否有人
*/
@Override
public DormRoom checkBedState(Integer dormRoomId, int bedNum) {
QueryWrapper qw = new QueryWrapper();
qw.eq("dormroom_id", dormRoomId);
qw.isNull(JudgeBedName.getBedName(bedNum));
DormRoom dormRoom = dormRoomMapper.selectOne(qw);
return dormRoom;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
高校宿舍管理系统 springboot +vue
共173个文件
java:51个
class:51个
vue:21个
需积分: 16 6 下载量 52 浏览量
2023-03-12
18:30:33
上传
评论 1
收藏 1.63MB ZIP 举报
温馨提示
高校宿舍管理系统 springboot +vue 损坏管理,宿舍管理,学生管理,访客管理,登录
资源推荐
资源详情
资源评论
收起资源包目录
高校宿舍管理系统 springboot +vue (173个子文件)
DormRoomImpl.class 7KB
DormRoomController.class 7KB
FileController.class 6KB
Repair.class 6KB
Student.class 5KB
DormManager.class 5KB
DormRoom.class 5KB
StudentController.class 5KB
DormBuildController.class 5KB
AdjustRoom.class 5KB
StudentServiceImpl.class 5KB
Admin.class 5KB
Visitor.class 5KB
DormManagerController.class 5KB
RepairController.class 5KB
AdjustRoomController.class 4KB
Result.class 4KB
RepairServiceImpl.class 3KB
VisitorController.class 3KB
DormBuild.class 3KB
DormBuildImpl.class 3KB
DormManagerServiceImpl.class 3KB
User.class 3KB
AdminController.class 3KB
AdjustRoomServiceImpl.class 3KB
VisitorServiceImpl.class 3KB
AdminServiceImpl.class 2KB
MainController.class 2KB
DormRoomService.class 1KB
CorsConfig.class 1KB
MyBatisPlusConfig.class 1KB
StudentService.class 975B
RepairService.class 943B
DormManagerService.class 905B
DormBuildService.class 861B
SpringbootApplication.class 860B
CalPeopleNum.class 814B
AdjustRoomService.class 739B
VisitorService.class 731B
JudgeBedName.class 676B
UID.class 602B
AdminService.class 567B
SpringbootApplicationTests.class 561B
DormManagerMapper.class 335B
AdjustRoomMapper.class 332B
DormBuildMapper.class 329B
DormRoomMapper.class 326B
VisitorMapper.class 323B
StudentMapper.class 323B
RepairMapper.class 320B
AdminMapper.class 317B
SelfInfo.css 652B
RoomInfo.css 525B
global.css 190B
MyRoomInfo.css 61B
.gitignore 0B
.gitignore 0B
index.html 611B
favicon.ico 4KB
vue.iml 344B
DormRoomImpl.java 7KB
DormRoomController.java 6KB
FileController.java 5KB
StudentController.java 4KB
RepairController.java 3KB
StudentServiceImpl.java 3KB
DormManagerController.java 3KB
DormBuildController.java 3KB
AdjustRoomController.java 2KB
RepairServiceImpl.java 2KB
DormManagerServiceImpl.java 2KB
VisitorController.java 2KB
DormBuildImpl.java 2KB
AdjustRoomServiceImpl.java 2KB
VisitorServiceImpl.java 2KB
AdminController.java 2KB
DormRoomService.java 1KB
MainController.java 1KB
AdminServiceImpl.java 1KB
Student.java 1KB
CorsConfig.java 1KB
DormRoom.java 1008B
Repair.java 975B
Result.java 948B
DormManager.java 945B
Admin.java 927B
MyBatisPlusConfig.java 920B
Visitor.java 914B
AdjustRoom.java 903B
StudentService.java 792B
DormBuild.java 769B
RepairService.java 714B
DormManagerService.java 710B
DormBuildService.java 657B
AdjustRoomService.java 577B
VisitorService.java 562B
CalPeopleNum.java 555B
JudgeBedName.java 530B
SpringbootApplication.java 444B
AdminService.java 365B
共 173 条
- 1
- 2
资源评论
tamadejibabuxinga
- 粉丝: 13
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于STM32F103C8T6单片机蓄电池在线监测系统主板硬件(原理图+PCB)工程文件.zip
- mysql大纲资料.txt
- c++大纲资料.txt
- 效率工具bat脚本实现日志提取
- MyBatis 中动态 SQL 的示例
- STM8L101F3P6单片机+CC1100模块433M遥控器设计硬件(原理图+PCB)工程文件.zip
- 上传下载铁人下载系统 Liuxing 1.0-liuxing1.0.rar
- 南京邮电大学数学实验实力雄厚,凭借其优秀的师资力量、丰富的实践教学资源和卓越的科研成果,成为国内一流的数学实验教学和科研基地
- 【火爆朋友圈的今天吃什么源码 v1.0】随机的为用户带来每一天的用餐选择和推荐.rar
- MPU6050中文版数据手册
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功