Browse Source

优化项目分页查询

pull/268/head
chenzhihang 10 months ago
parent
commit
976fb1dce5
1 changed files with 28 additions and 19 deletions
  1. +28
    -19
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/NewDatasetServiceImpl.java

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

@@ -327,30 +327,41 @@ public class NewDatasetServiceImpl implements NewDatasetService {
String ci4sUsername = loginUser.getUsername();
String userReq = jedis.get(ci4sUsername + "_gitUserInfo");
Map<String, Object> userInfo = JsonUtils.jsonToMap(userReq);
// 拼接查询url
String url = gitendpoint + "/api/users/" + userInfo.get("login") + "/projects.json?category=manage&sort_direction=praises_count&sort_by=desc";
String login = (String) userInfo.get("login");
List<NewDatasetVo> collect = new ArrayList<>();
for (int i = 1; ; i++) {
List<Map<String, Object>> projects = PersonalQueryGitByPage(token, login, dataset.getName(), i);
if (projects.isEmpty()) {
break;
} else {
List<NewDatasetVo> collecti = convert(projects, Constant.Topic_Dataset, dataset.getDataTag(), dataset.getDataType());
collect.addAll(collecti);
}
}
List<NewDatasetVo> result = collect.stream().sorted(Comparator.comparing(NewDatasetVo::getPraisesCount).reversed()).skip((pageRequest.getPageNumber()) * pageRequest.getPageSize()).limit(pageRequest.getPageSize()).
collect(Collectors.toList());
return new PageImpl<>(result, pageRequest, collect.size());
}

String name = dataset.getName();
List<Map<String, Object>> PersonalQueryGitByPage(String token, String login, String name, Integer page) throws Exception {
// 拼接查询url
String url = gitendpoint + "/api/users/" + login + "/projects.json?category=manage&sort_direction=praises_count&sort_by=desc";
if (StringUtils.isNotEmpty(name)) {
url = url + "&search=" + name;
}
String req = httpUtils.sendGetWithToken(url, null, token);
Map<String, Object> stringObjectMap = JacksonUtil.parseJSONStr2Map(req);
List<Map<String, Object>> projects = (List<Map<String, Object>>) stringObjectMap.get("projects");

List<NewDatasetVo> collect = convert(projects, Constant.Topic_Dataset, dataset.getDataTag(), dataset.getDataType());
List<NewDatasetVo> result = collect.stream().sorted(Comparator.comparing(NewDatasetVo::getPraisesCount).reversed()).skip((pageRequest.getPageNumber()) * pageRequest.getPageSize()).limit(pageRequest.getPageSize()).
collect(Collectors.toList());
return new PageImpl<>(result, pageRequest, collect.size());
return (List<Map<String, Object>>) stringObjectMap.get("projects");
}


@Override
public Page<NewDatasetVo> newPubilcQueryByPage(Dataset dataset, PageRequest pageRequest) throws Exception {
List<NewDatasetVo> collect = new ArrayList<>();
String token = gitService.checkoutToken();

List<NewDatasetVo> collect = new ArrayList<>();
for (int i = 1; ; i++) {
Map<String, Object> stringObjectMap = PubilcQueryGitByPage(dataset.getName(), i);
List<Map<String, Object>> projects = (List<Map<String, Object>>) stringObjectMap.get("projects");
List<Map<String, Object>> projects = PubilcQueryGitByPage(token, dataset.getName(), i);
if (projects.isEmpty()) {
break;
} else {
@@ -363,17 +374,15 @@ public class NewDatasetServiceImpl implements NewDatasetService {
return new PageImpl<>(result, pageRequest, collect.size());
}

Map<String, Object> PubilcQueryGitByPage(String name, Integer page) throws Exception {
String token = gitService.checkoutToken();
List<Map<String, Object>> PubilcQueryGitByPage(String token, String name, Integer page) throws Exception {
// 拼接查询url
String url = gitendpoint + "/api/projects.json?page=" + page + "&limit=50sort_direction=praises_count&sort_by=desc&category_id=" + projectDatasetId;

if (StringUtils.isNotEmpty(name)) {
url = url + "&search=" + name;
}

String req = httpUtils.sendGetWithToken(url, null, token);
return JacksonUtil.parseJSONStr2Map(req);
Map<String, Object> stringObjectMap = JacksonUtil.parseJSONStr2Map(req);
return (List<Map<String, Object>>) stringObjectMap.get("projects");
}


@@ -662,7 +671,7 @@ public class NewDatasetServiceImpl implements NewDatasetService {

@Override
public List<NewDatasetVo> convert(List<Map<String, Object>> lst, String datasetTopic, String datasetTagName, String datasetTypeName) {
if (lst != null && lst.size() > 0) {
if (lst != null && !lst.isEmpty()) {
List<NewDatasetVo> result = new ArrayList<>();
List<NewDatasetVo> newDatasetVos = ConvertUtil.convertListMapToObjectList(lst, NewDatasetVo.class);

@@ -690,7 +699,7 @@ public class NewDatasetServiceImpl implements NewDatasetService {
}
}

if (datasetTopicName != null && datasetTopic.equals(datasetTopicName)) {
if (datasetTopic.equals(datasetTopicName)) {
if (StringUtils.isNotEmpty(datasetTagName) && !datasetTagName.toLowerCase().equals(datasetTag)) {
continue;
}


Loading…
Cancel
Save