课程受众-例外

This commit is contained in:
lims1@hunktimes.com
2023-08-07 16:58:24 +08:00
parent 5d7b751e63
commit 3951d245fb
8 changed files with 225 additions and 22 deletions

View File

@@ -31,6 +31,9 @@ public class ThirdApi {
@Value("${userBasic.searchUserList}")
private String searchUserListUrl;
@Value("${statApi.userdynamicList}")
private String userdynamicListUrl;
public List<UserInfoListVo> getAllUserList(UserListParam userListParam, String token) {
log.info("获取用户");
@@ -89,4 +92,40 @@ public class ThirdApi {
Opt.ofBlankAble(resp).map(t -> JSONUtil.toBean(t, AuditRootBean.class).success()).map(AuditRootBean::getResult).map(Result::getList).stream().flatMap(Collection::stream).forEach(list::add);
}
public List<UserDynamic> getAllUserdynamicList(UserdynamicParam userdynamicParam, String token) {
String resp = Optional.ofNullable(HttpRequest.post(userdynamicListUrl).body(JSONUtil.toJsonStr(userdynamicParam)).header("XBOE-Access-Token", token).execute().body()).orElseThrow(() -> new RuntimeException("token校验失败"));
log.error("=1----getAllUserdynamicList----- 开始课程信息 ---------------------------------resp = " + resp );
return Opt.ofBlankAble(resp).map(t -> JSONUtil.toBean(resp, DynamicBean.class).success())
.map(DynamicBean::getResult)
.map(result -> Opt.ofEmptyAble(result.getList()).peek(t -> nextPage(userdynamicParam, t, result, token)).orElse(ListUtil.toList()))
.orElse(ListUtil.toList());
}
private void nextPage(UserdynamicParam userdynamicParam, List<UserDynamic> t, UserDynamicResult result, String token) {
log.error("=2----getAllUserdynamicList----- 开始课程信息 ---------------------------------resp = " + userdynamicParam );
if (result.getTotalPages() > userdynamicParam.getPageIndex()) {
REQUEST_TASK.submit(() -> IntStream.range(userdynamicParam.getPageIndex(), result.getTotalPages()).parallel().forEach(i -> getAllUserdynamicList(userdynamicParam.withPageIndex(i + 1), t, token))).join();
}
}
private void getAllUserdynamicList(UserdynamicParam userdynamicParam, List<UserDynamic> list, String token) {
log.error("=3----getAllUserdynamicList----- 开始课程信息 ---------------------------------resp = " + userdynamicParam );
String resp = Optional.ofNullable(HttpRequest.post(usersByAudienceList).body(JSONUtil.toJsonStr(userdynamicParam)).header("token", token).execute().body()).orElseThrow(() -> new RuntimeException("token校验失败"));
Opt.ofBlankAble(resp).map(t -> JSONUtil.toBean(t, DynamicBean.class).success()).map(DynamicBean::getResult).map(UserDynamicResult::getList).stream().flatMap(Collection::stream).forEach(list::add);
}
public static void main(String[] args) {
String token = "eyJ0eXBlIjoidG9rZW4iLCJhbGciOiJIUzI1NiJ9.eyJjb21wYW55Q29kZSI6IkMwMDEiLCJ1SWQiOiI5NjUzNDIwMjc0OTc2MDcxNjgiLCJjb21wYW55SWQiOiIxMDQxNjczOTc3Mzc5OTQ2NDk2IiwibG9naW5JZCI6IjE2ODg0NDg5MjIwNzY0OTE3NzgiLCJpc3MiOiJodHRwOi8vdS5ib2UuY29tIiwiR2l2ZW5OYW1lIjoiYm9ldSIsImV4cCI6MTY5MTM5OTc2NzU1OCwidXNlck5hbWUiOiLmnY7njonlhrAiLCJ1c2VySWQiOiI2QjA0OUZBRi1DMzE0LTdDQ0YtMEQyOC0wRDIzRjRDNDI1MzEifQ==.8b52dcf4d48a790ed258b9ca2b279bb269f5301722095382fbd352705b51c893";
String resp = Optional.ofNullable(HttpRequest.post("https://u-pre.boe.com/statApi/xboe/m/stat/userdynamic/list").body(JSONUtil.toJsonStr(UserdynamicParam.builder().
aid(Long.parseLong("965342027497607168")).pageSize(1000).pageIndex(1).build())).header("XBOE-Access-Token", token).execute().body()).orElseThrow(() -> new RuntimeException("token校验失败"));
System.out.println(" resp = " +resp);
DynamicBean a = JSONUtil.toBean(resp, DynamicBean.class);
System.out.println(" a = " +a);
System.out.println(" a = " + a.getResult().getCount());
List<UserDynamic> list = a.getResult().getList();
System.out.println(" list = " +list.size());
System.out.println(" list = " +list);
}
}