maven
2 天以前 93c2739509f0788bb9f8b2efd7ab82e98be72934
src/main/java/com/ruoyi/collaborativeApproval/service/impl/MeetingServiceImpl.java
@@ -25,16 +25,19 @@
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;
import com.ruoyi.project.system.mapper.SysUserMapper;
import com.ruoyi.project.system.service.ISysNoticeService;
import com.ruoyi.staff.mapper.StaffJoinLeaveRecordMapper;
import com.ruoyi.staff.pojo.StaffJoinLeaveRecord;
import com.ruoyi.staff.mapper.StaffOnJobMapper;
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;
@@ -48,11 +51,12 @@
    private final MeetDraftMapper meetDraftMapper;
    private final MeetApplicationMapper meetApplicationMapper;
    private final StaffJoinLeaveRecordMapper staffJoinLeaveRecordMapper;
    private final StaffOnJobMapper staffOnJobMapper;
    private final MeetingMinutesMapper meetingMinutesMapper;
    private final SysUserMapper userMapper;
    private final ISysNoticeService sysNoticeService;
    @Override
    public IPage<MeetingRoom> getMeetingRoomList(SearchMeetingRoomVo vo) {
@@ -82,7 +86,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);
    }
@@ -165,7 +184,7 @@
                    .filter(s -> !s.isEmpty())
                    .map(Long::valueOf)
                    .map(staffId -> {
                        StaffJoinLeaveRecord record = staffJoinLeaveRecordMapper.selectById(staffId);
                        StaffOnJob record = staffOnJobMapper.selectById(staffId);
                        if (record == null) {
                            return null;
                        }
@@ -181,11 +200,10 @@
            if (!userIds.isEmpty()) {
                sysNoticeService.simpleNoticeByUser(
                        "会议通知",
                        "会议主题:" + application.getTitle() + "\n" +
                                "会议时间:" + application.getStartTime() + "-" + application.getEndTime() + "\n" +
                        "会议主题:" + application.getTitle() + "\t" +
                                "会议时间:" + application.getStartTime() + "-" + application.getEndTime() + "\t" +
                                "发起人:" + application.getApplicant(),
                        userIds,
                        application.getTenantId(),
                        ""
                );
            }