From 04b8f2ff696b53cd3f4b4bcf7d11dc3a62a4a65a Mon Sep 17 00:00:00 2001
From: tjx <t2856754968@163.com>
Date: 星期三, 26 十一月 2025 14:11:37 +0800
Subject: [PATCH] 新增企业微信的接口

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

diff --git a/src/main/java/com/gs/xky/service/WorkWXService.java b/src/main/java/com/gs/xky/service/WorkWXService.java
index 5852446..e7958b8 100644
--- a/src/main/java/com/gs/xky/service/WorkWXService.java
+++ b/src/main/java/com/gs/xky/service/WorkWXService.java
@@ -180,6 +180,38 @@
         return getCheckinData(startTime, endTime, useridList);
     }
 
+    public WorkWXUserDetail getUserDetail(String userid) throws IOException {
+        String accessToken = getContactAccessToken();
+        String url = String.format("https://qyapi.weixin.qq.com/cgi-bin/user/get?access_token=%s&userid=%s",
+                accessToken, userid);
+
+        Request request = new Request.Builder()
+                .url(url)
+                .get()
+                .build();
+
+        try (Response response = client.newCall(request).execute()) {
+            if (!response.isSuccessful()) {
+                log.error("鑾峰彇鐢ㄦ埛璇︽儏澶辫触锛孒TTP鐘舵�佺爜: {}", response.code());
+                throw new IOException("鑾峰彇鐢ㄦ埛璇︽儏澶辫触: " + response.message());
+            }
+
+            String responseBody = response.body().string();
+            log.info("鑾峰彇鐢ㄦ埛璇︽儏鍝嶅簲: {}", responseBody);
+
+            WorkWXUserDetailResponse userDetailResponse = objectMapper.readValue(responseBody, WorkWXUserDetailResponse.class);
+
+            if (userDetailResponse.getErrcode() != 0) {
+                log.error("鑾峰彇鐢ㄦ埛璇︽儏澶辫触锛岄敊璇爜: {}, 閿欒淇℃伅: {}",
+                        userDetailResponse.getErrcode(), userDetailResponse.getErrmsg());
+                throw new IOException("鑾峰彇鐢ㄦ埛璇︽儏澶辫触: " + userDetailResponse.getErrmsg());
+            }
+
+            log.info("鎴愬姛鑾峰彇鐢ㄦ埛 {} 鐨勮鎯�", userid);
+            return userDetailResponse;
+        }
+    }
+
     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);
@@ -288,6 +320,20 @@
     }
 
     @Data
+    public static class WorkWXUserDetail {
+        private Integer errcode;
+        private String errmsg;
+        private String userid;
+        private String name;
+        private String mobile;
+        private String position;
+    }
+
+    @Data
+    private static class WorkWXUserDetailResponse extends WorkWXUserDetail {
+    }
+
+    @Data
     private static class WorkWXCheckinResponse {
         private Integer errcode;
         private String errmsg;

--
Gitblit v1.9.3