提交 ea83803c 作者: 沈振路

刷公众号用户标签的测试类接口调用接口异常日志输出

上级 56acfd16
...@@ -435,15 +435,15 @@ public class TestController { ...@@ -435,15 +435,15 @@ public class TestController {
Integer miniProgramUserTagId = miniProgramUserWechatTagIdByAuthorizer.get(authId); Integer miniProgramUserTagId = miniProgramUserWechatTagIdByAuthorizer.get(authId);
Set<String> fullUserTagUserIds = fetchAllOpenidsByTag(accessToken, fullUserTagId); Set<String> fullUserTagUserIds = fetchAllOpenidsByTag(accessToken, fullUserTagId, nickName);
Set<String> miniProgramUserTagUserIds = miniProgramUserTagId != null Set<String> miniProgramUserTagUserIds = miniProgramUserTagId != null
? fetchAllOpenidsByTag(accessToken, miniProgramUserTagId) ? fetchAllOpenidsByTag(accessToken, miniProgramUserTagId, nickName)
: Collections.emptySet(); : Collections.emptySet();
Set<String> taggedUnionOpenids = new HashSet<>(fullUserTagUserIds); Set<String> taggedUnionOpenids = new HashSet<>(fullUserTagUserIds);
taggedUnionOpenids.addAll(miniProgramUserTagUserIds); taggedUnionOpenids.addAll(miniProgramUserTagUserIds);
List<String> allUserIds = fetchAllOpenids(accessToken); List<String> allUserIds = fetchAllOpenids(accessToken, nickName);
List<String> needTagOpenidList = allUserIds.stream() List<String> needTagOpenidList = allUserIds.stream()
.filter(openid -> !taggedUnionOpenids.contains(openid)) .filter(openid -> !taggedUnionOpenids.contains(openid))
...@@ -473,7 +473,7 @@ public class TestController { ...@@ -473,7 +473,7 @@ public class TestController {
log.info("公众号 appid={}, 名称={}, 此次更新标签的用户数={}, 目标标签id={}", log.info("公众号 appid={}, 名称={}, 此次更新标签的用户数={}, 目标标签id={}",
appid, nickName, updatedCount, fullUserTagId); appid, nickName, updatedCount, fullUserTagId);
TimeUnit.MILLISECONDS.sleep(500);
} catch (Exception e) { } catch (Exception e) {
log.error("处理公众号 {}({}) 时发生错误: {}", nickName, appid, e.getMessage(), e); log.error("处理公众号 {}({}) 时发生错误: {}", nickName, appid, e.getMessage(), e);
} }
...@@ -482,12 +482,19 @@ public class TestController { ...@@ -482,12 +482,19 @@ public class TestController {
log.info("公众号用户全量用户标签清洗完成"); log.info("公众号用户全量用户标签清洗完成");
} }
private Set<String> fetchAllOpenidsByTag(String accessToken, Integer tagid) { private Set<String> fetchAllOpenidsByTag(String accessToken, Integer tagid, String nickName) {
Set<String> result = new HashSet<>(); Set<String> result = new HashSet<>();
String nextOpenid = null; String nextOpenid = null;
while (true) { while (true) {
TagUserListVO vo = weChatTagRest.getTagUserList(accessToken, tagid, nextOpenid); TagUserListVO vo = weChatTagRest.getTagUserList(accessToken, tagid, nextOpenid);
if (vo == null || vo.getData() == null || vo.getData().getOpenid() == null if (vo == null) {
break;
}
if (vo.getErrcode() != null && vo.getErrcode() != 0) {
log.error("公众号:{} 获取用户(根据标签获取用户)列表异常,异常信息:{}", nickName, vo.getErrmsg());
break;
}
if (vo.getData() == null || vo.getData().getOpenid() == null
|| vo.getData().getOpenid().isEmpty()) { || vo.getData().getOpenid().isEmpty()) {
break; break;
} }
...@@ -502,12 +509,19 @@ public class TestController { ...@@ -502,12 +509,19 @@ public class TestController {
return result; return result;
} }
private List<String> fetchAllOpenids(String accessToken) { private List<String> fetchAllOpenids(String accessToken, String nickName) {
List<String> result = new ArrayList<>(); List<String> result = new ArrayList<>();
String nextOpenid = null; String nextOpenid = null;
while (true) { while (true) {
AllUserListVO vo = weChatTagRest.getAllUserList(accessToken, nextOpenid); AllUserListVO vo = weChatTagRest.getAllUserList(accessToken, nextOpenid);
if (vo == null || vo.getData() == null || vo.getData().getOpenid() == null if (vo == null) {
break;
}
if (vo.getErrcode() != null && vo.getErrcode() != 0) {
log.error("公众号:{} 获取用户列表异常,异常信息:{}", nickName, vo.getErrmsg());
break;
}
if (vo.getData() == null || vo.getData().getOpenid() == null
|| vo.getData().getOpenid().isEmpty()) { || vo.getData().getOpenid().isEmpty()) {
break; break;
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论