From e4104ab432bb2a028ee6a3f2e03e462279c2ccae Mon Sep 17 00:00:00 2001
From: zhanglin8526 <852614290@qq.com>
Date: 星期二, 09 五月 2023 18:37:44 +0800
Subject: [PATCH] 企业微信授权网页功能

---
 ruoyi-auth/src/main/java/com/ruoyi/auth/service/QywxInnerService.java |   19 ++++++++++++++-----
 1 files changed, 14 insertions(+), 5 deletions(-)

diff --git a/ruoyi-auth/src/main/java/com/ruoyi/auth/service/QywxInnerService.java b/ruoyi-auth/src/main/java/com/ruoyi/auth/service/QywxInnerService.java
index b425ba0..d41b903 100644
--- a/ruoyi-auth/src/main/java/com/ruoyi/auth/service/QywxInnerService.java
+++ b/ruoyi-auth/src/main/java/com/ruoyi/auth/service/QywxInnerService.java
@@ -127,14 +127,14 @@
 
 
 
-    public AgentConfigVo getAgentConfig(String url) {
+    public AgentConfigVo getAgentConfig(String url, String type) {
 
         AgentConfigVo agentConfigVo = new AgentConfigVo();
         agentConfigVo.setAgentid(qywxInnerConfig.getAgentId());
         agentConfigVo.setCorpid(qywxInnerConfig.getCorpId());
 
         //临时票据
-        String ticket = getJsApiTicket();
+        String ticket = getJsApiTicket(type);
         if (StringUtils.isEmpty(ticket)) {
            throw new ServiceException("获取票据异常");
         }
@@ -178,13 +178,22 @@
      * @paran type
      * @return
      */
-    public String getJsApiTicket() {
+    public String getJsApiTicket(String type) {
         String accessToken = getAccessToken();
-        String ticket = redisTemplate.opsForValue().get(Constants.QY_WX_TICKET_KEY);
+        String ticketKey = Constants.QY_WX_TICKET_KEY;
+
+        String jsapiTicketUrl = qywxInnerConfig.getJsapiTicketUrl();
+        if(!StringUtils.isEmpty(type)){
+            ticketKey = ticketKey + type;
+            jsapiTicketUrl = qywxInnerConfig.getJsapiTicketAgentUrl();
+        }
+
+        String ticket = redisTemplate.opsForValue().get(ticketKey);
         if(!StringUtils.isEmpty(ticket)){
             return ticket;
         }
-        String url = String.format(qywxInnerConfig.getJsapiTicketAgentUrl(), accessToken);
+
+        String url = String.format(jsapiTicketUrl, accessToken);
 
         JSONObject response = RestUtils.get(url);
         if(response.containsKey(Constants.QY_WX_ERR_CODE) && response.getInteger(Constants.QY_WX_ERR_CODE) != 0){

--
Gitblit v1.7.1