From 3d3113506b95f54789353454a966737ecd985619 Mon Sep 17 00:00:00 2001 From: fanshuai <1141904845@qq.com> Date: Thu, 6 Jun 2024 16:34:59 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A8=A1=E5=9E=8B=E6=BC=94=E5=8C=96=E6=94=B9?= =?UTF-8?q?=E9=80=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../platform/domain/ModelDependency.java | 10 +-- .../impl/ModelDependencyServiceImpl.java | 61 ++++++++++--------- .../platform/vo/ModelDependcyTreeVo.java | 5 +- .../platform/vo/ModelVersionDependcyVo.java | 48 +++++++++++++++ 4 files changed, 88 insertions(+), 36 deletions(-) create mode 100644 ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/ModelVersionDependcyVo.java 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 6f53e4d..18f9f87 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 99b21ba..91b071c 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 54aef8e..8abe403 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 0000000..9d835a4 --- /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; + +}