|
|
@@ -75,6 +75,9 @@ 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("${minio.dataReleaseBucketName}") |
|
|
@Value("${minio.dataReleaseBucketName}") |
|
|
private String bucketName; |
|
|
private String bucketName; |
|
|
@Value("${git.localPath}") |
|
|
@Value("${git.localPath}") |
|
|
@@ -113,7 +116,7 @@ public class NewDatasetServiceImpl implements NewDatasetService { |
|
|
gitProjectVo.setDescription(datasetVo.getDescription()); |
|
|
gitProjectVo.setDescription(datasetVo.getDescription()); |
|
|
gitProjectVo.setPrivate(!datasetVo.getIsPublic()); |
|
|
gitProjectVo.setPrivate(!datasetVo.getIsPublic()); |
|
|
gitProjectVo.setUserId(userId); |
|
|
gitProjectVo.setUserId(userId); |
|
|
gitProjectVo.setProjectCategoryId(Constant.Git_Category_Id); |
|
|
|
|
|
|
|
|
gitProjectVo.setProjectCategoryId(projectCategoryId); |
|
|
// 创建项目 |
|
|
// 创建项目 |
|
|
Map project = gitService.createProject(token, gitProjectVo); |
|
|
Map project = gitService.createProject(token, gitProjectVo); |
|
|
Integer gitlinIid = (Integer) project.get("id"); |
|
|
Integer gitlinIid = (Integer) project.get("id"); |
|
|
@@ -343,27 +346,39 @@ 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<>(); |
|
|
|
|
|
|
|
|
|
|
|
for (int i = 0; ; i++) { |
|
|
|
|
|
if (collect.size() < ((pageRequest.getPageNumber() + 1) * pageRequest.getPageSize())) { |
|
|
|
|
|
List<Map<String, Object>> projects = PubilcQueryGitByPage(dataset.getName(), i); |
|
|
|
|
|
if (projects == null) { |
|
|
|
|
|
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()). |
|
|
|
|
|
collect(Collectors.toList()); |
|
|
|
|
|
return new PageImpl<>(result, pageRequest, collect.size()); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
List<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?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)) { |
|
|
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"); |
|
|
|
|
|
if (projects == null) { |
|
|
|
|
|
return new PageImpl<>(new ArrayList<>(), pageRequest, 0); |
|
|
|
|
|
} |
|
|
|
|
|
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 NewDatasetVo getNewDatasetDesc(Integer id, String name, String repo, String owner, String version, Boolean isPublic) throws Exception { |
|
|
public NewDatasetVo getNewDatasetDesc(Integer id, String name, String repo, String owner, String version, Boolean isPublic) throws Exception { |
|
|
LoginUser loginUser = SecurityUtils.getLoginUser(); |
|
|
LoginUser loginUser = SecurityUtils.getLoginUser(); |
|
|
|