|
@@ -158,7 +158,7 @@ public class RoomServiceImpl extends ServiceImpl<IRoomMapper, Room> implements I
|
|
|
if(StringUtils.isNotBlank(room.getRoomId())){
|
|
|
room.setUpdateTime(null);
|
|
|
Room byId = this.getById(room.getRoomId());
|
|
|
- if(byId.getHostStatus() == 1 ){
|
|
|
+ if(!checkCanDel(byId)){
|
|
|
throw new BusinessException(ResultCode.ROOM_ING);
|
|
|
}
|
|
|
}else {
|
|
@@ -179,13 +179,27 @@ public class RoomServiceImpl extends ServiceImpl<IRoomMapper, Room> implements I
|
|
|
return param;
|
|
|
}
|
|
|
|
|
|
+ private Boolean checkCanDel(Room room){
|
|
|
+ Boolean flag = false;
|
|
|
+ List<RoomUser> roomUserList = roomUserService.getByRoomId(room.getRoomId());
|
|
|
+ for (RoomUser roomUser : roomUserList) {
|
|
|
+ if ( roomUser.getRoomStatus() == 1 && roomUser.getHostStatus() == 1){
|
|
|
+ flag = true;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(room.getHostStatus() == 1 || flag){
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public void deleteById(String roomId) {
|
|
|
Room room = this.getById(roomId);
|
|
|
if(room == null ){
|
|
|
throw new BusinessException(ResultCode.ROOM_MISS);
|
|
|
}
|
|
|
- if(room.getRoomStatus() == 1){
|
|
|
+ if(!checkCanDel(room)){
|
|
|
throw new BusinessException(ResultCode.DEL_ROOM_ING);
|
|
|
}
|
|
|
roomNumService.deleteByRoomId(roomId);
|