diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/dataset/NewDatasetFromGitController.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/dataset/NewDatasetFromGitController.java index faea384c..88fecb11 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/dataset/NewDatasetFromGitController.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/dataset/NewDatasetFromGitController.java @@ -70,26 +70,30 @@ public class NewDatasetFromGitController { @GetMapping("/getVersionList") @ApiOperation(value = "获取分支列表") - public AjaxResult getVersionList(@RequestParam("String") String repo,@RequestParam("owner")String owner) throws Exception { + public AjaxResult getVersionList(@RequestParam("repo") String repo,@RequestParam("owner")String owner) throws Exception { return AjaxResult.success(this.datasetService.getVersionList(repo,owner)); } @GetMapping("/getdatasetDetail") @ApiOperation(value = "获取数据集详情") - public AjaxResult getDatasetVersions(@RequestParam("name") String name,@RequestParam("repo_id") Integer repoId,@RequestParam("version")String version) throws Exception { - return AjaxResult.success(this.datasetService.getNewDatasetDesc(repoId,name,version)); + public AjaxResult getDatasetVersions(@RequestParam("name") String name, + @RequestParam("repo_id") Integer repoId, + @RequestParam("owner")String owner, + @RequestParam(value = "identifier") String repo, + @RequestParam(value = "version",required = false)String version) throws Exception { + return AjaxResult.success(this.datasetService.getNewDatasetDesc(repoId,name,repo,owner,version)); } @DeleteMapping("/deleteDataset") @ApiOperation(value = "删除数据集") - public AjaxResult deleteDataset(@RequestParam("String") String repo,@RequestParam("owner")String owner) throws Exception { + public AjaxResult deleteDataset(@RequestParam("identifier") String repo,@RequestParam("owner")String owner) throws Exception { this.datasetService.deleteDatasetNew(repo,owner); return AjaxResult.success(); } @DeleteMapping("/deleteDatasetVersion") @ApiOperation(value = "删除数据集版本") - public AjaxResult deleteDatasetVersion(@RequestParam("String") String repo,@RequestParam("owner")String owner,@RequestParam("version")String version) throws Exception { + public AjaxResult deleteDatasetVersion(@RequestParam("identifier") String repo,@RequestParam("owner")String owner,@RequestParam("version")String version) throws Exception { this.datasetService.deleteDatasetVersionNew(repo,owner,version); return AjaxResult.success(); } diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/DatasetService.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/DatasetService.java index 423e8956..64a1262c 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/DatasetService.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/DatasetService.java @@ -101,7 +101,7 @@ DatasetService { Page newPersonalQueryByPage(Dataset dataset, PageRequest pageRequest) throws Exception; Page newPubilcQueryByPage(Dataset dataset, PageRequest pageRequest) throws Exception; - NewDatasetVo getNewDatasetDesc(Integer repoId,String RepositoryName, String version); + NewDatasetVo getNewDatasetDesc(Integer repoId,String RepositoryName,String repo, String owner, String version)throws Exception; List> getVersionList(String repo, String owner) throws Exception; diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/DatasetServiceImpl.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/DatasetServiceImpl.java index 3e54976f..a374c43d 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/DatasetServiceImpl.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/DatasetServiceImpl.java @@ -660,11 +660,19 @@ public class DatasetServiceImpl implements DatasetService { } @Override - public NewDatasetVo getNewDatasetDesc(Integer repoId,String repositoryName, String version) { + public NewDatasetVo getNewDatasetDesc(Integer repoId,String repositoryName,String repo, String owner,String version) throws Exception{ LoginUser loginUser = SecurityUtils.getLoginUser(); String gitLinkUsername = loginUser.getSysUser().getGitLinkUsername(); String gitLinkPassword = loginUser.getSysUser().getGitLinkPassword(); // cd到 localPathlocal/repoId/下面还有一个文件夹,然后做git pull操作,然后读取里面的文件列表,列出每个文件的大小和名称,封装成MAP + if (StringUtils.isEmpty(version)){ + List> versionList = this.getVersionList(repo, owner); + if (versionList.size() == 0){ + throw new Exception("数据集文件不存在"); + } + version = (String) versionList.get(0).get("name"); + } + List> fileDetailsAfterGitPull = DVCUtils.getFileDetailsAfterGitPull(localPathlocal+repoId, repositoryName, version,gitLinkUsername, gitLinkPassword); //在localPathlocal+repoId+"/"+repositoryName目录下的dataset.yaml中取到元数据 Map stringObjectMap = YamlUtils.loadYamlFile(localPathlocal + repoId + "/" + repositoryName + "/dataset.yaml"); @@ -691,7 +699,9 @@ public class DatasetServiceImpl implements DatasetService { String gitLinkPassword = loginUser.getSysUser().getGitLinkPassword(); String token = gitService.login(gitLinkUsername, gitLinkPassword); List> brancheList = gitService.getBrancheList(token, owner, repo); - return brancheList; + return brancheList.stream() + .filter(branch -> "master".equals(branch.get("name"))) + .collect(Collectors.toList()); } @Override @@ -848,6 +858,7 @@ public class DatasetServiceImpl implements DatasetService { Map author = (Map) map.get("author"); newDatasetVo.setCreateBy((String) author.get("name")); + newDatasetVo.setOwner((String) author.get("login")); } } diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/NewDatasetVo.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/NewDatasetVo.java index bd329b12..74cccf6e 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/NewDatasetVo.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/NewDatasetVo.java @@ -56,5 +56,7 @@ public class NewDatasetVo implements Serializable { private Date updateTime; @ApiModelProperty(name = "processing_code",value = "处理代码") private String processingCode; + @ApiModelProperty(name = "owner",value = "项目所有者") + private String owner; }