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 6f53e4d0..18f9f872 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 @@ -90,7 +90,7 @@ public class ModelDependency implements Serializable { private Integer state; private Long workflowId; - private int availableRange; + private Models models; public Integer getId() { return id; @@ -236,12 +236,12 @@ public class ModelDependency implements Serializable { this.workflowId = workflowId; } - public int getAvailableRange() { - return availableRange; + public Models getModels() { + return models; } - public void setAvailableRange(int availableRange) { - this.availableRange = availableRange; + public void setModels(Models models) { + this.models = models; } } 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 99b21bae..91b071ca 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 @@ -3,12 +3,10 @@ package com.ruoyi.platform.service.impl; import com.ruoyi.common.security.utils.SecurityUtils; 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.service.*; import com.ruoyi.platform.utils.JacksonUtil; import com.ruoyi.platform.vo.ModelDependcyTreeVo; +import com.ruoyi.platform.vo.ModelVersionDependcyVo; import com.ruoyi.system.api.model.LoginUser; import org.apache.commons.lang3.StringUtils; import org.springframework.context.annotation.Lazy; @@ -38,6 +36,8 @@ public class ModelDependencyServiceImpl implements ModelDependencyService { @Resource private ModelsService modelsService; + @Resource + private ModelsVersionService modelsVersionService; @Lazy @Resource private ExperimentService experimentService; @@ -77,21 +77,6 @@ public class ModelDependencyServiceImpl implements ModelDependencyService { @Override 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; } @@ -130,7 +115,6 @@ public class ModelDependencyServiceImpl implements ModelDependencyService { if (modelDependencyList!=null&&modelDependencyList.size()>=0){ for (ModelDependency modelDependency:modelDependencyList){ ModelDependcyTreeVo modelDependencyTreeVoIn = ModelDependencyConvertToTree(modelDependency); - modelDependencyTreeVoIn.setCurrentModelName((String) parent.get("model_name")); processParentModel(modelDependencyTreeVoIn); ps.add(modelDependencyTreeVoIn); } @@ -142,7 +126,7 @@ public class ModelDependencyServiceImpl implements ModelDependencyService { } - private void processChildrenModel(ModelDependcyTreeVo modelDependcyTreeVo){ + private void processChildrenModel(ModelDependcyTreeVo modelDependcyTreeVo) throws IOException { String version = modelDependcyTreeVo.getVersion(); Integer modelId = modelDependcyTreeVo.getCurrentModelId(); List cs = new ArrayList(); @@ -159,7 +143,7 @@ public class ModelDependencyServiceImpl implements ModelDependencyService { modelDependcyTreeVo.setChildrenModels(cs); } - private ModelDependcyTreeVo ModelDependencyConvertToTree(ModelDependency modelDependency){ + private ModelDependcyTreeVo ModelDependencyConvertToTree(ModelDependency modelDependency) throws IOException { ModelDependcyTreeVo modelDependcyTreeVo = new ModelDependcyTreeVo(); modelDependcyTreeVo.setCurrentModelId(modelDependency.getCurrentModelId()); modelDependcyTreeVo.setExpInsId(modelDependency.getExpInsId()); @@ -172,12 +156,33 @@ public class ModelDependencyServiceImpl implements ModelDependencyService { 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()); - } + + /** + * 补充workFlow_id + 是否共有 + */ + Integer currentModelId = modelDependency.getCurrentModelId(); + Integer expInsId = modelDependency.getExpInsId(); + Models models = modelsService.queryById(currentModelId); + ModelsVersion modelsVersionquery = new ModelsVersion(); + modelsVersionquery.setModelsId(currentModelId); + modelsVersionquery.setVersion(modelDependency.getVersion()); + ModelsVersion modelsVersion = modelsVersionService.queryByModelsVersion(modelsVersionquery); + ExperimentIns experimentIns = experimentInsService.queryById(expInsId); + Experiment experiment = experimentService.queryById(experimentIns.getExperimentId()); + ModelVersionDependcyVo modelVersionDependcyVo = new ModelVersionDependcyVo(); + modelVersionDependcyVo.setName(models.getName()); + modelVersionDependcyVo.setAvailableRange(models.getAvailableRange()); + modelVersionDependcyVo.setDescription(models.getDescription()); + modelVersionDependcyVo.setModelTag(models.getModelTag()); + modelVersionDependcyVo.setModelType(models.getModelType()); + modelVersionDependcyVo.setModelTagName(models.getModelTagName()); + modelVersionDependcyVo.setModelTypeName(models.getModelTypeName()); + modelVersionDependcyVo.setFileName(modelsVersion.getFileName()); + modelVersionDependcyVo.setFileSize(modelsVersion.getFileSize()); + modelVersionDependcyVo.setUrl(modelsVersion.getUrl()); + modelDependcyTreeVo.setWorkflowId(experiment.getWorkflowId()); + modelDependcyTreeVo.setModelVersionDependcyVo(modelVersionDependcyVo); + return modelDependcyTreeVo; } 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 54aef8e8..8abe4033 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 @@ -2,6 +2,7 @@ package com.ruoyi.platform.vo; import com.fasterxml.jackson.databind.PropertyNamingStrategy; import com.fasterxml.jackson.databind.annotation.JsonNaming; +import com.ruoyi.platform.domain.Models; import lombok.Data; import java.util.List; @@ -66,8 +67,6 @@ public class ModelDependcyTreeVo { */ private List childrenModels; - private String currentModelName; - private Long workflowId; - private int availableRange; + private ModelVersionDependcyVo modelVersionDependcyVo; } diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/ModelVersionDependcyVo.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/ModelVersionDependcyVo.java new file mode 100644 index 00000000..9d835a41 --- /dev/null +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/ModelVersionDependcyVo.java @@ -0,0 +1,48 @@ +package com.ruoyi.platform.vo; + +import com.fasterxml.jackson.databind.PropertyNamingStrategy; +import com.fasterxml.jackson.databind.annotation.JsonNaming; +import com.ruoyi.platform.annotations.CheckDuplicate; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +@Data +@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class) +public class ModelVersionDependcyVo implements Serializable { + + + @ApiModelProperty(name = "name") + private String name; + + // private String version; + @ApiModelProperty(name = "description") + private String description; + + @ApiModelProperty(value = "模型可见范围,1表示公开,0表示私有") + private int availableRange; + + @ApiModelProperty(value = "模型类型(模型框架)") + private String modelType; + + @ApiModelProperty(value = "模型标签") + private String modelTag; + + + @ApiModelProperty(value = "模型类型名") + private String modelTypeName; + + @ApiModelProperty(value = "模型tag名") + private String modelTagName; + + @ApiModelProperty(value = "模型存储地址") + private String url; + + @ApiModelProperty(value = "文件名") + private String fileName; + + @ApiModelProperty(value = "文件大小") + private String fileSize; + +}