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