From ce7738b672326ccbb36aca1a90c60b184be707f7 Mon Sep 17 00:00:00 2001
From: tjx <t2856754968@163.com>
Date: 星期三, 24 十二月 2025 19:32:05 +0800
Subject: [PATCH] 11
---
src/test/java/com/gs/dingtalk/DeviceReceivingApplicationTests.java | 103 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 103 insertions(+), 0 deletions(-)
diff --git a/src/test/java/com/gs/dingtalk/DeviceReceivingApplicationTests.java b/src/test/java/com/gs/dingtalk/DeviceReceivingApplicationTests.java
index 8e3997b..0a81436 100644
--- a/src/test/java/com/gs/dingtalk/DeviceReceivingApplicationTests.java
+++ b/src/test/java/com/gs/dingtalk/DeviceReceivingApplicationTests.java
@@ -10,6 +10,7 @@
import com.gs.dingtalk.service.VwCjScSjTsBbService;
import com.gs.dingtalk.service.WorkWXService;
import com.gs.dingtalk.service.QwCheckinDayDataService;
+import com.gs.dingtalk.service.QwHardwareCheckinDataService;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
@@ -37,6 +38,9 @@
@Autowired
private QwCheckinDayDataService qwCheckinDayDataService;
+
+ @Autowired
+ private QwHardwareCheckinDataService qwHardwareCheckinDataService;
/**
* 娴嬭瘯瀵煎嚭鐢熶骇鏁版嵁骞跺彂閫侀拤閽夋秷鎭�
@@ -422,4 +426,103 @@
}
}
+ /**
+ * 娴嬭瘯鑾峰彇璁惧鎵撳崱鏁版嵁
+ * 鎺ュ彛闄愬埗锛氭椂闂磋法搴︿笉瓒呰繃涓�涓湀锛岀敤鎴峰垪琛ㄤ笉瓒呰繃100涓�
+ */
+ @Test
+ void testGetHardwareCheckinData() {
+ System.out.println("=== 寮�濮嬫祴璇曡幏鍙栬澶囨墦鍗℃暟鎹� ===");
+
+ try {
+ long currentTime = System.currentTimeMillis() / 1000;
+ long oneDaySeconds = 86400;
+
+ // 鑾峰彇鏄ㄥぉ鐨勮澶囨墦鍗℃暟鎹�
+ long yesterdayStart = ((currentTime / oneDaySeconds) - 1) * oneDaySeconds;
+ long yesterdayEnd = yesterdayStart + oneDaySeconds - 1;
+
+ System.out.println(" - 寮�濮嬫椂闂�: " + new java.util.Date(yesterdayStart * 1000));
+ System.out.println(" - 缁撴潫鏃堕棿: " + new java.util.Date(yesterdayEnd * 1000));
+
+ // 鑾峰彇鐢ㄦ埛鎬绘暟
+ long totalUsers = qwStaffMapper.selectCount(new LambdaQueryWrapper<QwStaff>()
+ .isNotNull(QwStaff::getAccount)
+ .ne(QwStaff::getAccount, ""));
+ System.out.println(" - QW_STAFF琛ㄧ敤鎴锋�绘暟: " + totalUsers);
+
+ List<WorkWXService.HardwareCheckinData> dataList = workWXService.getHardwareCheckinDataByQwStaff(yesterdayStart, yesterdayEnd);
+
+ if (dataList != null && !dataList.isEmpty()) {
+ System.out.println("鉁� 鎴愬姛鑾峰彇璁惧鎵撳崱鏁版嵁");
+ System.out.println(" - 璁惧鎵撳崱璁板綍鎬绘暟: " + dataList.size());
+ System.out.println(" - 鍓�10鏉℃暟鎹�:");
+ dataList.stream().limit(10).forEach(data -> {
+ System.out.println(" * userid: " + data.getUserid() +
+ ", 鎵撳崱鏃堕棿: " + new java.util.Date(data.getCheckinTime() * 1000) +
+ ", 璁惧SN: " + data.getDeviceSn() +
+ ", 璁惧鍚嶇О: " + data.getDeviceName());
+ });
+
+ // 淇濆瓨鍒版暟鎹簱
+ System.out.println(" - 寮�濮嬩繚瀛樿澶囨墦鍗℃暟鎹埌鏁版嵁搴�...");
+ int insertCount = qwHardwareCheckinDataService.saveHardwareDataBatch(dataList);
+ System.out.println("鉁� 淇濆瓨瀹屾垚锛屾柊澧炶褰曟暟: " + insertCount + ", 鏇存柊(宸插瓨鍦�): " + (dataList.size() - insertCount));
+ } else {
+ System.out.println("鉁� 鑾峰彇鐨勮澶囨墦鍗℃暟鎹负绌猴紙鍙兘鏃犺澶囨墦鍗¤褰曟垨鎺ュ彛鏈紑閫氾級");
+ }
+ } catch (IOException e) {
+ System.out.println("鉁� 鑾峰彇璁惧鎵撳崱鏁版嵁澶辫触: " + e.getMessage());
+ e.printStackTrace();
+ }
+
+ System.out.println("=== 娴嬭瘯缁撴潫 ===");
+ }
+
+ /**
+ * 娴嬭瘯鍚屾鏄ㄥぉ鐨勮澶囨墦鍗℃暟鎹�
+ */
+ @Test
+ void testSyncYesterdayHardwareData() {
+ System.out.println("=== 寮�濮嬫祴璇曞悓姝ユ槰澶╄澶囨墦鍗℃暟鎹� ===");
+
+ try {
+ int insertCount = qwHardwareCheckinDataService.syncYesterdayHardwareData();
+ System.out.println("鉁� 鍚屾瀹屾垚锛屾柊澧炶褰曟暟: " + insertCount);
+ } catch (IOException e) {
+ System.out.println("鉁� 鍚屾璁惧鎵撳崱鏁版嵁澶辫触: " + e.getMessage());
+ e.printStackTrace();
+ }
+
+ System.out.println("=== 娴嬭瘯缁撴潫 ===");
+ }
+
+ /**
+ * 娴嬭瘯鍚屾鎸囧畾鏃ユ湡鑼冨洿鐨勮澶囨墦鍗℃暟鎹�
+ */
+ @Test
+ void testSyncHardwareDataByDateRange() {
+ System.out.println("=== 寮�濮嬫祴璇曞悓姝ユ寚瀹氭棩鏈熻寖鍥寸殑璁惧鎵撳崱鏁版嵁 ===");
+
+ try {
+ long currentTime = System.currentTimeMillis() / 1000;
+ long oneDaySeconds = 86400;
+
+ // 鍚屾鏈�杩�7澶╃殑鏁版嵁
+ long endTime = ((currentTime / oneDaySeconds) - 1) * oneDaySeconds + oneDaySeconds - 1; // 鏄ㄥぉ23:59:59
+ long startTime = endTime - 7 * oneDaySeconds + 1; // 7澶╁墠00:00:00
+
+ System.out.println(" - 寮�濮嬫椂闂�: " + new java.util.Date(startTime * 1000));
+ System.out.println(" - 缁撴潫鏃堕棿: " + new java.util.Date(endTime * 1000));
+
+ int insertCount = qwHardwareCheckinDataService.syncHardwareData(startTime, endTime);
+ System.out.println("鉁� 鍚屾瀹屾垚锛屾柊澧炶褰曟暟: " + insertCount);
+ } catch (IOException e) {
+ System.out.println("鉁� 鍚屾璁惧鎵撳崱鏁版嵁澶辫触: " + e.getMessage());
+ e.printStackTrace();
+ }
+
+ System.out.println("=== 娴嬭瘯缁撴潫 ===");
+ }
+
}
--
Gitblit v1.9.3