From 976fb1dce549959364bc8a2c0e7424218a7ce4e4 Mon Sep 17 00:00:00 2001 From: chenzhihang <709011834@qq.com> Date: Wed, 28 May 2025 16:32:31 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E9=A1=B9=E7=9B=AE=E5=88=86?= =?UTF-8?q?=E9=A1=B5=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/NewDatasetServiceImpl.java | 47 +++++++++++-------- 1 file changed, 28 insertions(+), 19 deletions(-) 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 9165a894..88b659e3 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 @@ -327,30 +327,41 @@ public class NewDatasetServiceImpl implements NewDatasetService { String ci4sUsername = loginUser.getUsername(); String userReq = jedis.get(ci4sUsername + "_gitUserInfo"); Map 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 collect = new ArrayList<>(); + for (int i = 1; ; i++) { + List> projects = PersonalQueryGitByPage(token, login, dataset.getName(), i); + if (projects.isEmpty()) { + 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((pageRequest.getPageNumber()) * pageRequest.getPageSize()).limit(pageRequest.getPageSize()). + collect(Collectors.toList()); + return new PageImpl<>(result, pageRequest, collect.size()); + } - String name = dataset.getName(); + List> 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 stringObjectMap = JacksonUtil.parseJSONStr2Map(req); - List> projects = (List>) stringObjectMap.get("projects"); - - 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 Page newPubilcQueryByPage(Dataset dataset, PageRequest pageRequest) throws Exception { - List collect = new ArrayList<>(); + String token = gitService.checkoutToken(); + List collect = new ArrayList<>(); for (int i = 1; ; i++) { - Map stringObjectMap = PubilcQueryGitByPage(dataset.getName(), i); - List> projects = (List>) stringObjectMap.get("projects"); + List> 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 PubilcQueryGitByPage(String name, Integer page) throws Exception { - String token = gitService.checkoutToken(); + List> 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 stringObjectMap = JacksonUtil.parseJSONStr2Map(req); + return (List>) stringObjectMap.get("projects"); } @@ -662,7 +671,7 @@ public class NewDatasetServiceImpl implements NewDatasetService { @Override public List convert(List> lst, String datasetTopic, String datasetTagName, String datasetTypeName) { - if (lst != null && lst.size() > 0) { + if (lst != null && !lst.isEmpty()) { List result = new ArrayList<>(); List 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; }