From d3bcec43a5e456964b42ce02cd0e022b25b648d3 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期四, 09 七月 2020 08:46:54 +0800
Subject: [PATCH] 优化业主绑定

---
 service-front/src/main/java/com/java110/front/controller/wechat/WechatGatewayController.java |   29 ++++++++++++++++-------------
 1 files changed, 16 insertions(+), 13 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 6989c46..17223af 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
@@ -6,6 +6,7 @@
 import com.java110.core.context.IPageData;
 import com.java110.core.context.PageData;
 import com.java110.core.factory.AuthenticationFactory;
+import com.java110.core.factory.WechatFactory;
 import com.java110.dto.smallWeChat.SmallWeChatDto;
 import com.java110.dto.smallWechatAttr.SmallWechatAttrDto;
 import com.java110.front.smo.wechatGateway.IWechatGatewaySMO;
@@ -60,11 +61,12 @@
         String timestamp = request.getParameter("timestamp");
         String nonce = request.getParameter("nonce");
         String echostr = request.getParameter("echostr");
-        String communityId = request.getParameter("communityId");
+        String wId = request.getParameter(WechatConstant.PAGE_WECHAT_APP_ID);
         String java110AppId = request.getParameter("java110AppId");
-
-        if (!StringUtil.isEmpty(communityId)) {
-            token = getToken(java110AppId,communityId);
+        logger.debug("璇锋眰鍙傛暟" + JSONObject.toJSONString(request.getParameterMap()));
+        if (!StringUtil.isEmpty(wId)) {
+            wId = wId.replace(" ", "+");
+            token = getToken(java110AppId, wId);
         }
         String responseStr = "";
         logger.debug("token = " + token + "||||" + "signature = " + signature + "|||" + "timestamp = "
@@ -108,10 +110,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);
+        String wId = request.getParameter(WechatConstant.PAGE_WECHAT_APP_ID);
+        logger.debug("璇锋眰鍙傛暟" + request.getParameterMap().toString());
+        if (!StringUtil.isEmpty(wId)) {
+            wId = wId.replace(" ", "+");
+            token = getToken(java110AppId, wId);
         }
         ResponseEntity<String> responseEntity = null;
         logger.debug("token = " + token + "||||" + "signature = " + signature + "|||" + "timestamp = "
@@ -164,13 +167,12 @@
         return responseEntity;
     }
 
-    private SmallWeChatDto getSmallWechat(String java110AppId, String communityId) {
+    private SmallWeChatDto getSmallWechat(String java110AppId, String appId) {
         IPageData pd = PageData.newInstance().builder("-1", "", "", "",
                 "", "", "", "",
                 java110AppId);
         SmallWeChatDto smallWeChatDto = new SmallWeChatDto();
-        smallWeChatDto.setObjType(SmallWeChatDto.OBJ_TYPE_COMMUNITY);
-        smallWeChatDto.setObjId(communityId);
+        smallWeChatDto.setAppId(appId);
         smallWeChatDto = wechatGatewaySMOImpl.getSmallWechat(pd, smallWeChatDto);
 
         return smallWeChatDto;
@@ -183,8 +185,9 @@
      * @param java110AppId
      * @return
      */
-    private String getToken(String java110AppId, String communityId) {
-        SmallWeChatDto smallWeChatDto = getSmallWechat(java110AppId, communityId);
+    private String getToken(String java110AppId, String wId) {
+        String appId = WechatFactory.getAppId(wId);
+        SmallWeChatDto smallWeChatDto = getSmallWechat(java110AppId, appId);
         String token = MappingCache.getValue(WechatConstant.WECHAT_DOMAIN, WechatConstant.TOKEN);
         if (smallWeChatDto == null) {
             return token;

--
Gitblit v1.8.0