From 04a2d3283bb74d626777440fff4ea344e9ad452d Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期四, 20 三月 2025 16:49:45 +0800
Subject: [PATCH] 代码初始化
---
server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java | 28 ++++++++++++++
server/meeting/meeting_service/src/main/java/com/doumee/service/business/BookingsService.java | 3 +
server/meeting/meeting_admin/src/main/java/com/doumee/api/timer/TaskController.java | 39 +++++++++++++++++++
3 files changed, 70 insertions(+), 0 deletions(-)
diff --git a/server/meeting/meeting_admin/src/main/java/com/doumee/api/timer/TaskController.java b/server/meeting/meeting_admin/src/main/java/com/doumee/api/timer/TaskController.java
new file mode 100644
index 0000000..253f5ba
--- /dev/null
+++ b/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();
+ }
+
+
+
+}
diff --git a/server/meeting/meeting_service/src/main/java/com/doumee/service/business/BookingsService.java b/server/meeting/meeting_service/src/main/java/com/doumee/service/business/BookingsService.java
index fdab03e..af18b8f 100644
--- a/server/meeting/meeting_service/src/main/java/com/doumee/service/business/BookingsService.java
+++ b/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();
+
}
diff --git a/server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java b/server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java
index e784118..734a7aa 100644
--- a/server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java
+++ b/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
*/
--
Gitblit v1.9.3