删除一个人之后,剩余人数加1操作
他的接口
Result deleteByIdRU(Integer id);
实现他的接口
@Override
public Result deleteByIdRU(Integer id) {
//根据id查询宿舍id
RoomUser roomUser = mapper.selectById(id);
//宿舍id
Integer roomId = roomUser.getRoomId();
//根据宿舍id查询出宿舍对象
Room room = roomMapper.selectById(roomId);
int i = mapper.deleteById(id);
if(i==1){
//删除成功时候,宿舍剩余人数+1
Integer surplus = room.getSurplus()+1;
room.setSurplus(surplus);
int i1 = roomMapper.updateById(room);
if(i1!=1){
return Result.error("500","修改人数失败");
}
return Result.success();
}
return Result.error();
}
理解实现的过程
首先你根据学生宿舍表的id去查询宿舍的id,获取宿舍的id之后,根据宿舍id查询出宿舍对象。用一个整数类型存贮删除学生宿舍表的信息,如果是删除成功了,重新定义宿舍表里面剩余人数的属性值。用整数类型去存储更新宿舍表的信息。如果是不为1就是修改人数失败。
控制层
@DeleteMapping("/{id}")
public Result delete(@PathVariable Integer id) {
roomUserService.deleteByIdRU(id);
return Result.success();
}