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

---
 src/main/java/com/gs/dingtalk/service/WorkWXService.java |   35 ++++++++++++++++++++++++++++++++++-
 1 files changed, 34 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/gs/dingtalk/service/WorkWXService.java b/src/main/java/com/gs/dingtalk/service/WorkWXService.java
index a3c2de7..35f4758 100644
--- a/src/main/java/com/gs/dingtalk/service/WorkWXService.java
+++ b/src/main/java/com/gs/dingtalk/service/WorkWXService.java
@@ -212,6 +212,39 @@
         }
     }
 
+    public int syncUsersToQwStaff() throws IOException {
+        List<WorkWXUser> userList = getUserList();
+
+        if (userList == null || userList.isEmpty()) {
+            log.warn("鑾峰彇鍒扮殑鐢ㄦ埛鍒楄〃涓虹┖");
+            return 0;
+        }
+
+        int insertCount = 0;
+        for (WorkWXUser user : userList) {
+            if (user.getUserid() == null || user.getUserid().isEmpty()) {
+                continue;
+            }
+
+            QwStaff existingStaff = qwStaffMapper.selectOne(
+                new LambdaQueryWrapper<QwStaff>().eq(QwStaff::getAccount, user.getUserid())
+            );
+
+            if (existingStaff == null) {
+                QwStaff qwStaff = new QwStaff();
+                qwStaff.setName(user.getName());
+                qwStaff.setAccount(user.getUserid());
+                qwStaff.setDept(user.getDepartment() != null ? user.getDepartment().toString() : null);
+
+                qwStaffMapper.insert(qwStaff);
+                insertCount++;
+            }
+        }
+
+        log.info("鍚屾鐢ㄦ埛鍒癚W_STAFF琛ㄥ畬鎴愶紝鏂板鐢ㄦ埛鏁�: {}", insertCount);
+        return insertCount;
+    }
+
     public List<CheckinData> getCheckinData(long startTime, long endTime, List<String> useridList) throws IOException {
         String accessToken = getAccessToken();
         String url = String.format("https://qyapi.weixin.qq.com/cgi-bin/checkin/getcheckindata?access_token=%s", accessToken);
@@ -357,7 +390,7 @@
         private String wifiname;
         private String notes;
         private String wifimac;
-        private String mediaids;
+        private List<String> mediaids;
         private Double lat;
         private Double lng;
         @JsonProperty("sch_checkin_time")

--
Gitblit v1.9.3