From 3835848b28f3cf605aa1fbda443024ee11740493 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期一, 10 五月 2021 11:54:14 +0800
Subject: [PATCH] 优化代码

---
 java110-core/src/main/java/com/java110/core/factory/WechatFactory.java |   10 +++++++++-
 1 files changed, 9 insertions(+), 1 deletions(-)

diff --git a/java110-core/src/main/java/com/java110/core/factory/WechatFactory.java b/java110-core/src/main/java/com/java110/core/factory/WechatFactory.java
old mode 100644
new mode 100755
index 65d5693..501e3cb
--- a/java110-core/src/main/java/com/java110/core/factory/WechatFactory.java
+++ b/java110-core/src/main/java/com/java110/core/factory/WechatFactory.java
@@ -1,7 +1,9 @@
 package com.java110.core.factory;
 
 import com.alibaba.fastjson.JSONObject;
+import com.java110.core.annotation.Java110Synchronized;
 import com.java110.utils.cache.JWTCache;
+import com.java110.utils.cache.MappingCache;
 import com.java110.utils.constant.WechatConstant;
 import com.java110.utils.factory.ApplicationContextFactory;
 import com.java110.utils.util.StringUtil;
@@ -49,6 +51,7 @@
      * @param appSecure
      * @return
      */
+    @Java110Synchronized(value = "appId")
     public static String getAccessToken(String appId, String appSecure) {
         String accessToken = JWTCache.getValue(WECHAT + appId);
         if (StringUtil.isEmpty(accessToken)) {
@@ -65,7 +68,11 @@
      * @return
      */
     private static String refreshAccessToken(String appId, String appSecure) {
-        String url = WechatConstant.GET_ACCESS_TOKEN.replace("APPID", appId)
+        String getAccessToken = MappingCache.getRemark(WechatConstant.WECHAT_DOMAIN,WechatConstant.GET_ACCESS_TOKEN_URL);
+        if(StringUtil.isEmpty(getAccessToken)){
+            getAccessToken = WechatConstant.GET_ACCESS_TOKEN;
+        }
+        String url = getAccessToken.replace("APPID", appId)
                 .replace("SECRET", appSecure);
         RestTemplate outRestTemplate = ApplicationContextFactory.getBean("outRestTemplate", RestTemplate.class);
         String response = outRestTemplate.getForObject(url, String.class);
@@ -100,6 +107,7 @@
      * @return
      */
     public static String getAppId(String wId) {
+        wId = wId.replace(" ", "+");
         return AuthenticationFactory.decrypt(password, wId);
     }
 

--
Gitblit v1.8.0