| @@ -17,7 +17,6 @@ import me.chanjar.weixin.common.error.WxErrorException; | |||||
| import me.chanjar.weixin.mp.bean.kefu.WxMpKefuMessage; | import me.chanjar.weixin.mp.bean.kefu.WxMpKefuMessage; | ||||
| import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage; | import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage; | ||||
| import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage; | import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage; | ||||
| import me.chanjar.weixin.open.bean.ma.WxOpenAuthorizer; | |||||
| import me.chanjar.weixin.open.bean.message.WxOpenXmlMessage; | import me.chanjar.weixin.open.bean.message.WxOpenXmlMessage; | ||||
| import me.chanjar.weixin.open.bean.result.*; | import me.chanjar.weixin.open.bean.result.*; | ||||
| import org.apache.commons.lang3.StringUtils; | import org.apache.commons.lang3.StringUtils; | ||||
| @@ -35,7 +34,6 @@ import java.io.InputStream; | |||||
| import java.io.PrintWriter; | import java.io.PrintWriter; | ||||
| import java.nio.charset.Charset; | import java.nio.charset.Charset; | ||||
| import java.util.Date; | import java.util.Date; | ||||
| import java.util.List; | |||||
| @Controller | @Controller | ||||
| @RequestMapping("/wxOpen") | @RequestMapping("/wxOpen") | ||||
| @@ -370,22 +368,23 @@ public class WechatCalllbackController extends BaseController { | |||||
| @GetMapping(value = "/getAuthorizerList") | @GetMapping(value = "/getAuthorizerList") | ||||
| @ApiOperation("拉取当前所有已授权的帐号基本信息") | @ApiOperation("拉取当前所有已授权的帐号基本信息") | ||||
| public ResultData getAuthorizerList() { | public ResultData getAuthorizerList() { | ||||
| Gson gson = new GsonBuilder().create(); | |||||
| try { | try { | ||||
| String accessToken = openService.getWxOpenComponentService().getComponentAccessToken(true); | String accessToken = openService.getWxOpenComponentService().getComponentAccessToken(true); | ||||
| String responseStr = openService.getWxOpenComponentService().getApiGetAuthorizerList(accessToken, 0, 100); | |||||
| WxOpenAuthorizerListResult authorizerListResult = gson.fromJson(responseStr, WxOpenAuthorizerListResult.class); | |||||
| if (authorizerListResult.getTotalCount() > 0) { | |||||
| List<WxOpenAuthorizer> openAuthorizerList = authorizerListResult.getList(); | |||||
| for(WxOpenAuthorizer openAuthorizer: openAuthorizerList) { | |||||
| String refreshToken = openAuthorizer.getRefreshToken(); | |||||
| if(StringUtils.isBlank(openAuthorizer.getRefreshToken())) { | |||||
| String ret = openService.getWxOpenComponentService().getApiGetAuthorizerList(accessToken, 0, 100); | |||||
| logger.info("getAuthorizerList: " + ret); | |||||
| JSONObject retObj = JSON.parseObject(ret); | |||||
| if(retObj.getInteger("total_count") > 0) { | |||||
| JSONArray dataList = retObj.getJSONArray("list"); | |||||
| for(int i= 0;i<dataList.size();i++) { | |||||
| JSONObject obj = dataList.getJSONObject(i); | |||||
| String appId = obj.getString("authorizer_appid"); | |||||
| String refreshToken = obj.getString("refresh_token"); | |||||
| Date authDate = new Date(obj.getLong("auth_time")*1000); | |||||
| if(StringUtils.isBlank(refreshToken)) { | |||||
| continue; | continue; | ||||
| } | } | ||||
| String appId = openAuthorizer.getAuthorizerAppid(); | |||||
| Date authDate = new Date(openAuthorizer.getAuthTime()*1000L); | |||||
| WxAuthorizerInfo authorizerInfo = new WxAuthorizerInfo(); | WxAuthorizerInfo authorizerInfo = new WxAuthorizerInfo(); | ||||
| authorizerInfo.setAuthorizerAppid(appId); | authorizerInfo.setAuthorizerAppid(appId); | ||||
| authorizerInfo.setRefreshToken(refreshToken); | authorizerInfo.setRefreshToken(refreshToken); | ||||
| @@ -395,7 +394,7 @@ public class WechatCalllbackController extends BaseController { | |||||
| openService.getWxOpenComponentService().getWxOpenConfigStorage().setAuthorizerRefreshToken(appId, refreshToken); | openService.getWxOpenComponentService().getWxOpenConfigStorage().setAuthorizerRefreshToken(appId, refreshToken); | ||||
| } | } | ||||
| } | } | ||||
| return new ResultData(responseStr); | |||||
| return new ResultData(ret); | |||||
| } catch (WxErrorException e) { | } catch (WxErrorException e) { | ||||
| logger.error(e.getMessage()); | logger.error(e.getMessage()); | ||||
| return new ResultData(Result.ERROR, e.getMessage()); | return new ResultData(Result.ERROR, e.getMessage()); | ||||