| @@ -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.message.WxMpXmlMessage; | |||
| 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.result.*; | |||
| import org.apache.commons.lang3.StringUtils; | |||
| @@ -35,7 +34,6 @@ import java.io.InputStream; | |||
| import java.io.PrintWriter; | |||
| import java.nio.charset.Charset; | |||
| import java.util.Date; | |||
| import java.util.List; | |||
| @Controller | |||
| @RequestMapping("/wxOpen") | |||
| @@ -370,22 +368,23 @@ public class WechatCalllbackController extends BaseController { | |||
| @GetMapping(value = "/getAuthorizerList") | |||
| @ApiOperation("拉取当前所有已授权的帐号基本信息") | |||
| public ResultData getAuthorizerList() { | |||
| Gson gson = new GsonBuilder().create(); | |||
| try { | |||
| 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; | |||
| } | |||
| String appId = openAuthorizer.getAuthorizerAppid(); | |||
| Date authDate = new Date(openAuthorizer.getAuthTime()*1000L); | |||
| WxAuthorizerInfo authorizerInfo = new WxAuthorizerInfo(); | |||
| authorizerInfo.setAuthorizerAppid(appId); | |||
| authorizerInfo.setRefreshToken(refreshToken); | |||
| @@ -395,7 +394,7 @@ public class WechatCalllbackController extends BaseController { | |||
| openService.getWxOpenComponentService().getWxOpenConfigStorage().setAuthorizerRefreshToken(appId, refreshToken); | |||
| } | |||
| } | |||
| return new ResultData(responseStr); | |||
| return new ResultData(ret); | |||
| } catch (WxErrorException e) { | |||
| logger.error(e.getMessage()); | |||
| return new ResultData(Result.ERROR, e.getMessage()); | |||