k94314517
2025-03-20 04a2d3283bb74d626777440fff4ea344e9ad452d
代码初始化
已添加1个文件
已修改2个文件
70 ■■■■■ 文件已修改
server/meeting/meeting_admin/src/main/java/com/doumee/api/timer/TaskController.java 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/meeting/meeting_service/src/main/java/com/doumee/service/business/BookingsService.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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
     */