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 | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 56 insertions(+), 0 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 1d80f0a..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,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 +28,7 @@
import javax.servlet.http.HttpServletRequest;
import java.util.Arrays;
+import java.util.List;
/**
* @ClassName WechatController
@@ -57,6 +61,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 +110,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);
@@ -149,4 +166,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