server/meeting/meeting_admin/src/main/java/com/doumee/api/timer/TaskController.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,39 @@ package com.doumee.api.timer; import com.doumee.core.utils.DateUtil; import com.doumee.service.business.BookingsService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import java.util.Date; /** * Created by IntelliJ IDEA. * * @Author : Rk * @create 2025/3/20 9:58 */ @Component @EnableScheduling @Slf4j public class TaskController { @Autowired private BookingsService bookingsService; /** * 宿¶èªå¨å¼å§ä¼è®® */ @Scheduled(cron = "1 * * * * ?") public void autoStart() { bookingsService.autoStart(); } } server/meeting/meeting_service/src/main/java/com/doumee/service/business/BookingsService.java
@@ -213,4 +213,7 @@ void startEarly(BusinessOverDTO businessOverDTO); RoomDetailResponse getRoomDetail(Integer roomId); void autoStart(); } server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java
@@ -1304,6 +1304,34 @@ } /** * èªå¨å¼å§ä¼è®® */ @Override public void autoStart(){ List<Rooms> roomList = roomsMapper.selectList(new QueryWrapper<Rooms>().lambda().eq(Rooms::getIsdeleted,Constants.ZERO).eq(Rooms::getStatus,Constants.ZERO)); for (Rooms rooms:roomList) { //æ¥è¯¢å½åä¼è®®å®¤æ¯å¦åå¨è¿è¡ä¸çä¼è®® if(bookingsMapper.selectCount(new QueryWrapper<Bookings>().lambda().eq(Bookings::getIsdeleted,Constants.ZERO) .eq(Bookings::getStatus,Constants.ZERO).isNotNull(Bookings::getStartTimeReal) )<=Constants.ZERO){ //æ ¹æ®ä¼è®®å®¤è·åå¯ä»¥å¼å¯çä¼è®®è®°å½ï¼ç¬¬ä¸æ¡è®°å½ï¼ Bookings bookings = bookingsMapper.selectOne(new QueryWrapper<Bookings>().lambda() .eq(Bookings::getIsdeleted,Constants.ZERO) .eq(Bookings::getStatus,Constants.ZERO) .eq(Bookings::getRoomId,rooms.getId()) .apply(" now() > START_TIME and now < END_TIME ") .isNull(Bookings::getStartTimeReal) .orderByAsc(Bookings::getStartTime) .last(" limit 1 ") ); bookings.setStartTimeReal(new Date()); bookings.setEditDate(new Date()); bookingsMapper.updateById(bookings); } } } /** * æåå¼å§ * @param businessOverDTO */