Browse Source

数据集,模型增加版本对比功能

dev-complex-computation
chenzhihang 1 year ago
parent
commit
39932cb272
7 changed files with 57 additions and 0 deletions
  1. +7
    -0
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/dataset/NewDatasetFromGitController.java
  2. +5
    -0
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/model/NewModelFromGitController.java
  3. +2
    -0
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/ModelsService.java
  4. +3
    -0
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/NewDatasetService.java
  5. +19
    -0
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ModelsServiceImpl.java
  6. +17
    -0
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/NewDatasetServiceImpl.java
  7. +4
    -0
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/QueryModelMetricsVo.java

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

@@ -4,6 +4,7 @@ import com.ruoyi.common.core.web.domain.AjaxResult;
import com.ruoyi.platform.domain.Dataset; import com.ruoyi.platform.domain.Dataset;
import com.ruoyi.platform.service.NewDatasetService; import com.ruoyi.platform.service.NewDatasetService;
import com.ruoyi.platform.vo.NewDatasetVo; import com.ruoyi.platform.vo.NewDatasetVo;
import com.ruoyi.platform.vo.QueryModelMetricsVo;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.core.io.InputStreamResource; import org.springframework.core.io.InputStreamResource;
import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.PageRequest;
@@ -149,4 +150,10 @@ public class NewDatasetFromGitController {
public ResponseEntity<InputStreamResource> downloadDataset(@RequestParam("url") String url) throws Exception { public ResponseEntity<InputStreamResource> downloadDataset(@RequestParam("url") String url) throws Exception {
return newDatasetService.downloadDatasetlocal(url); return newDatasetService.downloadDatasetlocal(url);
} }

@PostMapping("/getVersionsCompare")
@ApiOperation(value = "获取数据集版本对比")
public AjaxResult getVersionsCompare(@RequestBody QueryModelMetricsVo querydatasetVo) throws Exception{
return AjaxResult.success(this.newDatasetService.getVersionsCompare(querydatasetVo));
}
} }

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

@@ -132,4 +132,9 @@ public class NewModelFromGitController {
return AjaxResult.success(); return AjaxResult.success();
} }


@PostMapping("/getVersionsCompare")
@ApiOperation(value = "获取模型版本对比")
public AjaxResult getVersionsCompare(@RequestBody QueryModelMetricsVo queryModelMetricsVo) throws Exception{
return AjaxResult.success(this.modelsService.getVersionsCompare(queryModelMetricsVo));
}
} }

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

@@ -114,4 +114,6 @@ public interface ModelsService {
void deleteModel(Integer repoId, String identifier, String owner, Boolean isPublic) throws Exception; void deleteModel(Integer repoId, String identifier, String owner, Boolean isPublic) throws Exception;


void deleteVersion(Integer repoId, String identifier, String owner, String version, String relativePath) throws Exception; void deleteVersion(Integer repoId, String identifier, String owner, String version, String relativePath) throws Exception;

Map<String, Object> getVersionsCompare(QueryModelMetricsVo queryModelMetricsVo) throws Exception;
} }

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

@@ -2,6 +2,7 @@ package com.ruoyi.platform.service;


import com.ruoyi.platform.domain.Dataset; import com.ruoyi.platform.domain.Dataset;
import com.ruoyi.platform.vo.NewDatasetVo; import com.ruoyi.platform.vo.NewDatasetVo;
import com.ruoyi.platform.vo.QueryModelMetricsVo;
import org.springframework.core.io.InputStreamResource; import org.springframework.core.io.InputStreamResource;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.PageRequest;
@@ -36,4 +37,6 @@ public interface NewDatasetService {
void deleteDatasetNew(Integer repoId, String repo, String owner, Boolean isPublic) throws Exception; void deleteDatasetNew(Integer repoId, String repo, String owner, Boolean isPublic) throws Exception;


void deleteDatasetVersionNew(Integer repoId, String repo, String owner, String version, String relativePath) throws Exception; void deleteDatasetVersionNew(Integer repoId, String repo, String owner, String version, String relativePath) throws Exception;

Map<String, Object> getVersionsCompare(QueryModelMetricsVo querydatasetVo) throws Exception;
} }

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

@@ -1190,6 +1190,25 @@ public class ModelsServiceImpl implements ModelsService {
FileUtil.renameFile(rootPath, rootPath + "_deleted_" + System.currentTimeMillis()); FileUtil.renameFile(rootPath, rootPath + "_deleted_" + System.currentTimeMillis());
} }


@Override
public Map<String, Object> getVersionsCompare(QueryModelMetricsVo queryModelMetricsVo) throws Exception {
Map<String, Object> result = new HashMap<>();
List<String> versions = queryModelMetricsVo.getVersions();

ModelDependency1 modelDependency1 = modelDependency1Dao.queryByRepoAndVersion(queryModelMetricsVo.getRepoId(), queryModelMetricsVo.getIdentifier(), versions.get(0));
ModelMetaVo modelMetaVo1 = JSON.parseObject(modelDependency1.getMeta(), ModelMetaVo.class);

ModelDependency1 modelDependency2 = modelDependency1Dao.queryByRepoAndVersion(queryModelMetricsVo.getRepoId(), queryModelMetricsVo.getIdentifier(), versions.get(1));
ModelMetaVo modelMetaVo2 = JSON.parseObject(modelDependency2.getMeta(), ModelMetaVo.class);

Map<String, String> compareMap = ConvertUtil.compareObjects(modelMetaVo1, modelMetaVo2);

result.put("version1", modelMetaVo1);
result.put("version2", modelMetaVo2);
result.put("differences", compareMap);
return result;
}

public List<ModelsVo> convert(List<Map<String, Object>> lst, String modelTopic, String modelTagName, String modelTypeName) { public List<ModelsVo> convert(List<Map<String, Object>> lst, String modelTopic, String modelTagName, String modelTypeName) {
if (lst != null && lst.size() > 0) { if (lst != null && lst.size() > 0) {
List<ModelsVo> result = new ArrayList<>(); List<ModelsVo> result = new ArrayList<>();


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

@@ -16,6 +16,7 @@ import com.ruoyi.platform.service.NewDatasetService;
import com.ruoyi.platform.utils.*; import com.ruoyi.platform.utils.*;
import com.ruoyi.platform.vo.GitProjectVo; import com.ruoyi.platform.vo.GitProjectVo;
import com.ruoyi.platform.vo.NewDatasetVo; import com.ruoyi.platform.vo.NewDatasetVo;
import com.ruoyi.platform.vo.QueryModelMetricsVo;
import com.ruoyi.platform.vo.VersionVo; import com.ruoyi.platform.vo.VersionVo;
import com.ruoyi.system.api.model.LoginUser; import com.ruoyi.system.api.model.LoginUser;
import org.apache.commons.io.FileUtils; import org.apache.commons.io.FileUtils;
@@ -455,6 +456,22 @@ public class NewDatasetServiceImpl implements NewDatasetService {
FileUtil.renameFile(rootPath, rootPath + "_deleted_" + System.currentTimeMillis()); FileUtil.renameFile(rootPath, rootPath + "_deleted_" + System.currentTimeMillis());
} }


@Override
public Map<String, Object> getVersionsCompare(QueryModelMetricsVo querydatasetVo) throws Exception {
Map<String, Object> result = new HashMap<>();
List<String> versions = querydatasetVo.getVersions();

NewDatasetVo newDatasetDesc1 = getNewDatasetDesc(querydatasetVo.getRepoId(), null, querydatasetVo.getIdentifier(), querydatasetVo.getOwner(), versions.get(0), querydatasetVo.getIsPublic());
NewDatasetVo newDatasetDesc2 = getNewDatasetDesc(querydatasetVo.getRepoId(), null, querydatasetVo.getIdentifier(), querydatasetVo.getOwner(), versions.get(1), querydatasetVo.getIsPublic());

Map<String, String> compareMap = ConvertUtil.compareObjects(newDatasetDesc1, newDatasetDesc2);

result.put("version1", newDatasetDesc1);
result.put("version2", newDatasetDesc2);
result.put("differences", compareMap);
return result;
}

@Override @Override
public List<Map<String, String>> uploadDatasetlocal(MultipartFile[] files, String uuid) throws Exception { public List<Map<String, String>> uploadDatasetlocal(MultipartFile[] files, String uuid) throws Exception {
List<Map<String, String>> results = new ArrayList<>(); List<Map<String, String>> results = new ArrayList<>();


+ 4
- 0
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/QueryModelMetricsVo.java View File

@@ -19,4 +19,8 @@ public class QueryModelMetricsVo {
private List<String> metrics; private List<String> metrics;


private String type; private String type;

private Boolean isPublic;

private String owner;
} }

Loading…
Cancel
Save