|
|
|
@@ -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()); |
|
|
|
|