From 0398509aa5f27bd6f987adf3d24eceef56b07b4c Mon Sep 17 00:00:00 2001
From: jiangqs <jiangqs>
Date: 星期二, 09 五月 2023 19:04:55 +0800
Subject: [PATCH] Merge branch 'master' of ssh://sinata.cn:20202/java/HongRuiTang into master

---
 ruoyi-auth/src/main/java/com/ruoyi/auth/service/QywxInnerService.java |   21 +++++++++++++++------
 1 files changed, 15 insertions(+), 6 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..eab02d3 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("agent_config".equals(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){
@@ -195,7 +204,7 @@
         ticket = response.getString(Constants.QY_WX_TICKET);
         Long expiresIn = response.getLong(Constants.QY_WX_EXPIRES_IN);
         expiresIn = expiresIn - 100;
-        redisTemplate.opsForValue().set(Constants.QY_WX_TICKET_KEY, ticket, expiresIn, TimeUnit.SECONDS);
+        redisTemplate.opsForValue().set(ticketKey, ticket, expiresIn, TimeUnit.SECONDS);
 
         return ticket;
     }

--
Gitblit v1.7.1