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