| @@ -26,7 +26,6 @@ public class NewDatasetFromGitController { | |||||
| private NewDatasetService newDatasetService; | private NewDatasetService newDatasetService; | ||||
| /** | /** | ||||
| * 新增数据集与版本新 | * 新增数据集与版本新 | ||||
| * | * | ||||
| @@ -57,50 +56,51 @@ public class NewDatasetFromGitController { | |||||
| @GetMapping("/queryDatasets") | @GetMapping("/queryDatasets") | ||||
| @ApiOperation("数据集广场公开数据集分页查询,根据data_type,data_tag筛选,true公开false私有") | @ApiOperation("数据集广场公开数据集分页查询,根据data_type,data_tag筛选,true公开false私有") | ||||
| public AjaxResult queryDatasets(Dataset dataset, @RequestParam("page") int page, | public AjaxResult queryDatasets(Dataset dataset, @RequestParam("page") int page, | ||||
| @RequestParam("size") int size, | |||||
| @RequestParam("size") int size, | |||||
| @RequestParam(value = "is_public") Boolean isPublic, | @RequestParam(value = "is_public") Boolean isPublic, | ||||
| @RequestParam(value = "data_type", required = false) String dataType, | |||||
| @RequestParam(value = "data_tag", required = false) String dataTag) throws Exception { | |||||
| @RequestParam(value = "data_type", required = false) String dataType, | |||||
| @RequestParam(value = "data_tag", required = false) String dataTag) throws Exception { | |||||
| PageRequest pageRequest = PageRequest.of(page, size); | PageRequest pageRequest = PageRequest.of(page, size); | ||||
| if(isPublic){ | |||||
| if (isPublic) { | |||||
| return AjaxResult.success(this.newDatasetService.newPubilcQueryByPage(dataset, pageRequest)); | return AjaxResult.success(this.newDatasetService.newPubilcQueryByPage(dataset, pageRequest)); | ||||
| }else { | |||||
| } else { | |||||
| return AjaxResult.success(this.newDatasetService.newPersonalQueryByPage(dataset, pageRequest)); | return AjaxResult.success(this.newDatasetService.newPersonalQueryByPage(dataset, pageRequest)); | ||||
| } | } | ||||
| } | } | ||||
| @GetMapping("/getVersionList") | @GetMapping("/getVersionList") | ||||
| @ApiOperation(value = "获取分支列表") | @ApiOperation(value = "获取分支列表") | ||||
| public AjaxResult getVersionList(@RequestParam("identifier") String repo,@RequestParam("owner")String owner) throws Exception { | |||||
| return AjaxResult.success(this.newDatasetService.getVersionList(repo,owner)); | |||||
| public AjaxResult getVersionList(@RequestParam("identifier") String repo, @RequestParam("owner") String owner) throws Exception { | |||||
| return AjaxResult.success(this.newDatasetService.getVersionList(repo, owner)); | |||||
| } | } | ||||
| @GetMapping("/getDatasetDetail") | @GetMapping("/getDatasetDetail") | ||||
| @ApiOperation(value = "获取数据集详情") | @ApiOperation(value = "获取数据集详情") | ||||
| public AjaxResult getDatasetVersions(@RequestParam("name") String name, | public AjaxResult getDatasetVersions(@RequestParam("name") String name, | ||||
| @RequestParam("id") Integer id, | @RequestParam("id") Integer id, | ||||
| @RequestParam(value ="owner",required = false)String owner, | |||||
| @RequestParam(value = "identifier",required = false) String identifier, | |||||
| @RequestParam(value = "version",required = false)String version) throws Exception { | |||||
| return AjaxResult.success(this.newDatasetService.getNewDatasetDesc(id,name,identifier,owner,version)); | |||||
| @RequestParam(value = "owner", required = false) String owner, | |||||
| @RequestParam(value = "identifier", required = false) String identifier, | |||||
| @RequestParam(value = "version", required = false) String version) throws Exception { | |||||
| return AjaxResult.success(this.newDatasetService.getNewDatasetDesc(id, name, identifier, owner, version)); | |||||
| } | } | ||||
| @DeleteMapping("/deleteDataset") | @DeleteMapping("/deleteDataset") | ||||
| @ApiOperation(value = "删除数据集") | @ApiOperation(value = "删除数据集") | ||||
| public AjaxResult deleteDataset(@RequestParam("identifier") String repo,@RequestParam("owner")String owner) throws Exception { | |||||
| this.newDatasetService.deleteDatasetNew(repo,owner); | |||||
| public AjaxResult deleteDataset(@RequestParam("identifier") String repo, @RequestParam("owner") String owner) throws Exception { | |||||
| this.newDatasetService.deleteDatasetNew(repo, owner); | |||||
| return AjaxResult.success(); | return AjaxResult.success(); | ||||
| } | } | ||||
| @DeleteMapping("/deleteDatasetVersion") | @DeleteMapping("/deleteDatasetVersion") | ||||
| @ApiOperation(value = "删除数据集版本") | @ApiOperation(value = "删除数据集版本") | ||||
| public AjaxResult deleteDatasetVersion(@RequestParam("identifier") 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, | |||||
| @RequestParam("relative_paths") String relativePaths) throws Exception { | |||||
| // 查询版本,如果是最后一个版本,则不能删除 | // 查询版本,如果是最后一个版本,则不能删除 | ||||
| List<Map<String, Object>> versionList = this.newDatasetService.getVersionList(repo, owner); | List<Map<String, Object>> versionList = this.newDatasetService.getVersionList(repo, owner); | ||||
| if(versionList.size() == 1){ | |||||
| if (versionList.size() == 1) { | |||||
| return AjaxResult.error("当前数据集只有一个版本,不能删除该版本"); | return AjaxResult.error("当前数据集只有一个版本,不能删除该版本"); | ||||
| } | } | ||||
| this.newDatasetService.deleteDatasetVersionNew(repo,owner,version); | |||||
| this.newDatasetService.deleteDatasetVersionNew(repo, owner, version, relativePaths); | |||||
| return AjaxResult.success(); | return AjaxResult.success(); | ||||
| } | } | ||||
| @@ -109,32 +109,32 @@ public class NewDatasetFromGitController { | |||||
| * 上传数据集 | * 上传数据集 | ||||
| * | * | ||||
| * @param files 上传的数据集文件 | * @param files 上传的数据集文件 | ||||
| * @param uuid 上传唯一标识,构建url | |||||
| * @param uuid 上传唯一标识,构建url | |||||
| * @return 上传结果 | * @return 上传结果 | ||||
| */ | */ | ||||
| @CrossOrigin(origins = "*", allowedHeaders = "*") | @CrossOrigin(origins = "*", allowedHeaders = "*") | ||||
| @PostMapping("/upload") | @PostMapping("/upload") | ||||
| @ApiOperation(value = "上传数据集") | @ApiOperation(value = "上传数据集") | ||||
| public AjaxResult uploadDataset(@RequestParam("file") MultipartFile[] files, @RequestParam("uuid") String uuid) throws Exception { | public AjaxResult uploadDataset(@RequestParam("file") MultipartFile[] files, @RequestParam("uuid") String uuid) throws Exception { | ||||
| return AjaxResult.success(this.newDatasetService.uploadDatasetlocal(files,uuid)); | |||||
| return AjaxResult.success(this.newDatasetService.uploadDatasetlocal(files, uuid)); | |||||
| } | } | ||||
| /** | /** | ||||
| * 数据集打包下载 | * 数据集打包下载 | ||||
| * | * | ||||
| * @param version 数据集版本 | |||||
| * @param version 数据集版本 | |||||
| * @return 单条数据 | * @return 单条数据 | ||||
| */ | */ | ||||
| @GetMapping("/downloadAllFiles") | @GetMapping("/downloadAllFiles") | ||||
| @ApiOperation(value = "下载同一版本下所有数据集,并打包") | @ApiOperation(value = "下载同一版本下所有数据集,并打包") | ||||
| public ResponseEntity<InputStreamResource> downloadAllDatasetFiles(@RequestParam("name") String name, @RequestParam("id") Integer id, @RequestParam("version") String version) throws Exception { | |||||
| return newDatasetService.downloadAllDatasetFilesNew(name,id, version); | |||||
| public ResponseEntity<InputStreamResource> downloadAllDatasetFiles(@RequestParam("name") String name, @RequestParam("id") Integer id, @RequestParam("version") String version) throws Exception { | |||||
| return newDatasetService.downloadAllDatasetFilesNew(name, id, version); | |||||
| } | } | ||||
| /** | /** | ||||
| * 下载数据集 | * 下载数据集 | ||||
| * | * | ||||
| * @param url ps:路径 | |||||
| * @param url ps:路径 | |||||
| * @return 单条数据 | * @return 单条数据 | ||||
| */ | */ | ||||
| @@ -44,7 +44,7 @@ public class NewModelFromGitController { | |||||
| @GetMapping("/downloadAllFiles") | @GetMapping("/downloadAllFiles") | ||||
| @ApiOperation(value = "下载同一版本下所有模型,并打包") | @ApiOperation(value = "下载同一版本下所有模型,并打包") | ||||
| public ResponseEntity<InputStreamResource> downloadAllDatasetFiles(@RequestParam("name") String name, @RequestParam("id") Integer id, @RequestParam("version") String version) throws Exception { | |||||
| public ResponseEntity<InputStreamResource> downloadAllDatasetFiles(@RequestParam("name") String name, @RequestParam("id") Integer id, @RequestParam("version") String version) throws Exception { | |||||
| return modelsService.downloadAllModelFilesNew(name, id, version); | return modelsService.downloadAllModelFilesNew(name, id, version); | ||||
| } | } | ||||
| @@ -95,19 +95,21 @@ public class NewModelFromGitController { | |||||
| @DeleteMapping("/delete") | @DeleteMapping("/delete") | ||||
| @ApiOperation(value = "删除模型") | @ApiOperation(value = "删除模型") | ||||
| public AjaxResult deleteModel(@RequestParam("id") Integer id, @RequestParam("identifier") String identifier, @RequestParam("owner") String owner) throws Exception { | |||||
| public AjaxResult deleteModel(@RequestParam("id") Integer id, @RequestParam("identifier") String identifier, | |||||
| @RequestParam("owner") String owner) throws Exception { | |||||
| this.modelsService.deleteModel(id, identifier, owner); | this.modelsService.deleteModel(id, identifier, owner); | ||||
| return AjaxResult.success(); | return AjaxResult.success(); | ||||
| } | } | ||||
| @DeleteMapping("/deleteVersion") | @DeleteMapping("/deleteVersion") | ||||
| @ApiOperation(value = "删除模型版本") | @ApiOperation(value = "删除模型版本") | ||||
| public AjaxResult deleteVersion(@RequestParam("id") Integer id, @RequestParam("identifier") String identifier, @RequestParam("owner") String owner, @RequestParam("version") String version) throws Exception { | |||||
| public AjaxResult deleteVersion(@RequestParam("id") Integer id, @RequestParam("identifier") String identifier, @RequestParam("owner") String owner, @RequestParam("version") String version | |||||
| , @RequestParam("relative_paths") String relativePaths) throws Exception { | |||||
| List<Map<String, Object>> versionList = this.modelsService.getVersionList(identifier, owner); | List<Map<String, Object>> versionList = this.modelsService.getVersionList(identifier, owner); | ||||
| if(versionList.size() == 1){ | |||||
| if (versionList.size() == 1) { | |||||
| return AjaxResult.error("当前模型只有一个版本,不能删除该版本"); | return AjaxResult.error("当前模型只有一个版本,不能删除该版本"); | ||||
| } | } | ||||
| this.modelsService.deleteVersion(id, identifier, owner, version); | |||||
| this.modelsService.deleteVersion(id, identifier, owner, version, relativePaths); | |||||
| return AjaxResult.success(); | return AjaxResult.success(); | ||||
| } | } | ||||
| } | } | ||||
| @@ -2,7 +2,6 @@ package com.ruoyi.platform.service; | |||||
| import com.ruoyi.platform.vo.GitProjectVo; | import com.ruoyi.platform.vo.GitProjectVo; | ||||
| import java.io.IOException; | |||||
| import java.util.List; | import java.util.List; | ||||
| import java.util.Map; | import java.util.Map; | ||||
| @@ -23,7 +22,7 @@ public interface GitService { | |||||
| void deleteProject(String owner, String projectName) throws Exception; | void deleteProject(String owner, String projectName) throws Exception; | ||||
| void deleteBranch(String owner,String projectName ,String branchName) throws Exception; | |||||
| void deleteBranch(String owner, String projectName, String branchName, String localPath) throws Exception; | |||||
| Map getUserInfo(String token) throws Exception; | Map getUserInfo(String token) throws Exception; | ||||
| } | } | ||||
| @@ -14,7 +14,6 @@ import org.springframework.web.multipart.MultipartFile; | |||||
| import java.io.IOException; | import java.io.IOException; | ||||
| import java.util.List; | import java.util.List; | ||||
| import java.util.Map; | import java.util.Map; | ||||
| import java.util.concurrent.CompletableFuture; | |||||
| /** | /** | ||||
| * (Models)表服务接口 | * (Models)表服务接口 | ||||
| @@ -108,5 +107,5 @@ public interface ModelsService { | |||||
| void deleteModel(Integer repoId, String identifier, String owner) throws Exception; | void deleteModel(Integer repoId, String identifier, String owner) throws Exception; | ||||
| void deleteVersion(Integer repoId, String identifier, String owner, String version) throws Exception; | |||||
| void deleteVersion(Integer repoId, String identifier, String owner, String version, String relativePath) throws Exception; | |||||
| } | } | ||||
| @@ -29,5 +29,5 @@ public interface NewDatasetService { | |||||
| void deleteDatasetNew(String repo, String owner) throws Exception; | void deleteDatasetNew(String repo, String owner) throws Exception; | ||||
| void deleteDatasetVersionNew(String repo, String owner, String version) throws Exception; | |||||
| void deleteDatasetVersionNew(String repo, String owner, String version, String relativePath) throws Exception; | |||||
| } | } | ||||
| @@ -8,12 +8,15 @@ import com.ruoyi.platform.utils.JsonUtils; | |||||
| import com.ruoyi.platform.vo.GitProjectVo; | import com.ruoyi.platform.vo.GitProjectVo; | ||||
| import com.ruoyi.system.api.model.LoginUser; | import com.ruoyi.system.api.model.LoginUser; | ||||
| import org.apache.commons.lang3.StringUtils; | import org.apache.commons.lang3.StringUtils; | ||||
| import org.eclipse.jgit.api.Git; | |||||
| import org.eclipse.jgit.api.errors.GitAPIException; | |||||
| import org.slf4j.Logger; | import org.slf4j.Logger; | ||||
| import org.slf4j.LoggerFactory; | import org.slf4j.LoggerFactory; | ||||
| import org.springframework.beans.factory.annotation.Value; | import org.springframework.beans.factory.annotation.Value; | ||||
| import org.springframework.stereotype.Service; | import org.springframework.stereotype.Service; | ||||
| import redis.clients.jedis.Jedis; | import redis.clients.jedis.Jedis; | ||||
| import java.io.File; | |||||
| import java.io.IOException; | import java.io.IOException; | ||||
| import java.util.Collections; | import java.util.Collections; | ||||
| import java.util.HashMap; | import java.util.HashMap; | ||||
| @@ -147,7 +150,13 @@ public class GitServiceImpl implements GitService { | |||||
| } | } | ||||
| @Override | @Override | ||||
| public void deleteBranch(String owner, String projectName, String branchName) throws Exception { | |||||
| public void deleteBranch(String owner, String projectName, String branchName, String localPath) throws Exception { | |||||
| try (Git git = Git.open(new File(localPath))) { | |||||
| git.checkout().setName("master").call(); | |||||
| git.branchDelete().setBranchNames(branchName).setForce(true).call(); | |||||
| } catch (IOException | GitAPIException e) { | |||||
| log.error("Exception occurred while creating local branch based on master",e); | |||||
| } | |||||
| String token = this.checkoutToken(); | String token = this.checkoutToken(); | ||||
| HttpUtils.sendDeleteRequest("https://www.gitlink.org.cn/api/v1/" + owner + "/" + projectName + "/branches/" + branchName + ".json", token); | HttpUtils.sendDeleteRequest("https://www.gitlink.org.cn/api/v1/" + owner + "/" + projectName + "/branches/" + branchName + ".json", token); | ||||
| } | } | ||||
| @@ -872,7 +872,7 @@ public class ModelsServiceImpl implements ModelsService { | |||||
| } | } | ||||
| @Override | @Override | ||||
| public List<Map<String, Object>> getVersionList(String identifier, String owner) throws Exception { | |||||
| public List<Map<String, Object>> getVersionList(String identifier, String owner) throws Exception { | |||||
| List<Map<String, Object>> brancheList = gitService.getBrancheList(owner, identifier); | List<Map<String, Object>> brancheList = gitService.getBrancheList(owner, identifier); | ||||
| return brancheList.stream() | return brancheList.stream() | ||||
| .filter(branch -> !"master".equals(branch.get("name"))) | .filter(branch -> !"master".equals(branch.get("name"))) | ||||
| @@ -946,8 +946,8 @@ public class ModelsServiceImpl implements ModelsService { | |||||
| } | } | ||||
| @Override | @Override | ||||
| public void deleteVersion(Integer repoId, String identifier, String owner, String version) throws Exception { | |||||
| gitService.deleteBranch(owner, identifier, version); | |||||
| public void deleteVersion(Integer repoId, String identifier, String owner, String version, String relativePath) throws Exception { | |||||
| gitService.deleteBranch(owner, identifier, version, localPath + relativePath); | |||||
| //删除模型依赖 | //删除模型依赖 | ||||
| modelDependency1Dao.deleteModel(repoId, identifier, owner, version); | modelDependency1Dao.deleteModel(repoId, identifier, owner, version); | ||||
| modelDependency1Dao.deleteModelDependency(repoId, identifier, owner, version); | modelDependency1Dao.deleteModelDependency(repoId, identifier, owner, version); | ||||
| @@ -316,12 +316,12 @@ public class NewDatasetServiceImpl implements NewDatasetService { | |||||
| } | } | ||||
| @Override | @Override | ||||
| public void deleteDatasetVersionNew(String repo, String owner, String version) throws Exception { | |||||
| public void deleteDatasetVersionNew(String repo, String owner, String version, String relativePath) throws Exception { | |||||
| Jedis jedis = new Jedis(redisHost); | Jedis jedis = new Jedis(redisHost); | ||||
| LoginUser loginUser = SecurityUtils.getLoginUser(); | LoginUser loginUser = SecurityUtils.getLoginUser(); | ||||
| String ci4sUsername = loginUser.getUsername(); | String ci4sUsername = loginUser.getUsername(); | ||||
| String token = jedis.get(ci4sUsername+"_gitToken"); | String token = jedis.get(ci4sUsername+"_gitToken"); | ||||
| gitService.deleteBranch(owner, repo, version); | |||||
| gitService.deleteBranch(owner, repo, version, localPathlocal + relativePath); | |||||
| } | } | ||||
| @Override | @Override | ||||