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

---
 src/main/java/com/gs/xky/config/DataAcquisitionConfiguration.java |    2 ++
 src/main/java/com/gs/xky/service/WorkWXService.java               |   34 ++++++++++++++++++++++++++++++++--
 2 files changed, 34 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/gs/xky/config/DataAcquisitionConfiguration.java b/src/main/java/com/gs/xky/config/DataAcquisitionConfiguration.java
index 54fe214..0b55a2d 100644
--- a/src/main/java/com/gs/xky/config/DataAcquisitionConfiguration.java
+++ b/src/main/java/com/gs/xky/config/DataAcquisitionConfiguration.java
@@ -45,4 +45,6 @@
     public static final String CORPID = "wwabe21b935901a7d8";
 
     public static final String CORPSECRET = "Z-7fNbZjrd80ypz69U14j8FMxI_fpUxcT6PksxlvKaY";
+
+    public static final String TXL_CORPSECRET = "T64bdcV7fo0hvW10W3NJYmGUmlBYxYMfiW6EiUJ9VPM";
 }
diff --git a/src/main/java/com/gs/xky/service/WorkWXService.java b/src/main/java/com/gs/xky/service/WorkWXService.java
index 44996b2..14753bf 100644
--- a/src/main/java/com/gs/xky/service/WorkWXService.java
+++ b/src/main/java/com/gs/xky/service/WorkWXService.java
@@ -61,8 +61,38 @@
         }
     }
 
+    public String getContactAccessToken() throws IOException {
+        String url = String.format("https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=%s&corpsecret=%s",
+                DataAcquisitionConfiguration.CORPID,
+                DataAcquisitionConfiguration.TXL_CORPSECRET);
+
+        Request request = new Request.Builder()
+                .url(url)
+                .get()
+                .build();
+
+        try (Response response = client.newCall(request).execute()) {
+            if (!response.isSuccessful()) {
+                log.error("鑾峰彇浼佷笟寰俊閫氳褰昦ccess_token澶辫触锛孒TTP鐘舵�佺爜: {}", response.code());
+                throw new IOException("鑾峰彇閫氳褰昦ccess_token澶辫触: " + response.message());
+            }
+
+            String responseBody = response.body().string();
+            WorkWXTokenResponse tokenResponse = objectMapper.readValue(responseBody, WorkWXTokenResponse.class);
+
+            if (tokenResponse.getErrcode() != 0) {
+                log.error("鑾峰彇浼佷笟寰俊閫氳褰昦ccess_token澶辫触锛岄敊璇爜: {}, 閿欒淇℃伅: {}",
+                        tokenResponse.getErrcode(), tokenResponse.getErrmsg());
+                throw new IOException("鑾峰彇閫氳褰昦ccess_token澶辫触: " + tokenResponse.getErrmsg());
+            }
+
+            log.info("鎴愬姛鑾峰彇浼佷笟寰俊閫氳褰昦ccess_token锛屾湁鏁堟湡: {}绉�", tokenResponse.getExpiresIn());
+            return tokenResponse.getAccessToken();
+        }
+    }
+
     public String getUserIdByMobile(String mobile) throws IOException {
-        String accessToken = getAccessToken();
+        String accessToken = getContactAccessToken();
         String url = String.format("https://qyapi.weixin.qq.com/cgi-bin/user/getuserid?access_token=%s", accessToken);
 
         Map<String, Object> requestBody = new HashMap<>();
@@ -101,7 +131,7 @@
     }
 
     public List<WorkWXUser> getUserList() throws IOException {
-        String accessToken = getAccessToken();
+        String accessToken = getContactAccessToken();
         String url = String.format(
                 "https://qyapi.weixin.qq.com/cgi-bin/user/simplelist?access_token=%s&department_id=1&fetch_child=1",
                 accessToken);

--
Gitblit v1.9.3