From 8f2544f1d0e5e82c0e7ee1d89abc1c916b0b9f9f Mon Sep 17 00:00:00 2001
From: yanghui <2536613402@qq.com>
Date: 星期二, 01 十一月 2022 13:35:16 +0800
Subject: [PATCH] #feat 修改获取token

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/util/WxMaConfiguration.java |   36 ++++++++++++++++++++++++++++++++++++
 1 files changed, 36 insertions(+), 0 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/util/WxMaConfiguration.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/util/WxMaConfiguration.java
index aa02505..459effe 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/util/WxMaConfiguration.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/util/WxMaConfiguration.java
@@ -2,6 +2,14 @@
 
 import javax.annotation.Resource;
 
+import cn.binarywang.wx.miniapp.config.impl.WxMaRedisBetterConfigImpl;
+import com.panzhihua.common.model.vos.R;
+import com.panzhihua.common.model.vos.user.SysAppConfigVO;
+import com.panzhihua.common.service.user.UserService;
+import com.panzhihua.common.utlis.StringUtils;
+import me.chanjar.weixin.common.redis.RedisTemplateWxRedisOps;
+import me.chanjar.weixin.common.redis.WxRedisOps;
+import org.springframework.data.redis.core.StringRedisTemplate;
 import org.springframework.stereotype.Component;
 
 import cn.binarywang.wx.miniapp.api.WxMaService;
@@ -21,6 +29,12 @@
 
     @Resource
     private WxMaProperties properties;
+    @Resource
+    private StringRedisTemplate stringRedisTemplate;
+
+    @Resource
+    private UserService userService;
+
 
     public WxMaService getMaService() {
         WxMaDefaultConfigImpl config = new WxMaDefaultConfigImpl();
@@ -31,4 +45,26 @@
         wxMaService.setWxMaConfig(config);
         return wxMaService;
     }
+
+    public WxMaService getMaService(String appid) {
+        WxRedisOps redisOps = new RedisTemplateWxRedisOps(stringRedisTemplate);
+        WxMaRedisBetterConfigImpl config = new WxMaRedisBetterConfigImpl(redisOps, "access_token");
+        if(StringUtils.isNotEmpty(appid)){
+            R<SysAppConfigVO> r=userService.selectByAppid(appid);
+            if(R.isOk(r)){
+                SysAppConfigVO sysAppConfigVO= r.getData();
+                config.setAppid(sysAppConfigVO.getAppId());
+                config.setSecret(sysAppConfigVO.getSecret());
+                config.setMsgDataFormat(properties.getMsgDataFormat());
+            }
+        }
+        else{
+            config.setAppid(properties.getAppid());
+            config.setSecret(properties.getSecret());
+            config.setMsgDataFormat(properties.getMsgDataFormat());
+        }
+        WxMaService wxMaService = new WxMaServiceImpl();
+        wxMaService.setWxMaConfig(config);
+        return wxMaService;
+    }
 }

--
Gitblit v1.7.1