Browse Source

优化项目分页查询

pull/268/head
chenzhihang 8 months ago
parent
commit
3a5845b623
1 changed files with 12 additions and 17 deletions
  1. +12
    -17
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/NewDatasetServiceImpl.java

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

@@ -75,8 +75,8 @@ public class NewDatasetServiceImpl implements NewDatasetService {
String gitCloneEndpoint;
@Value("${git.cloneEndpointIp}")
String gitCloneEndpointIp;
@Value("${git.projectCategoryId}")
Integer projectCategoryId;
@Value("${git.projectDatasetId}")
Integer projectDatasetId;

@Value("${minio.dataReleaseBucketName}")
private String bucketName;
@@ -112,11 +112,11 @@ public class NewDatasetServiceImpl implements NewDatasetService {
String repositoryName = ci4sUsername + "_dataset_" + DateUtils.dateTimeNow();
GitProjectVo gitProjectVo = new GitProjectVo();
gitProjectVo.setRepositoryName(repositoryName);
gitProjectVo.setName(Constant.Topic_Dataset + "-" + datasetVo.getName());
gitProjectVo.setName(datasetVo.getName());
gitProjectVo.setDescription(datasetVo.getDescription());
gitProjectVo.setPrivate(!datasetVo.getIsPublic());
gitProjectVo.setUserId(userId);
gitProjectVo.setProjectCategoryId(projectCategoryId);
gitProjectVo.setProjectCategoryId(projectDatasetId);
// 创建项目
Map project = gitService.createProject(token, gitProjectVo);
Integer gitlinIid = (Integer) project.get("id");
@@ -347,31 +347,26 @@ 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 = 1; ; i++) {
if (collect.size() < ((pageRequest.getPageNumber() + 1) * pageRequest.getPageSize())) {
stringObjectMap = PubilcQueryGitByPage(dataset.getName(), i);
List<Map<String, Object>> projects = (List<Map<String, Object>>) stringObjectMap.get("projects");
if (projects.isEmpty()) {
break;
} else {
List<NewDatasetVo> collecti = convert(projects, Constant.Topic_Dataset, dataset.getDataTag(), dataset.getDataType());
collect.addAll(collecti);
}
} else {
Map<String, Object> stringObjectMap = PubilcQueryGitByPage(dataset.getName(), i);
List<Map<String, Object>> projects = (List<Map<String, Object>>) stringObjectMap.get("projects");
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((long) pageRequest.getPageNumber() * pageRequest.getPageSize()).limit(pageRequest.getPageSize()).
collect(Collectors.toList());
return new PageImpl<>(result, pageRequest, (Integer)stringObjectMap.get("total_count"));
return new PageImpl<>(result, pageRequest, collect.size());
}

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;
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;


Loading…
Cancel
Save