liyong
昨天 2b382a92207dfabf0eb30e743265df5c7c50e7bc
src/main/java/com/ruoyi/collaborativeApproval/service/impl/MeetingServiceImpl.java
@@ -3,7 +3,6 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -25,6 +24,7 @@
import com.ruoyi.collaborativeApproval.vo.SearchMeetingDraftVo;
import com.ruoyi.collaborativeApproval.vo.SearchMeetingRoomVo;
import com.ruoyi.collaborativeApproval.vo.SearchMeetingUseVo;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.framework.web.domain.R;
import com.ruoyi.project.system.domain.SysUser;
@@ -34,7 +34,9 @@
import com.ruoyi.staff.pojo.StaffOnJob;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.stream.Collectors;
@@ -83,7 +85,22 @@
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void deleteMeetingRoom(Long id) {
        if (id == null){
            throw new ServiceException("删除会议室失败,会议室ID不能为空");
        }
        LocalDateTime now = LocalDateTime.now();
        List<MeetApplication> meetApplicationList = meetApplicationMapper.selectList(Wrappers.<MeetApplication>lambdaQuery()
                .eq(MeetApplication::getRoomId, id)
                .gt(MeetApplication::getEndTime, now)
                .in(MeetApplication::getStatus, Arrays.asList(0, 1)));
        if (!meetApplicationList.isEmpty()){
            throw new ServiceException("删除会议室失败,该会议室尚有未开始或进行中的有效会议预约");
        }
        meetingRoomMapper.deleteById(id);
    }