Browse Source

修改版本删除接口

dev-restore_mount
chenzhihang 1 year ago
parent
commit
64b59e8abc
8 changed files with 48 additions and 39 deletions
  1. +23
    -23
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/dataset/NewDatasetFromGitController.java
  2. +7
    -5
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/model/NewModelFromGitController.java
  3. +1
    -2
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/GitService.java
  4. +1
    -2
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/ModelsService.java
  5. +1
    -1
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/NewDatasetService.java
  6. +10
    -1
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/GitServiceImpl.java
  7. +3
    -3
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ModelsServiceImpl.java
  8. +2
    -2
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/NewDatasetServiceImpl.java

+ 23
- 23
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/dataset/NewDatasetFromGitController.java View File

@@ -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 单条数据
*/



+ 7
- 5
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/model/NewModelFromGitController.java View File

@@ -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();
}
}

+ 1
- 2
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/GitService.java View File

@@ -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;
}

+ 1
- 2
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/ModelsService.java View File

@@ -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;
}

+ 1
- 1
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/NewDatasetService.java View File

@@ -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;
}

+ 10
- 1
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/GitServiceImpl.java View File

@@ -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);
}


+ 3
- 3
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ModelsServiceImpl.java View File

@@ -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);


+ 2
- 2
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/NewDatasetServiceImpl.java View File

@@ -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


Loading…
Cancel
Save