From aa871545d140dbd5d550b10bdc41ed92362a285e Mon Sep 17 00:00:00 2001 From: zxc <954985706@qq.com> Date: Mon, 20 Jul 2020 16:48:53 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BE=AE=E4=BF=A1=E7=AC=AC=E4=B8=89=E6=96=B9?= =?UTF-8?q?=E5=B9=B3=E5=8F=B0-=E8=AE=BF=E9=97=AE=E5=BE=AE=E4=BF=A1URL?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/ComponentVerifyTicketServiceImpl.java | 10 +++++++--- .../com/epmet/wxapi/constant/WxMaCodeConstant.java | 6 +++--- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/ComponentVerifyTicketServiceImpl.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/ComponentVerifyTicketServiceImpl.java index 92475ea916..a5fc281cc2 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/ComponentVerifyTicketServiceImpl.java +++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/ComponentVerifyTicketServiceImpl.java @@ -7,6 +7,7 @@ import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.utils.HttpClientManager; import com.epmet.constant.ModuleConstant; +import com.epmet.constant.ThirdRedisKeyConstant; import com.epmet.constant.ThirdRunTimeInfoConstant; import com.epmet.dao.*; import com.epmet.dto.form.*; @@ -328,7 +329,8 @@ public class ComponentVerifyTicketServiceImpl implements ComponentVerifyTicketSe //第三方平台AppId jsonObject.put(ModuleConstant.COMPONENT_APPID,componentAppId); jsonObject.put(ModuleConstant.AUTHORIZER_REFRESH_TOKEN,willOverDueDTO.getAuthorizerRefreshToken()); - String data = HttpClientManager.getInstance().sendPostByJSON(WxMaCodeConstant.API_AUTHORIZER_TOKEN_URL, JSON.toJSONString(jsonObject)).getData(); + String componentAccessToken = redisThird.getComponentAccessToken(); + String data = HttpClientManager.getInstance().sendPostByJSON(WxMaCodeConstant.API_AUTHORIZER_TOKEN_URL + componentAccessToken, JSON.toJSONString(jsonObject)).getData(); Map map = JSON.parseObject(data, HashMap.class); //authorizer_access_token String authorizerAccessToken = map.get(ModuleConstant.AUTHORIZER_ACCESS_TOKEN).toString(); @@ -499,12 +501,14 @@ public class ComponentVerifyTicketServiceImpl implements ComponentVerifyTicketSe log.info("开始创建开放平台账号并绑定"); Integer authCount = customerMpDao.selectAuthCount(customerId); String openPlatformId = null; + String authorizerRefreshToken = redisThird.getAuthorizerRefreshToken(customerId + ThirdRedisKeyConstant.COLON + clientType); if (authCount==NumConstant.ZERO){ log.info("未查询到该客户授权信息,先创建开放平台账号,再绑定"); //没有任何一个小程序/公众号授权,【先创建,再绑定】 JSONObject jsonObject = new JSONObject(); jsonObject.put(ModuleConstant.APP_ID,authAppId); - String data = HttpClientManager.getInstance().sendPostByJSON(WxMaCodeConstant.API_CREATE_OPEN, JSON.toJSONString(jsonObject)).getData(); + // 此处的 access_token 为 【authorizer_access_token】 + String data = HttpClientManager.getInstance().sendPostByJSON(WxMaCodeConstant.API_CREATE_OPEN + authorizerRefreshToken, JSON.toJSONString(jsonObject)).getData(); Map map = JSON.parseObject(data, Map.class); CreateOpenResultDTO createOpen = new CreateOpenResultDTO(); createOpen.setErrCode(Integer.valueOf(map.get(ModuleConstant.ERR_CODE))); @@ -533,7 +537,7 @@ public class ComponentVerifyTicketServiceImpl implements ComponentVerifyTicketSe JSONObject jsonObject = new JSONObject(); jsonObject.put(ModuleConstant.LOW_APP_ID,componentAppId); jsonObject.put(ModuleConstant.OPEN_APP_ID,openAppId); - String data = HttpClientManager.getInstance().sendPostByJSON(WxMaCodeConstant.API_BIND_OPEN, JSON.toJSONString(jsonObject)).getData(); + String data = HttpClientManager.getInstance().sendPostByJSON(WxMaCodeConstant.API_BIND_OPEN + authorizerRefreshToken, JSON.toJSONString(jsonObject)).getData(); Map map = JSON.parseObject(data, Map.class); CreateOpenResultDTO createOpen = new CreateOpenResultDTO(); createOpen.setErrCode(Integer.valueOf(map.get(ModuleConstant.ERR_CODE))); diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/constant/WxMaCodeConstant.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/constant/WxMaCodeConstant.java index fca87baeb7..e408fe7fa1 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/constant/WxMaCodeConstant.java +++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/constant/WxMaCodeConstant.java @@ -23,7 +23,7 @@ public interface WxMaCodeConstant { */ String API_COMPONENT_TOKEN_URL = "https://api.weixin.qq.com/cgi-bin/component/api_component_token"; - String API_AUTHORIZER_TOKEN_URL = "https://api.weixin.qq.com/cgi-bin/component/api_authorizer_token"; + String API_AUTHORIZER_TOKEN_URL = "https://api.weixin.qq.com/cgi-bin/component/api_authorizer_token?component_access_token="; /** * 授权回调url @@ -48,12 +48,12 @@ public interface WxMaCodeConstant { /** * 创建开放平台帐号并绑定公众号/小程序 */ - String API_CREATE_OPEN = "https://api.weixin.qq.com/cgi-bin/open/create"; + String API_CREATE_OPEN = "https://api.weixin.qq.com/cgi-bin/open/create?access_token="; /** * 公众号/小程序绑定到开放平台帐号下 */ - String API_BIND_OPEN = "https://api.weixin.qq.com/cgi-bin/open/bind?"; + String API_BIND_OPEN = "https://api.weixin.qq.com/cgi-bin/open/bind?access_token="; /** * 获取授权方的帐号基本信息