| @@ -26,7 +26,6 @@ public class NewDatasetFromGitController { | |||
| private NewDatasetService newDatasetService; | |||
| /** | |||
| * 新增数据集与版本新 | |||
| * | |||
| @@ -57,50 +56,51 @@ public class NewDatasetFromGitController { | |||
| @GetMapping("/queryDatasets") | |||
| @ApiOperation("数据集广场公开数据集分页查询,根据data_type,data_tag筛选,true公开false私有") | |||
| 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 = "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); | |||
| if(isPublic){ | |||
| if (isPublic) { | |||
| return AjaxResult.success(this.newDatasetService.newPubilcQueryByPage(dataset, pageRequest)); | |||
| }else { | |||
| } else { | |||
| return AjaxResult.success(this.newDatasetService.newPersonalQueryByPage(dataset, pageRequest)); | |||
| } | |||
| } | |||
| @GetMapping("/getVersionList") | |||
| @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") | |||
| @ApiOperation(value = "获取数据集详情") | |||
| public AjaxResult getDatasetVersions(@RequestParam("name") String name, | |||
| @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") | |||
| @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(); | |||
| } | |||
| @DeleteMapping("/deleteDatasetVersion") | |||
| @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); | |||
| if(versionList.size() == 1){ | |||
| if (versionList.size() == 1) { | |||
| return AjaxResult.error("当前数据集只有一个版本,不能删除该版本"); | |||
| } | |||
| this.newDatasetService.deleteDatasetVersionNew(repo,owner,version); | |||
| this.newDatasetService.deleteDatasetVersionNew(repo, owner, version, relativePaths); | |||
| return AjaxResult.success(); | |||
| } | |||
| @@ -109,32 +109,32 @@ public class NewDatasetFromGitController { | |||
| * 上传数据集 | |||
| * | |||
| * @param files 上传的数据集文件 | |||
| * @param uuid 上传唯一标识,构建url | |||
| * @param uuid 上传唯一标识,构建url | |||
| * @return 上传结果 | |||
| */ | |||
| @CrossOrigin(origins = "*", allowedHeaders = "*") | |||
| @PostMapping("/upload") | |||
| @ApiOperation(value = "上传数据集") | |||
| 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 单条数据 | |||
| */ | |||
| @GetMapping("/downloadAllFiles") | |||
| @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 单条数据 | |||
| */ | |||
| @@ -44,7 +44,7 @@ public class NewModelFromGitController { | |||
| @GetMapping("/downloadAllFiles") | |||
| @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); | |||
| } | |||
| @@ -95,19 +95,21 @@ public class NewModelFromGitController { | |||
| @DeleteMapping("/delete") | |||
| @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); | |||
| return AjaxResult.success(); | |||
| } | |||
| @DeleteMapping("/deleteVersion") | |||
| @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); | |||
| if(versionList.size() == 1){ | |||
| if (versionList.size() == 1) { | |||
| return AjaxResult.error("当前模型只有一个版本,不能删除该版本"); | |||
| } | |||
| this.modelsService.deleteVersion(id, identifier, owner, version); | |||
| this.modelsService.deleteVersion(id, identifier, owner, version, relativePaths); | |||
| return AjaxResult.success(); | |||
| } | |||
| } | |||
| @@ -2,7 +2,6 @@ package com.ruoyi.platform.service; | |||
| import com.ruoyi.platform.vo.GitProjectVo; | |||
| import java.io.IOException; | |||
| import java.util.List; | |||
| import java.util.Map; | |||
| @@ -23,7 +22,7 @@ public interface GitService { | |||
| 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; | |||
| } | |||
| @@ -14,7 +14,6 @@ import org.springframework.web.multipart.MultipartFile; | |||
| import java.io.IOException; | |||
| import java.util.List; | |||
| import java.util.Map; | |||
| import java.util.concurrent.CompletableFuture; | |||
| /** | |||
| * (Models)表服务接口 | |||
| @@ -108,5 +107,5 @@ public interface ModelsService { | |||
| 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 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.system.api.model.LoginUser; | |||
| 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.LoggerFactory; | |||
| import org.springframework.beans.factory.annotation.Value; | |||
| import org.springframework.stereotype.Service; | |||
| import redis.clients.jedis.Jedis; | |||
| import java.io.File; | |||
| import java.io.IOException; | |||
| import java.util.Collections; | |||
| import java.util.HashMap; | |||
| @@ -147,7 +150,13 @@ public class GitServiceImpl implements GitService { | |||
| } | |||
| @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(); | |||
| 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 | |||
| 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); | |||
| return brancheList.stream() | |||
| .filter(branch -> !"master".equals(branch.get("name"))) | |||
| @@ -946,8 +946,8 @@ public class ModelsServiceImpl implements ModelsService { | |||
| } | |||
| @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.deleteModelDependency(repoId, identifier, owner, version); | |||
| @@ -316,12 +316,12 @@ public class NewDatasetServiceImpl implements NewDatasetService { | |||
| } | |||
| @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); | |||
| LoginUser loginUser = SecurityUtils.getLoginUser(); | |||
| String ci4sUsername = loginUser.getUsername(); | |||
| String token = jedis.get(ci4sUsername+"_gitToken"); | |||
| gitService.deleteBranch(owner, repo, version); | |||
| gitService.deleteBranch(owner, repo, version, localPathlocal + relativePath); | |||
| } | |||
| @Override | |||