From 256acffffd45af74181fc96d7090cd42563c72ca Mon Sep 17 00:00:00 2001
From: tjx <t2856754968@163.com>
Date: 星期五, 19 十二月 2025 16:56:06 +0800
Subject: [PATCH] 111

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

diff --git a/src/main/java/com/gs/dingtalk/service/WorkWXService.java b/src/main/java/com/gs/dingtalk/service/WorkWXService.java
index 398ebd5..493ed70 100644
--- a/src/main/java/com/gs/dingtalk/service/WorkWXService.java
+++ b/src/main/java/com/gs/dingtalk/service/WorkWXService.java
@@ -212,6 +212,37 @@
         }
     }
 
+    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;
+            }
+
+            qwStaffMapper.delete(
+                new LambdaQueryWrapper<QwStaff>().eq(QwStaff::getAccount, user.getUserid())
+            );
+
+            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);

--
Gitblit v1.9.3