From ee9ad3f7dfedee00e077ae08280d316aac6054aa Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期四, 30 十月 2025 18:45:06 +0800
Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/haizhentong

---
 ruoyi-system/src/main/java/com/ruoyi/system/utils/wx/tools/WxAppletTools.java |   21 +++++++++++++++++++++
 1 files changed, 21 insertions(+), 0 deletions(-)

diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/utils/wx/tools/WxAppletTools.java b/ruoyi-system/src/main/java/com/ruoyi/system/utils/wx/tools/WxAppletTools.java
index 9aa902c..e583cfe 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/utils/wx/tools/WxAppletTools.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/utils/wx/tools/WxAppletTools.java
@@ -22,6 +22,7 @@
 @Slf4j
 public class WxAppletTools {
     private final static String ACCESSTOKEN_CACHE_KEY = "accessToken";
+    private final static String ACCESS_TOKEN_OFFICE_CACHE_KEY = "accessTokenOffice";
     /**
      * 请求参数
      * 属性	类型	默认值	必填	说明
@@ -161,4 +162,24 @@
         return accessTokenRespBody.getAccessToken();
     }
 
+    /**
+     * @return
+     */
+    public String getAccessTokenOffice() {
+        String accessToken = redisService.getCacheObject(ACCESS_TOKEN_OFFICE_CACHE_KEY);
+        if (StringUtils.hasLength(accessToken)) {
+            return accessToken;
+        }
+        String requestUrl = MessageFormat.format(ACCESS_TOKEN_URL, wxConfig.getOfficeAppId(), wxConfig.getOfficeSecretId());
+        String respBody = wxRestTemplate.getForEntity(requestUrl, String.class).getBody();
+        AccessTokenRespBody accessTokenRespBody = WxJsonUtils.parseObject(respBody, AccessTokenRespBody.class);
+        // 判断有误异常
+        if (StringUtils.hasLength(accessTokenRespBody.getErrorMsg())) {
+            // 抛出错误
+            throw new WxException(accessTokenRespBody.getErrorCode() + ":" + accessTokenRespBody.getErrorMsg());
+        }
+        redisService.setCacheObject(ACCESS_TOKEN_OFFICE_CACHE_KEY, accessTokenRespBody.getAccessToken(), 7200L, TimeUnit.SECONDS);
+        return accessTokenRespBody.getAccessToken();
+    }
+
 }

--
Gitblit v1.7.1