|
|
|
@@ -347,10 +347,12 @@ public class NewDatasetServiceImpl implements NewDatasetService { |
|
|
|
@Override |
|
|
|
public Page<NewDatasetVo> newPubilcQueryByPage(Dataset dataset, PageRequest pageRequest) throws Exception { |
|
|
|
List<NewDatasetVo> collect = new ArrayList<>(); |
|
|
|
Map<String, Object> stringObjectMap = Collections.emptyMap(); |
|
|
|
|
|
|
|
for (int i = 0; ; i++) { |
|
|
|
for (int i = 1; ; i++) { |
|
|
|
if (collect.size() < ((pageRequest.getPageNumber() + 1) * pageRequest.getPageSize())) { |
|
|
|
List<Map<String, Object>> projects = PubilcQueryGitByPage(dataset.getName(), i); |
|
|
|
stringObjectMap = PubilcQueryGitByPage(dataset.getName(), i); |
|
|
|
List<Map<String, Object>> projects = (List<Map<String, Object>>) stringObjectMap.get("projects"); |
|
|
|
if (projects.isEmpty()) { |
|
|
|
break; |
|
|
|
} else { |
|
|
|
@@ -363,10 +365,10 @@ public class NewDatasetServiceImpl implements NewDatasetService { |
|
|
|
} |
|
|
|
List<NewDatasetVo> result = collect.stream().sorted(Comparator.comparing(NewDatasetVo::getPraisesCount).reversed()).skip((long) pageRequest.getPageNumber() * pageRequest.getPageSize()).limit(pageRequest.getPageSize()). |
|
|
|
collect(Collectors.toList()); |
|
|
|
return new PageImpl<>(result, pageRequest, collect.size()); |
|
|
|
return new PageImpl<>(result, pageRequest, (Long)stringObjectMap.get("total")); |
|
|
|
} |
|
|
|
|
|
|
|
List<Map<String, Object>> PubilcQueryGitByPage(String name, Integer page) throws Exception { |
|
|
|
Map<String, Object> PubilcQueryGitByPage(String name, Integer page) throws Exception { |
|
|
|
String token = gitService.checkoutToken(); |
|
|
|
// 拼接查询url |
|
|
|
String url = gitendpoint + "/api/projects.json?page=" + page + "&limit=50sort_direction=praises_count&sort_by=desc&category_id=" + projectCategoryId; |
|
|
|
@@ -376,8 +378,7 @@ public class NewDatasetServiceImpl implements NewDatasetService { |
|
|
|
} |
|
|
|
|
|
|
|
String req = httpUtils.sendGetWithToken(url, null, token); |
|
|
|
Map<String, Object> stringObjectMap = JacksonUtil.parseJSONStr2Map(req); |
|
|
|
return (List<Map<String, Object>>) stringObjectMap.get("projects"); |
|
|
|
return JacksonUtil.parseJSONStr2Map(req); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|