From 6b9657a5a68d7493a53a9958f08478e7e89881b9 Mon Sep 17 00:00:00 2001
From: tjx <t2856754968@163.com>
Date: 星期二, 23 十二月 2025 15:59:59 +0800
Subject: [PATCH] 111

---
 src/main/java/com/gs/dingtalk/controller/KMController.java |   43 +++++++++++++++++++++++++++++++++++++++----
 1 files changed, 39 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/gs/dingtalk/controller/KMController.java b/src/main/java/com/gs/dingtalk/controller/KMController.java
index 179d109..bb5faf3 100644
--- a/src/main/java/com/gs/dingtalk/controller/KMController.java
+++ b/src/main/java/com/gs/dingtalk/controller/KMController.java
@@ -2,12 +2,14 @@
 
 
 import com.gs.dingtalk.config.ResultMessage;
+import com.gs.dingtalk.service.QwCheckinDayDataService;
 import com.gs.dingtalk.service.SendDingtalkService;
 import lombok.RequiredArgsConstructor;
-import org.springframework.web.bind.annotation.CrossOrigin;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
+
+import java.time.LocalDate;
+import java.time.ZoneId;
+import java.time.format.DateTimeFormatter;
 
 @RestController
 @RequestMapping("Numerical")
@@ -17,6 +19,8 @@
 
 
     private final SendDingtalkService sendDingtalkService;
+
+    private final QwCheckinDayDataService qwCheckinDayDataService;
 
     @PostMapping("/chatSendMessage")
     public ResultMessage chatSendMessage() {
@@ -40,4 +44,35 @@
         }
     }
 
+    /**
+     * 鍚屾浼佷笟寰俊鎵撳崱鏃ユ姤鏁版嵁
+     * @param startDate 寮�濮嬫棩鏈燂紝鏍煎紡锛歽yyy-MM-dd
+     * @param endDate 缁撴潫鏃ユ湡锛屾牸寮忥細yyyy-MM-dd
+     * @return 鍚屾缁撴灉
+     */
+    @PostMapping("/syncCheckinDayData")
+    public ResultMessage syncCheckinDayData(@RequestParam String startDate, @RequestParam String endDate) {
+        try {
+            DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+            LocalDate start = LocalDate.parse(startDate, formatter);
+            LocalDate end = LocalDate.parse(endDate, formatter);
+
+            // 杞崲涓篣nix鏃堕棿鎴筹紙褰撳ぉ0鐐癸級
+            ZoneId zoneId = ZoneId.of("Asia/Shanghai");
+            long startTime = start.atStartOfDay(zoneId).toEpochSecond();
+            long endTime = end.atStartOfDay(zoneId).toEpochSecond();
+
+            int totalInsert = 0;
+            // 鏃ユ姤鎺ュ彛starttime鍜宔ndtime闇�鐩稿悓锛岄�愬ぉ鍚屾
+            for (long date = startTime; date <= endTime; date += 86400) {
+                int insertCount = qwCheckinDayDataService.syncDayData(date);
+                totalInsert += insertCount;
+            }
+
+            return ResultMessage.ok("鍚屾鎴愬姛锛屾柊澧炶褰曟暟: " + totalInsert);
+        } catch (Exception e) {
+            return ResultMessage.error(e);
+        }
+    }
+
 }
\ No newline at end of file

--
Gitblit v1.9.3