Browse Source

模型演化改造

pull/58/head
fanshuai 1 year ago
parent
commit
3d3113506b
4 changed files with 88 additions and 36 deletions
  1. +5
    -5
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/ModelDependency.java
  2. +33
    -28
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ModelDependencyServiceImpl.java
  3. +2
    -3
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/ModelDependcyTreeVo.java
  4. +48
    -0
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/ModelVersionDependcyVo.java

+ 5
- 5
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/ModelDependency.java View File

@@ -90,7 +90,7 @@ public class ModelDependency implements Serializable {
private Integer state; private Integer state;


private Long workflowId; private Long workflowId;
private int availableRange;
private Models models;


public Integer getId() { public Integer getId() {
return id; return id;
@@ -236,12 +236,12 @@ public class ModelDependency implements Serializable {
this.workflowId = workflowId; 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;
} }
} }



+ 33
- 28
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ModelDependencyServiceImpl.java View File

@@ -3,12 +3,10 @@ package com.ruoyi.platform.service.impl;
import com.ruoyi.common.security.utils.SecurityUtils; import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.platform.domain.*; import com.ruoyi.platform.domain.*;
import com.ruoyi.platform.mapper.ModelDependencyDao; 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.utils.JacksonUtil;
import com.ruoyi.platform.vo.ModelDependcyTreeVo; import com.ruoyi.platform.vo.ModelDependcyTreeVo;
import com.ruoyi.platform.vo.ModelVersionDependcyVo;
import com.ruoyi.system.api.model.LoginUser; import com.ruoyi.system.api.model.LoginUser;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.context.annotation.Lazy; import org.springframework.context.annotation.Lazy;
@@ -38,6 +36,8 @@ public class ModelDependencyServiceImpl implements ModelDependencyService {


@Resource @Resource
private ModelsService modelsService; private ModelsService modelsService;
@Resource
private ModelsVersionService modelsVersionService;
@Lazy @Lazy
@Resource @Resource
private ExperimentService experimentService; private ExperimentService experimentService;
@@ -77,21 +77,6 @@ public class ModelDependencyServiceImpl implements ModelDependencyService {
@Override @Override
public List<ModelDependency> queryByModelDependency(ModelDependency modelDependency) throws IOException { public List<ModelDependency> queryByModelDependency(ModelDependency modelDependency) throws IOException {
List<ModelDependency> modelDependencyList = this.modelDependencyDao.queryByModelDependency(modelDependency); List<ModelDependency> 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; return modelDependencyList;
} }


@@ -130,7 +115,6 @@ public class ModelDependencyServiceImpl implements ModelDependencyService {
if (modelDependencyList!=null&&modelDependencyList.size()>=0){ if (modelDependencyList!=null&&modelDependencyList.size()>=0){
for (ModelDependency modelDependency:modelDependencyList){ for (ModelDependency modelDependency:modelDependencyList){
ModelDependcyTreeVo modelDependencyTreeVoIn = ModelDependencyConvertToTree(modelDependency); ModelDependcyTreeVo modelDependencyTreeVoIn = ModelDependencyConvertToTree(modelDependency);
modelDependencyTreeVoIn.setCurrentModelName((String) parent.get("model_name"));
processParentModel(modelDependencyTreeVoIn); processParentModel(modelDependencyTreeVoIn);
ps.add(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(); String version = modelDependcyTreeVo.getVersion();
Integer modelId = modelDependcyTreeVo.getCurrentModelId(); Integer modelId = modelDependcyTreeVo.getCurrentModelId();
List<ModelDependcyTreeVo> cs = new ArrayList<ModelDependcyTreeVo>(); List<ModelDependcyTreeVo> cs = new ArrayList<ModelDependcyTreeVo>();
@@ -159,7 +143,7 @@ public class ModelDependencyServiceImpl implements ModelDependencyService {
modelDependcyTreeVo.setChildrenModels(cs); modelDependcyTreeVo.setChildrenModels(cs);
} }


private ModelDependcyTreeVo ModelDependencyConvertToTree(ModelDependency modelDependency){
private ModelDependcyTreeVo ModelDependencyConvertToTree(ModelDependency modelDependency) throws IOException {
ModelDependcyTreeVo modelDependcyTreeVo = new ModelDependcyTreeVo(); ModelDependcyTreeVo modelDependcyTreeVo = new ModelDependcyTreeVo();
modelDependcyTreeVo.setCurrentModelId(modelDependency.getCurrentModelId()); modelDependcyTreeVo.setCurrentModelId(modelDependency.getCurrentModelId());
modelDependcyTreeVo.setExpInsId(modelDependency.getExpInsId()); modelDependcyTreeVo.setExpInsId(modelDependency.getExpInsId());
@@ -172,12 +156,33 @@ public class ModelDependencyServiceImpl implements ModelDependencyService {
modelDependcyTreeVo.setTestDataset(JacksonUtil.parseJSONStr2MapList(modelDependency.getTestDataset())); modelDependcyTreeVo.setTestDataset(JacksonUtil.parseJSONStr2MapList(modelDependency.getTestDataset()));
modelDependcyTreeVo.setProjectDependency(JacksonUtil.parseJSONStr2Map(modelDependency.getProjectDependency())); modelDependcyTreeVo.setProjectDependency(JacksonUtil.parseJSONStr2Map(modelDependency.getProjectDependency()));
modelDependcyTreeVo.setParentModelsMap(JacksonUtil.parseJSONStr2MapList(modelDependency.getParentModels())); 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; return modelDependcyTreeVo;
} }




+ 2
- 3
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/ModelDependcyTreeVo.java View File

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


import com.fasterxml.jackson.databind.PropertyNamingStrategy; import com.fasterxml.jackson.databind.PropertyNamingStrategy;
import com.fasterxml.jackson.databind.annotation.JsonNaming; import com.fasterxml.jackson.databind.annotation.JsonNaming;
import com.ruoyi.platform.domain.Models;
import lombok.Data; import lombok.Data;


import java.util.List; import java.util.List;
@@ -66,8 +67,6 @@ public class ModelDependcyTreeVo {
*/ */
private List<ModelDependcyTreeVo> childrenModels; private List<ModelDependcyTreeVo> childrenModels;


private String currentModelName;

private Long workflowId; private Long workflowId;
private int availableRange;
private ModelVersionDependcyVo modelVersionDependcyVo;
} }

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

@@ -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;

}

Loading…
Cancel
Save