From de233cb19d2739d4fad3f88f0286244ceba1c270 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期一, 22 六月 2020 14:47:26 +0800
Subject: [PATCH] 修改公众号 对接token

---
 service-front/src/main/java/com/java110/front/controller/wechat/WechatGatewayController.java |   61 +++++++++++++++++++++++-------
 1 files changed, 46 insertions(+), 15 deletions(-)

diff --git a/service-front/src/main/java/com/java110/front/controller/wechat/WechatGatewayController.java b/service-front/src/main/java/com/java110/front/controller/wechat/WechatGatewayController.java
index 2329525..6989c46 100644
--- a/service-front/src/main/java/com/java110/front/controller/wechat/WechatGatewayController.java
+++ b/service-front/src/main/java/com/java110/front/controller/wechat/WechatGatewayController.java
@@ -62,22 +62,9 @@
         String echostr = request.getParameter("echostr");
         String communityId = request.getParameter("communityId");
         String java110AppId = request.getParameter("java110AppId");
-        IPageData pd = PageData.newInstance().builder("-1", "", "", "",
-                "", "", "", "",
-                java110AppId);
-        if(!StringUtil.isEmpty(communityId)){
-            SmallWeChatDto smallWeChatDto = new SmallWeChatDto();
-            smallWeChatDto.setObjType(SmallWeChatDto.OBJ_TYPE_COMMUNITY);
-            smallWeChatDto.setObjId(communityId);
-            smallWeChatDto = wechatGatewaySMOImpl.getSmallWechat(pd,smallWeChatDto);
 
-            if(smallWeChatDto !=null){
-                List<SmallWechatAttrDto> smallWechatAttrDtos = smallWeChatDto.getSmallWechatAttrs();
-
-                if(smallWechatAttrDtos != null){
-                   // for()
-                }
-            }
+        if (!StringUtil.isEmpty(communityId)) {
+            token = getToken(java110AppId,communityId);
         }
         String responseStr = "";
         logger.debug("token = " + token + "||||" + "signature = " + signature + "|||" + "timestamp = "
@@ -121,6 +108,11 @@
         String openId = request.getParameter("openid");
         String java110AppId = request.getParameter("java110AppId");
         String responseStr = "";
+
+        String communityId = request.getParameter("communityId");
+        if (!StringUtil.isEmpty(communityId)) {
+            token = getToken(java110AppId,communityId);
+        }
         ResponseEntity<String> responseEntity = null;
         logger.debug("token = " + token + "||||" + "signature = " + signature + "|||" + "timestamp = "
                 + timestamp + "|||" + "nonce = " + nonce + "|||| param = " + param + "|||| openId= " + openId);
@@ -171,4 +163,43 @@
 
         return responseEntity;
     }
+
+    private SmallWeChatDto getSmallWechat(String java110AppId, String communityId) {
+        IPageData pd = PageData.newInstance().builder("-1", "", "", "",
+                "", "", "", "",
+                java110AppId);
+        SmallWeChatDto smallWeChatDto = new SmallWeChatDto();
+        smallWeChatDto.setObjType(SmallWeChatDto.OBJ_TYPE_COMMUNITY);
+        smallWeChatDto.setObjId(communityId);
+        smallWeChatDto = wechatGatewaySMOImpl.getSmallWechat(pd, smallWeChatDto);
+
+        return smallWeChatDto;
+
+    }
+
+    /**
+     * 鑾峰彇token
+     *
+     * @param java110AppId
+     * @return
+     */
+    private String getToken(String java110AppId, String communityId) {
+        SmallWeChatDto smallWeChatDto = getSmallWechat(java110AppId, communityId);
+        String token = MappingCache.getValue(WechatConstant.WECHAT_DOMAIN, WechatConstant.TOKEN);
+        if (smallWeChatDto == null) {
+            return token;
+        }
+        List<SmallWechatAttrDto> smallWechatAttrDtos = smallWeChatDto.getSmallWechatAttrs();
+
+        if (smallWechatAttrDtos == null) {
+            return token;
+        }
+        for (SmallWechatAttrDto smallWechatAttrDto : smallWechatAttrDtos) {
+            if (SmallWechatAttrDto.SPEC_CD_TOKEN.equals(smallWechatAttrDto.getSpecCd())) {
+                token = smallWechatAttrDto.getValue();
+            }
+        }
+
+        return token;
+    }
 }

--
Gitblit v1.8.0