diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ModelsServiceImpl.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ModelsServiceImpl.java index 9042ffad..93fa3f0c 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ModelsServiceImpl.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ModelsServiceImpl.java @@ -114,6 +114,8 @@ public class ModelsServiceImpl implements ModelsService { String gitCloneEndpoint; @Value("${git.cloneEndpointIp}") String gitCloneEndpointIp; + @Value("${git.projectCategoryId}") + Integer projectCategoryId; @Value("${git.localPath}") String localPath; @Value("${minio.accessKey}") @@ -591,7 +593,7 @@ public class ModelsServiceImpl implements ModelsService { gitProjectVo.setDescription(modelsVo.getDescription()); gitProjectVo.setPrivate(!modelsVo.getIsPublic()); gitProjectVo.setUserId(userId); - gitProjectVo.setProjectCategoryId(Constant.Git_Category_Id); + gitProjectVo.setProjectCategoryId(projectCategoryId); // 创建项目 Map project = gitService.createProject(token, gitProjectVo); @@ -971,7 +973,7 @@ public class ModelsServiceImpl implements ModelsService { String modelTypeName = modelsVo.getModelType(); //拼接查询url - String url = gitendpoint + "/api/projects.json?sort_direction=praises_count&sort_by=desc&category_id=" + Constant.Git_Category_Id; + String url = gitendpoint + "/api/projects.json?sort_direction=praises_count&sort_by=desc&category_id=" + projectCategoryId; String name = modelsVo.getName(); if (StringUtils.isNotEmpty(name)) { diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/NewDatasetServiceImpl.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/NewDatasetServiceImpl.java index a38294c4..bc04079d 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/NewDatasetServiceImpl.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/NewDatasetServiceImpl.java @@ -75,6 +75,9 @@ public class NewDatasetServiceImpl implements NewDatasetService { String gitCloneEndpoint; @Value("${git.cloneEndpointIp}") String gitCloneEndpointIp; + @Value("${git.projectCategoryId}") + Integer projectCategoryId; + @Value("${minio.dataReleaseBucketName}") private String bucketName; @Value("${git.localPath}") @@ -113,7 +116,7 @@ public class NewDatasetServiceImpl implements NewDatasetService { gitProjectVo.setDescription(datasetVo.getDescription()); gitProjectVo.setPrivate(!datasetVo.getIsPublic()); gitProjectVo.setUserId(userId); - gitProjectVo.setProjectCategoryId(Constant.Git_Category_Id); + gitProjectVo.setProjectCategoryId(projectCategoryId); // 创建项目 Map project = gitService.createProject(token, gitProjectVo); Integer gitlinIid = (Integer) project.get("id"); @@ -343,27 +346,39 @@ public class NewDatasetServiceImpl implements NewDatasetService { @Override public Page newPubilcQueryByPage(Dataset dataset, PageRequest pageRequest) throws Exception { + List collect = new ArrayList<>(); + + for (int i = 0; ; i++) { + if (collect.size() < ((pageRequest.getPageNumber() + 1) * pageRequest.getPageSize())) { + List> projects = PubilcQueryGitByPage(dataset.getName(), i); + if (projects == null) { + break; + } else { + List collecti = convert(projects, Constant.Topic_Dataset, dataset.getDataTag(), dataset.getDataType()); + collect.addAll(collecti); + } + } + } + List 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()); + } + + List> PubilcQueryGitByPage(String name, Integer page) throws Exception { String token = gitService.checkoutToken(); // 拼接查询url - String url = gitendpoint + "/api/projects.json?sort_direction=praises_count&sort_by=desc&category_id=" + Constant.Git_Category_Id; + String url = gitendpoint + "/api/projects.json?page=" + page + "&limit=50sort_direction=praises_count&sort_by=desc&category_id=" + projectCategoryId; - String name = dataset.getName(); if (StringUtils.isNotEmpty(name)) { url = url + "&search=" + name; } String req = httpUtils.sendGetWithToken(url, null, token); Map stringObjectMap = JacksonUtil.parseJSONStr2Map(req); - List> projects = (List>) stringObjectMap.get("projects"); - if (projects == null) { - return new PageImpl<>(new ArrayList<>(), pageRequest, 0); - } - List collect = convert(projects, Constant.Topic_Dataset, dataset.getDataTag(), dataset.getDataType()); - List 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>) stringObjectMap.get("projects"); } + @Override public NewDatasetVo getNewDatasetDesc(Integer id, String name, String repo, String owner, String version, Boolean isPublic) throws Exception { LoginUser loginUser = SecurityUtils.getLoginUser();