From b497ff41e47f4ebe69b86f13f6972f34f33f4884 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期二, 01 六月 2021 09:35:46 +0800
Subject: [PATCH] Merge branch 'master' of http://git.homecommunity.cn/supervip/MicroCommunity
---
service-front/src/main/java/com/java110/front/controller/wechat/WechatGatewayController.java | 73 ++++++++++++++++++++++++++++++++++++
1 files changed, 72 insertions(+), 1 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
old mode 100644
new mode 100755
index 1d80f0a..908e255
--- 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
@@ -1,3 +1,18 @@
+/*
+ * Copyright 2017-2020 鍚村鏂� and java110 team.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package com.java110.front.controller.wechat;
@@ -6,6 +21,9 @@
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;
import com.java110.utils.cache.MappingCache;
import com.java110.utils.constant.WechatConstant;
@@ -25,6 +43,7 @@
import javax.servlet.http.HttpServletRequest;
import java.util.Arrays;
+import java.util.List;
/**
* @ClassName WechatController
@@ -57,6 +76,13 @@
String timestamp = request.getParameter("timestamp");
String nonce = request.getParameter("nonce");
String echostr = request.getParameter("echostr");
+ String wId = request.getParameter(WechatConstant.PAGE_WECHAT_APP_ID);
+ String java110AppId = request.getParameter("java110AppId");
+ 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 = "
+ timestamp + "|||" + "nonce = " + nonce + "|||" + "echostr = " + echostr);
@@ -99,6 +125,12 @@
String openId = request.getParameter("openid");
String java110AppId = request.getParameter("java110AppId");
String responseStr = "";
+ 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 = "
+ timestamp + "|||" + "nonce = " + nonce + "|||| param = " + param + "|||| openId= " + openId);
@@ -138,7 +170,7 @@
IPageData pd = PageData.newInstance().builder("-1", "", "", paramIn.toJSONString(),
"", "", "", "",
java110AppId);
- responseEntity = wechatGatewaySMOImpl.gateway(pd);
+ responseEntity = wechatGatewaySMOImpl.gateway(pd,wId);
} catch (Exception e) {
// TODO Auto-generated catch block
@@ -149,4 +181,43 @@
return responseEntity;
}
+
+ private SmallWeChatDto getSmallWechat(String java110AppId, String appId) {
+ IPageData pd = PageData.newInstance().builder("-1", "", "", "",
+ "", "", "", "",
+ java110AppId);
+ SmallWeChatDto smallWeChatDto = new SmallWeChatDto();
+ smallWeChatDto.setAppId(appId);
+ smallWeChatDto = wechatGatewaySMOImpl.getSmallWechat(pd, smallWeChatDto);
+
+ return smallWeChatDto;
+
+ }
+
+ /**
+ * 鑾峰彇token
+ *
+ * @param java110AppId
+ * @return
+ */
+ 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;
+ }
+ 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