Browse Source

优化项目分页查询

pull/268/head
chenzhihang 8 months ago
parent
commit
19a4d6aed3
1 changed files with 7 additions and 6 deletions
  1. +7
    -6
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/NewDatasetServiceImpl.java

+ 7
- 6
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/NewDatasetServiceImpl.java View File

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




Loading…
Cancel
Save