diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/model/ModelDependencyController.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/model/ModelDependencyController.java index 9afd7399..a62e8c61 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/model/ModelDependencyController.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/model/ModelDependencyController.java @@ -13,6 +13,7 @@ import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import java.io.IOException; import java.util.List; /** @@ -53,7 +54,7 @@ public class ModelDependencyController extends BaseController { */ @GetMapping("/queryModelDependency") @ApiOperation("根据对象查询") - public GenericsAjaxResult> queryByModelDependency(@RequestBody ModelDependency modelDependency) { + public GenericsAjaxResult> queryByModelDependency(@RequestBody ModelDependency modelDependency) throws IOException { modelDependency.setState(1); return genericsSuccess(this.modelDependencyService.queryByModelDependency(modelDependency)); } diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/model/ModelsVersionController.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/model/ModelsVersionController.java index c966e92c..74a4ebf0 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/model/ModelsVersionController.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/model/ModelsVersionController.java @@ -11,6 +11,7 @@ import org.springframework.data.domain.PageRequest; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import java.io.IOException; import java.util.List; import java.util.Map; @@ -129,7 +130,7 @@ public class ModelsVersionController extends BaseController { @DeleteMapping("/deleteVersion") @ApiOperation(value = "逻辑删除模型版本", notes = "根据模型ID和版本逻辑删除模型版本记录。") public GenericsAjaxResult> deleteModelsVersion(@RequestParam("models_id") Integer modelsId, - @RequestParam("version") String version) { + @RequestParam("version") String version) throws IOException { return genericsSuccess(this.modelsVersionService.deleteModelsVersion(modelsId, version)); } diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/ModelDependency.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/ModelDependency.java index 1809d7e5..6f53e4d0 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/ModelDependency.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/ModelDependency.java @@ -2,6 +2,7 @@ package com.ruoyi.platform.domain; import com.fasterxml.jackson.databind.PropertyNamingStrategy; import com.fasterxml.jackson.databind.annotation.JsonNaming; +import io.swagger.annotations.ApiModelProperty; import java.util.Date; import java.io.Serializable; @@ -88,6 +89,9 @@ public class ModelDependency implements Serializable { */ private Integer state; + private Long workflowId; + private int availableRange; + public Integer getId() { return id; } @@ -152,7 +156,7 @@ public class ModelDependency implements Serializable { this.trainParams = trainParams; } - public String getTrainImage(String name) { + public String getTrainImage() { return trainImage; } @@ -223,5 +227,21 @@ public class ModelDependency implements Serializable { public void setState(Integer state) { this.state = state; } + + public Long getWorkflowId() { + return workflowId; + } + + public void setWorkflowId(Long workflowId) { + this.workflowId = workflowId; + } + + public int getAvailableRange() { + return availableRange; + } + + public void setAvailableRange(int availableRange) { + this.availableRange = availableRange; + } } diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/ModelDependencyService.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/ModelDependencyService.java index 3883a7b7..5c8b9d1d 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/ModelDependencyService.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/ModelDependencyService.java @@ -5,6 +5,7 @@ import com.ruoyi.platform.vo.ModelDependcyTreeVo; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; +import java.io.IOException; import java.util.List; /** @@ -58,7 +59,7 @@ public interface ModelDependencyService { String removeById(Integer id); - List queryByModelDependency(ModelDependency modelDependency); + List queryByModelDependency(ModelDependency modelDependency) throws IOException; ModelDependcyTreeVo getModelDependencyTree(ModelDependency modelDependency) throws Exception; } diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/ModelsVersionService.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/ModelsVersionService.java index 6938da95..723bc745 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/ModelsVersionService.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/ModelsVersionService.java @@ -6,6 +6,7 @@ import com.ruoyi.platform.domain.ModelsVersion; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; +import java.io.IOException; import java.util.List; import java.util.Map; @@ -68,7 +69,7 @@ public interface ModelsVersionService { Map queryByModelsIdAndVersion(Integer modelsId, String version); - Map deleteModelsVersion(Integer modelsId, String version); + Map deleteModelsVersion(Integer modelsId, String version) throws IOException; String addModelVersions(List modelsVersions) throws Exception; diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ModelDependencyServiceImpl.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ModelDependencyServiceImpl.java index 93b6113b..99b21bae 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ModelDependencyServiceImpl.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ModelDependencyServiceImpl.java @@ -1,22 +1,24 @@ package com.ruoyi.platform.service.impl; import com.ruoyi.common.security.utils.SecurityUtils; -import com.ruoyi.platform.domain.ModelDependency; -import com.ruoyi.platform.domain.Models; -import com.ruoyi.platform.domain.ModelsVersion; +import com.ruoyi.platform.domain.*; import com.ruoyi.platform.mapper.ModelDependencyDao; +import com.ruoyi.platform.service.ExperimentInsService; +import com.ruoyi.platform.service.ExperimentService; import com.ruoyi.platform.service.ModelDependencyService; import com.ruoyi.platform.service.ModelsService; import com.ruoyi.platform.utils.JacksonUtil; import com.ruoyi.platform.vo.ModelDependcyTreeVo; import com.ruoyi.system.api.model.LoginUser; import org.apache.commons.lang3.StringUtils; +import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageImpl; import org.springframework.data.domain.PageRequest; import javax.annotation.Resource; +import java.io.IOException; import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -36,7 +38,12 @@ public class ModelDependencyServiceImpl implements ModelDependencyService { @Resource private ModelsService modelsService; - + @Lazy + @Resource + private ExperimentService experimentService; + @Lazy + @Resource + private ExperimentInsService experimentInsService; /** * 通过ID查询单条数据 * @@ -68,15 +75,31 @@ public class ModelDependencyServiceImpl implements ModelDependencyService { * @return 查询结果 */ @Override - public List queryByModelDependency(ModelDependency modelDependency) { - return this.modelDependencyDao.queryByModelDependency(modelDependency); + public List queryByModelDependency(ModelDependency modelDependency) throws IOException { + List modelDependencyList = this.modelDependencyDao.queryByModelDependency(modelDependency); + /** + * 补充workFlow_id + 是否共有 + */ + if (modelDependencyList == null || modelDependencyList.size()==0){ + return new ArrayList<>(); + } + for (ModelDependency md : modelDependencyList){ + Integer currentModelId = md.getCurrentModelId(); + Integer expInsId = md.getExpInsId(); + Models models = modelsService.queryById(currentModelId); + ExperimentIns experimentIns = experimentInsService.queryById(expInsId); + Experiment experiment = experimentService.queryById(experimentIns.getExperimentId()); + md.setWorkflowId(experiment.getWorkflowId()); + md.setAvailableRange(models.getAvailableRange()); + } + return modelDependencyList; } @Override public ModelDependcyTreeVo getModelDependencyTree(ModelDependency modelDependencyQuery) throws Exception { //查询当前模型 modelDependencyQuery.setState(1); - List modelDependencyList = modelDependencyDao.queryByModelDependency(modelDependencyQuery); + List modelDependencyList = this.queryByModelDependency(modelDependencyQuery); if (modelDependencyList==null || modelDependencyList.size()==0){ throw new Exception("当前模型依赖关系不存在"); } @@ -93,7 +116,7 @@ public class ModelDependencyServiceImpl implements ModelDependencyService { * 递归父模型 * @param modelDependcyTreeVo */ - private void processParentModel(ModelDependcyTreeVo modelDependcyTreeVo){ + private void processParentModel(ModelDependcyTreeVo modelDependcyTreeVo) throws IOException { if (modelDependcyTreeVo.getParentModelsMap() != null) { List> parentMaps = modelDependcyTreeVo.getParentModelsMap(); List ps = new ArrayList(); @@ -103,7 +126,7 @@ public class ModelDependencyServiceImpl implements ModelDependencyService { ModelDependency modelDependencyQuery = new ModelDependency(); modelDependencyQuery.setVersion(version); modelDependencyQuery.setCurrentModelId(model_id); - List modelDependencyList = modelDependencyDao.queryByModelDependency(modelDependencyQuery); + List modelDependencyList = this.queryByModelDependency(modelDependencyQuery); if (modelDependencyList!=null&&modelDependencyList.size()>=0){ for (ModelDependency modelDependency:modelDependencyList){ ModelDependcyTreeVo modelDependencyTreeVoIn = ModelDependencyConvertToTree(modelDependency); @@ -144,9 +167,13 @@ public class ModelDependencyServiceImpl implements ModelDependencyService { modelDependcyTreeVo.setRefItem(modelDependency.getRefItem()); modelDependcyTreeVo.setTrainTask(JacksonUtil.parseJSONStr2Map(modelDependency.getTrainTask())); modelDependcyTreeVo.setTrainDataset(JacksonUtil.parseJSONStr2MapList(modelDependency.getTrainDataset())); + modelDependcyTreeVo.setTrainImage(modelDependency.getTrainImage()); + modelDependcyTreeVo.setTrainParams(JacksonUtil.parseJSONStr2TList(modelDependency.getTrainParams(),Object.class,null)); modelDependcyTreeVo.setTestDataset(JacksonUtil.parseJSONStr2MapList(modelDependency.getTestDataset())); modelDependcyTreeVo.setProjectDependency(JacksonUtil.parseJSONStr2Map(modelDependency.getProjectDependency())); modelDependcyTreeVo.setParentModelsMap(JacksonUtil.parseJSONStr2MapList(modelDependency.getParentModels())); + modelDependcyTreeVo.setWorkflowId(modelDependency.getWorkflowId()); + modelDependcyTreeVo.setAvailableRange(modelDependcyTreeVo.getAvailableRange()); Models models = modelsService.queryById(modelDependency.getCurrentModelId()); if (models!=null) { modelDependcyTreeVo.setCurrentModelName(models.getName()); diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ModelsServiceImpl.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ModelsServiceImpl.java index d0a504ee..b3603484 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ModelsServiceImpl.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ModelsServiceImpl.java @@ -192,6 +192,7 @@ public class ModelsServiceImpl implements ModelsService { * * @param id models_version表的主键 * @return 文件内容 + * */ @Override diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ModelsVersionServiceImpl.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ModelsVersionServiceImpl.java index e0b1207f..08d94324 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ModelsVersionServiceImpl.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ModelsVersionServiceImpl.java @@ -20,6 +20,7 @@ import org.springframework.data.domain.PageRequest; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.io.IOException; import java.lang.reflect.Field; import java.util.Date; import java.util.HashMap; @@ -197,7 +198,7 @@ public class ModelsVersionServiceImpl implements ModelsVersionService { } @Override - public Map deleteModelsVersion(Integer modelsId, String version) { + public Map deleteModelsVersion(Integer modelsId, String version) throws IOException { Map results = new HashMap(); // 根据模型ID和版本查询所有模型版本 List versions = this.modelsVersionDao.queryAllByModelsVersion(modelsId, version); diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/ModelDependcyTreeVo.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/ModelDependcyTreeVo.java index 5814ffca..54aef8e8 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/ModelDependcyTreeVo.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/ModelDependcyTreeVo.java @@ -37,6 +37,15 @@ public class ModelDependcyTreeVo { * 训练数据集 */ private List> trainDataset; + + /** + * 训练参数 + */ + private List trainParams; + /** + * 训练镜像 + */ + private String trainImage; /** * 测试数据集 */ @@ -58,4 +67,7 @@ public class ModelDependcyTreeVo { private List childrenModels; private String currentModelName; + + private Long workflowId; + private int availableRange; }