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