| @@ -327,30 +327,41 @@ public class NewDatasetServiceImpl implements NewDatasetService { | |||||
| String ci4sUsername = loginUser.getUsername(); | String ci4sUsername = loginUser.getUsername(); | ||||
| String userReq = jedis.get(ci4sUsername + "_gitUserInfo"); | String userReq = jedis.get(ci4sUsername + "_gitUserInfo"); | ||||
| Map<String, Object> userInfo = JsonUtils.jsonToMap(userReq); | 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)) { | if (StringUtils.isNotEmpty(name)) { | ||||
| url = url + "&search=" + name; | url = url + "&search=" + name; | ||||
| } | } | ||||
| String req = httpUtils.sendGetWithToken(url, null, token); | String req = httpUtils.sendGetWithToken(url, null, token); | ||||
| Map<String, Object> stringObjectMap = JacksonUtil.parseJSONStr2Map(req); | 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 | @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<>(); | |||||
| String token = gitService.checkoutToken(); | |||||
| List<NewDatasetVo> collect = new ArrayList<>(); | |||||
| for (int i = 1; ; i++) { | 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()) { | if (projects.isEmpty()) { | ||||
| break; | break; | ||||
| } else { | } else { | ||||
| @@ -363,17 +374,15 @@ public class NewDatasetServiceImpl implements NewDatasetService { | |||||
| return new PageImpl<>(result, pageRequest, collect.size()); | 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 | // 拼接查询url | ||||
| String url = gitendpoint + "/api/projects.json?page=" + page + "&limit=50sort_direction=praises_count&sort_by=desc&category_id=" + projectDatasetId; | 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; | ||||
| } | } | ||||
| String req = httpUtils.sendGetWithToken(url, null, token); | 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 | @Override | ||||
| public List<NewDatasetVo> convert(List<Map<String, Object>> lst, String datasetTopic, String datasetTagName, String datasetTypeName) { | 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> result = new ArrayList<>(); | ||||
| List<NewDatasetVo> newDatasetVos = ConvertUtil.convertListMapToObjectList(lst, NewDatasetVo.class); | 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)) { | if (StringUtils.isNotEmpty(datasetTagName) && !datasetTagName.toLowerCase().equals(datasetTag)) { | ||||
| continue; | continue; | ||||
| } | } | ||||