From 56ae62dd364b2822016b1b25208133e9177cfae1 Mon Sep 17 00:00:00 2001
From: tjx <t2856754968@163.com>
Date: 星期五, 19 十二月 2025 15:28:01 +0800
Subject: [PATCH] 整合钉钉和企业微信

---
 src/test/java/com/gs/dingtalk/DeviceReceivingApplicationTests.java |  104 +++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 75 insertions(+), 29 deletions(-)

diff --git a/src/test/java/com/gs/dingtalk/DeviceReceivingApplicationTests.java b/src/test/java/com/gs/dingtalk/DeviceReceivingApplicationTests.java
index a54334c..e2ab79c 100644
--- a/src/test/java/com/gs/dingtalk/DeviceReceivingApplicationTests.java
+++ b/src/test/java/com/gs/dingtalk/DeviceReceivingApplicationTests.java
@@ -1,6 +1,9 @@
 package com.gs.dingtalk;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.gs.dingtalk.config.URLEncoder;
+import com.gs.dingtalk.entity.QwStaff;
+import com.gs.dingtalk.mapper.QwStaffMapper;
 import com.gs.dingtalk.service.SendDingtalkService;
 import com.gs.dingtalk.service.SimpleExample;
 import com.gs.dingtalk.service.VwCjScSjTsBbService;
@@ -25,6 +28,9 @@
     @Autowired
     private WorkWXService workWXService;
 
+    @Autowired
+    private QwStaffMapper qwStaffMapper;
+
     /**
      * 娴嬭瘯瀵煎嚭鐢熶骇鏁版嵁骞跺彂閫侀拤閽夋秷鎭�
      * 鍔熻兘锛氭煡璇W_CJ_SC_SJ_TS_BB琛ㄦ暟鎹� -> 瀵煎嚭Excel -> 鍙戦�侀拤閽夋枃浠舵秷鎭�
@@ -33,21 +39,21 @@
     void testExportAndSendProductionData() throws Exception {
         System.out.println("=== 寮�濮嬫祴璇曞鍑虹敓浜ф暟鎹苟鍙戦�侀拤閽� ===");
 
-//        try {
-//            boolean result = vwCjScSjTsBbService.exportAndSendToDingtalk();
-//
-//            if (result) {
-//                System.out.println("鉁� 鐢熶骇鏁版嵁瀵煎嚭骞跺彂閫佹垚鍔�");
-//                System.out.println("  - 鏁版嵁宸蹭粠 VW_CJ_SC_SJ_TS_BB 琛ㄦ煡璇�");
-//                System.out.println("  - Excel 鏂囦欢宸茬敓鎴愬苟淇濆瓨鍒� D:\\BIFile\\");
-//                System.out.println("  - 閽夐拤鏂囦欢娑堟伅宸插彂閫�");
-//            } else {
-//                System.out.println("鉁� 鐢熶骇鏁版嵁瀵煎嚭鎴栧彂閫佸け璐�");
-//            }
-//        } catch (Exception e) {
-//            System.out.println("鉁� 瀵煎嚭骞跺彂閫佹椂鍙戠敓寮傚父: " + e.getMessage());
-//            e.printStackTrace();
-//        }
+        try {
+            boolean result = vwCjScSjTsBbService.exportAndSendToDingtalk();
+
+            if (result) {
+                System.out.println("鉁� 鐢熶骇鏁版嵁瀵煎嚭骞跺彂閫佹垚鍔�");
+                System.out.println("  - 鏁版嵁宸蹭粠 VW_CJ_SC_SJ_TS_BB 琛ㄦ煡璇�");
+                System.out.println("  - Excel 鏂囦欢宸茬敓鎴愬苟淇濆瓨鍒� D:\\BIFile\\");
+                System.out.println("  - 閽夐拤鏂囦欢娑堟伅宸插彂閫�");
+            } else {
+                System.out.println("鉁� 鐢熶骇鏁版嵁瀵煎嚭鎴栧彂閫佸け璐�");
+            }
+        } catch (Exception e) {
+            System.out.println("鉁� 瀵煎嚭骞跺彂閫佹椂鍙戠敓寮傚父: " + e.getMessage());
+            e.printStackTrace();
+        }
 
         System.out.println("=== 娴嬭瘯缁撴潫 ===");
     }
@@ -91,6 +97,54 @@
     }
 
     @Test
+    void testGetCheckinDataById() {
+        System.out.println("=== 寮�濮嬫祴璇曢�氳繃QW_STAFF琛ㄨ幏鍙栨墦鍗℃暟鎹� ===");
+        QwStaff qwStaff = qwStaffMapper.selectById(3);
+
+        if (qwStaff == null || qwStaff.getAccount() == null || qwStaff.getAccount().isEmpty()) {
+            System.out.println("鉁� 鏈壘鍒癐D涓�3鐨勫憳宸ユ垨鍛樺伐account涓虹┖");
+            return;
+        }
+
+        System.out.println("  - 鍛樺伐濮撳悕: " + qwStaff.getName());
+        System.out.println("  - 鍛樺伐璐﹀彿: " + qwStaff.getAccount());
+
+        try {
+            long currentTime = System.currentTimeMillis() / 1000;
+            long oneDaySeconds = 86400;
+
+            long endTime = (currentTime / oneDaySeconds) * oneDaySeconds - 1;
+            long startTime = endTime - oneDaySeconds + 1;
+
+            System.out.println("  - 寮�濮嬫椂闂�: " + new java.util.Date(startTime * 1000));
+            System.out.println("  - 缁撴潫鏃堕棿: " + new java.util.Date(endTime * 1000));
+
+            List<String> useridList = new java.util.ArrayList<>();
+            useridList.add(qwStaff.getAccount());
+
+            List<WorkWXService.CheckinData> checkinDataList = workWXService.getCheckinData(startTime, endTime, useridList);
+
+            if (checkinDataList != null && !checkinDataList.isEmpty()) {
+                System.out.println("鉁� 鎴愬姛鑾峰彇鎵撳崱鏁版嵁");
+                System.out.println("  - 鎵撳崱璁板綍鎬绘暟: " + checkinDataList.size());
+                checkinDataList.forEach(data -> {
+                    System.out.println("    * 鎵撳崱鏃堕棿: " + new java.util.Date(data.getCheckinTime() * 1000) +
+                            ", 鎵撳崱绫诲瀷: " + data.getCheckinType() +
+                            ", 寮傚父绫诲瀷: " + data.getExceptionType() +
+                            ", 鍦扮偣: " + data.getLocationDetail());
+                });
+            } else {
+                System.out.println("鉁� 璇ュ憳宸ュ湪鏃堕棿鑼冨洿鍐呮棤鎵撳崱璁板綍");
+            }
+        } catch (IOException e) {
+            System.out.println("鉁� 鑾峰彇鎵撳崱鏁版嵁澶辫触: " + e.getMessage());
+            e.printStackTrace();
+        }
+
+        System.out.println("=== 娴嬭瘯缁撴潫 ===");
+    }
+
+    @Test
     void testGetWorkWXUserList() {
         System.out.println("=== 寮�濮嬫祴璇曡幏鍙栦紒涓氬井淇$敤鎴峰垪琛� ===");
 
@@ -118,24 +172,16 @@
     }
 
     @Test
-    void testGetUserDetail() {
-        System.out.println("=== 寮�濮嬫祴璇曡幏鍙栫敤鎴疯鎯� ===");
+    void testSyncUsersToQwStaff() {
+        System.out.println("=== 寮�濮嬫祴璇曞悓姝ヤ紒涓氬井淇$敤鎴峰埌QW_STAFF琛� ===");
 
         try {
-            String userid = "ShenJuanYue";
-            WorkWXService.WorkWXUserDetail userDetail = workWXService.getUserDetail(userid);
+            int insertCount = workWXService.syncUsersToQwStaff();
 
-            if (userDetail != null && userDetail.getErrcode() == 0) {
-                System.out.println("鉁� 鎴愬姛鑾峰彇鐢ㄦ埛璇︽儏");
-                System.out.println("  - userid: " + userDetail.getUserid());
-                System.out.println("  - 濮撳悕: " + userDetail.getName());
-                System.out.println("  - 鎵嬫満鍙�: " + userDetail.getMobile());
-                System.out.println("  - 鑱屼綅: " + userDetail.getPosition());
-            } else {
-                System.out.println("鉁� 鑾峰彇鐢ㄦ埛璇︽儏澶辫触");
-            }
+            System.out.println("鉁� 鍚屾瀹屾垚");
+            System.out.println("  - 鏂板鐢ㄦ埛鏁�: " + insertCount);
         } catch (IOException e) {
-            System.out.println("鉁� 鑾峰彇鐢ㄦ埛璇︽儏澶辫触: " + e.getMessage());
+            System.out.println("鉁� 鍚屾鐢ㄦ埛澶辫触: " + e.getMessage());
             e.printStackTrace();
         }
 

--
Gitblit v1.9.3