| @@ -75,8 +75,8 @@ public class NewDatasetServiceImpl implements NewDatasetService { | |||||
| String gitCloneEndpoint; | String gitCloneEndpoint; | ||||
| @Value("${git.cloneEndpointIp}") | @Value("${git.cloneEndpointIp}") | ||||
| String gitCloneEndpointIp; | String gitCloneEndpointIp; | ||||
| @Value("${git.projectCategoryId}") | |||||
| Integer projectCategoryId; | |||||
| @Value("${git.projectDatasetId}") | |||||
| Integer projectDatasetId; | |||||
| @Value("${minio.dataReleaseBucketName}") | @Value("${minio.dataReleaseBucketName}") | ||||
| private String bucketName; | private String bucketName; | ||||
| @@ -112,11 +112,11 @@ public class NewDatasetServiceImpl implements NewDatasetService { | |||||
| String repositoryName = ci4sUsername + "_dataset_" + DateUtils.dateTimeNow(); | String repositoryName = ci4sUsername + "_dataset_" + DateUtils.dateTimeNow(); | ||||
| GitProjectVo gitProjectVo = new GitProjectVo(); | GitProjectVo gitProjectVo = new GitProjectVo(); | ||||
| gitProjectVo.setRepositoryName(repositoryName); | gitProjectVo.setRepositoryName(repositoryName); | ||||
| gitProjectVo.setName(Constant.Topic_Dataset + "-" + datasetVo.getName()); | |||||
| gitProjectVo.setName(datasetVo.getName()); | |||||
| gitProjectVo.setDescription(datasetVo.getDescription()); | gitProjectVo.setDescription(datasetVo.getDescription()); | ||||
| gitProjectVo.setPrivate(!datasetVo.getIsPublic()); | gitProjectVo.setPrivate(!datasetVo.getIsPublic()); | ||||
| gitProjectVo.setUserId(userId); | gitProjectVo.setUserId(userId); | ||||
| gitProjectVo.setProjectCategoryId(projectCategoryId); | |||||
| gitProjectVo.setProjectCategoryId(projectDatasetId); | |||||
| // 创建项目 | // 创建项目 | ||||
| Map project = gitService.createProject(token, gitProjectVo); | Map project = gitService.createProject(token, gitProjectVo); | ||||
| Integer gitlinIid = (Integer) project.get("id"); | Integer gitlinIid = (Integer) project.get("id"); | ||||
| @@ -347,31 +347,26 @@ public class NewDatasetServiceImpl implements NewDatasetService { | |||||
| @Override | @Override | ||||
| public Page<NewDatasetVo> newPubilcQueryByPage(Dataset dataset, PageRequest pageRequest) throws Exception { | public Page<NewDatasetVo> newPubilcQueryByPage(Dataset dataset, PageRequest pageRequest) throws Exception { | ||||
| List<NewDatasetVo> collect = new ArrayList<>(); | List<NewDatasetVo> collect = new ArrayList<>(); | ||||
| Map<String, Object> stringObjectMap = Collections.emptyMap(); | |||||
| for (int i = 1; ; i++) { | 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; | 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()). | List<NewDatasetVo> result = collect.stream().sorted(Comparator.comparing(NewDatasetVo::getPraisesCount).reversed()).skip((long) pageRequest.getPageNumber() * pageRequest.getPageSize()).limit(pageRequest.getPageSize()). | ||||
| collect(Collectors.toList()); | 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 { | Map<String, Object> PubilcQueryGitByPage(String name, Integer page) throws Exception { | ||||
| String token = gitService.checkoutToken(); | String token = gitService.checkoutToken(); | ||||
| // 拼接查询url | // 拼接查询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)) { | if (StringUtils.isNotEmpty(name)) { | ||||
| url = url + "&search=" + name; | url = url + "&search=" + name; | ||||