From 2c3d8abefd778b7aa9b9ee69ff3fdb02b31f4865 Mon Sep 17 00:00:00 2001
From: tjx <t2856754968@163.com>
Date: 星期二, 23 十二月 2025 16:01:39 +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..9c28188 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();
+ } catch (Exception e) {
+ return ResultMessage.error(e);
+ }
+ }
+
}
\ No newline at end of file
--
Gitblit v1.9.3