Просмотр исходного кода

[已授权信息获取][新增]:更新解析方法

release
Stormeye Wu 7 лет назад
Родитель
Сommit
2279662448
1 измененных файлов: 15 добавлений и 17 удалений
  1. +15
    -17
      mlWechatOpen/src/main/java/com/iformall/controller/WechatCalllbackController.java

+ 15
- 17
mlWechatOpen/src/main/java/com/iformall/controller/WechatCalllbackController.java Просмотреть файл

@@ -17,11 +17,9 @@ 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.WxOpenAuthorizerInfoResult;
import me.chanjar.weixin.open.bean.result.WxOpenPlatformResult;
import me.chanjar.weixin.open.bean.result.WxOpenQueryAuthResult;
import me.chanjar.weixin.open.bean.result.WxOpenResult;
import me.chanjar.weixin.open.bean.result.*;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -37,6 +35,7 @@ import java.io.InputStream;
import java.io.PrintWriter;
import java.nio.charset.Charset;
import java.util.Date;
import java.util.List;

@Controller
@RequestMapping("/wxOpen")
@@ -371,23 +370,22 @@ 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 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)) {
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())) {
continue;
}

String appId = openAuthorizer.getAuthorizerAppid();
Date authDate = new Date(openAuthorizer.getAuthTime()*1000L);

WxAuthorizerInfo authorizerInfo = new WxAuthorizerInfo();
authorizerInfo.setAuthorizerAppid(appId);
authorizerInfo.setRefreshToken(refreshToken);
@@ -397,7 +395,7 @@ public class WechatCalllbackController extends BaseController {
openService.getWxOpenComponentService().getWxOpenConfigStorage().setAuthorizerRefreshToken(appId, refreshToken);
}
}
return new ResultData(ret);
return new ResultData(responseStr);
} catch (WxErrorException e) {
logger.error(e.getMessage());
return new ResultData(Result.ERROR, e.getMessage());


Загрузка…
Отмена
Сохранить