Browse Source

实体类加上中文注释,解决实验实例全局参数无法返回问题

pull/9/head
西大锐 2 years ago
parent
commit
e930135349
11 changed files with 152 additions and 194 deletions
  1. +2
    -2
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/dataset/DatasetController.java
  2. +20
    -25
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/AssetIcon.java
  3. +20
    -20
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/Component.java
  4. +18
    -13
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/Dataset.java
  5. +25
    -45
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/DatasetVersion.java
  6. +23
    -26
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/Experiment.java
  7. +26
    -52
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/ExperimentIns.java
  8. +2
    -0
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/mapper/ExperimentInsDao.java
  9. +2
    -6
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ExperimentInsServiceImpl.java
  10. +6
    -4
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ExperimentServiceImpl.java
  11. +8
    -1
      ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/ExperimentInsDaoMapper.xml

+ 2
- 2
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/dataset/DatasetController.java View File

@@ -91,7 +91,7 @@ public class DatasetController {
* @return 单条数据
*/
@GetMapping("{id}")
@ApiOperation("根据id查询数据集")
@ApiOperation("根据数据集id查询数据集")
public AjaxResult queryById(@PathVariable("id") Integer id) {
return AjaxResult.success(this.datasetService.queryById(id));
}
@@ -148,7 +148,7 @@ public class DatasetController {
* @return 删除是否成功
*/
@DeleteMapping({"{id}"})
@ApiOperation("删除数据集")
@ApiOperation("根据id删除数据集")
public AjaxResult deleteById(@PathVariable("id") Integer id) {
return AjaxResult.success(this.datasetService.removeById(id));
}


+ 20
- 25
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/AssetIcon.java View File

@@ -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;
@@ -18,40 +19,34 @@ public class AssetIcon implements Serializable {
/**
* 主键
*/
private Integer id;
/**
* 资产图标名称
*/
@ApiModelProperty(value = "资产ID")
private Integer id;
@ApiModelProperty(value = "资产图标名称")
private String name;
/**
* 分类id
*/

@ApiModelProperty(value = "分类ID")
private Integer categoryId;
/**
* 路径
*/

@ApiModelProperty(value = "路径")
private String path;
/**
* 描述
*/

@ApiModelProperty(value = "描述")
private String description;
/**
* 创建者
*/

@ApiModelProperty(value = "创建者")
private String createBy;

@ApiModelProperty(value = "创建时间")
private Date createTime;
/**
* 更新者
*/

@ApiModelProperty(value = "更新者")
private String updateBy;
/**
* 更新时间
*/

@ApiModelProperty(value = "更新时间")
private Date updateTime;
/**
* 0失效,1生效
*/

@ApiModelProperty(value = "状态,0失效,1生效")
private Integer state;




+ 20
- 20
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/Component.java View File

@@ -20,108 +20,108 @@ public class Component implements Serializable {
/**
* 主键
*/
@ApiModelProperty(name = "id")
@ApiModelProperty(name = "id", value = "主键")
private Integer id;
/**
* 类别ID,数据字典配置
*/
@ApiModelProperty(name = "category_id")
@ApiModelProperty(name = "category_id" ,value = "类别id")
private Integer categoryId;
/**
* 组件name
*/
@ApiModelProperty(name = "category_name")
@ApiModelProperty(name = "category_name", value = "组件名称")
private String componentName;
/**
* 组件面板名
*/
@ApiModelProperty(name = "component_label")
@ApiModelProperty(name = "component_label" , value = "组件面板名" )
private String componentLabel;
/**
* 镜像
*/
@JsonProperty("image")
@ApiModelProperty(name = "image")
@ApiModelProperty(name = "image" ,value = "镜像")
private String images;
/**
* 工作目录
*/
@ApiModelProperty(name = "working_directory")
@ApiModelProperty(name = "working_directory" , value = "工作目录")
private String workingDirectory;
/**
* 启动命令
*/
@ApiModelProperty(name = "command")
@ApiModelProperty(name = "command" , value = "启动命令")
private String command;
/**
* 环境变量
*/
@JsonProperty("env_variables")
@ApiModelProperty(name = "env_variables")
@ApiModelProperty(name = "env_variables", value = "环境变量")
private String envVirables;
/**
* 资源规格
*/
@ApiModelProperty(name = "resources_standard")
@ApiModelProperty(name = "resources_standard" , value = "资源规格")
private String resourcesStandard;
/**
* 控制策略
*/
@ApiModelProperty(name = "control_strategy")
@ApiModelProperty(name = "control_strategy" ,value = "控制策略")
private String controlStrategy;
/**
* 挂载路径
*/
@ApiModelProperty(name = "mount_path")
@ApiModelProperty(name = "mount_path" , value = "挂载路径")
private String mountPath;
/**
* 输入参数
*/
@ApiModelProperty(name = "in_parameters")
@ApiModelProperty(name = "in_parameters" ,value = "输入参数")
private String inParameters;
/**
* 输出参数
*/
@ApiModelProperty(name = "out_parameters")
@ApiModelProperty(name = "out_parameters" ,value = "输出参数")
private String outParameters;
/**
* 描述
*/
@ApiModelProperty(name = "description")
@ApiModelProperty(name = "description" , value = "描述")
private String description;

/**
* 图标路径
*/
@ApiModelProperty(name = "icon_path")
@ApiModelProperty(name = "icon_path" ,value = "图标路径")
private String iconPath;
/**
* 创建者
*/

//@JsonProperty("creater")
@ApiModelProperty(name = "create_by")
@ApiModelProperty(name = "create_by" ,value = "创建者")
private String createBy;
/**
* 创建时间
*/
@ApiModelProperty(name = "create_time")
@ApiModelProperty(name = "create_time" , value = "创建时间")
private Date createTime;
/**
* 更新者
*/
//@JsonProperty("modify_by")
@ApiModelProperty(name = "update_by")
@ApiModelProperty(name = "update_by" , value = "更新者")
private String updateBy;
/**
* 更新时间
*/
@ApiModelProperty(name = "update_time")
@ApiModelProperty(name = "update_time" , value = "更新时间")
private Date updateTime;
/**
* 0,失效 1生效
*/
@ApiModelProperty(name = "state")
@ApiModelProperty(name = "state" , value = "状态")
private Integer state;

public Integer getId() {


+ 18
- 13
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/Dataset.java View File

@@ -22,53 +22,58 @@ public class Dataset implements Serializable {
private Integer id;

@CheckDuplicate
@ApiModelProperty(name = "name")
@ApiModelProperty(value = "名称")
private String name;

@ApiModelProperty(name = "description")
@ApiModelProperty(value = "描述")
private String description;

/**
* 是否公开: 1公开,0私有
*/
@ApiModelProperty(name = "available_range")
@ApiModelProperty(value = "是否公开:1公开,0私有")
private int availableRange;

/**
* 数据集类型
*/
@ApiModelProperty(name = "data_type")
@ApiModelProperty(value = "数据集类型")
private String dataType;

/**
* 数据集tag
* 数据集标签
*/
@ApiModelProperty(name = "data_tag")
@ApiModelProperty(value = "数据集标签")
private String dataTag;

/**
* 创建者
*/
@ApiModelProperty(name = "create_by")
@ApiModelProperty(value = "创建者")
private String createBy;

/**
* 创建时间
*/
@ApiModelProperty(name = "create_time")
@ApiModelProperty(value = "创建时间")
private Date createTime;

/**
* 更新者
*/
@ApiModelProperty(name = "update_by")
@ApiModelProperty(value = "更新者")
private String updateBy;

/**
* 更新时间
*/
@ApiModelProperty(name = "update_time")
@ApiModelProperty(value = "更新时间")
private Date updateTime;
/**
* 0,失效 1生效

/**
* 状态,0失效,1生效
*/
@ApiModelProperty(name = "state")
@ApiModelProperty(value = "状态:0失效,1生效")
private Integer state;




+ 25
- 45
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/DatasetVersion.java View File

@@ -22,66 +22,46 @@ public class DatasetVersion implements Serializable {
*/
@ApiModelProperty(name = "id")
private Integer id;
@ApiModelProperty(name = "dataset_id")

@ApiModelProperty(value = "数据集ID")
private Integer datasetId;
/**
* 版本
*/
@ApiModelProperty(name = "version")

@ApiModelProperty(value = "版本")
private String version;
/**
* 数据集存储地址
*/
@ApiModelProperty(name = "url")

@ApiModelProperty(value = "数据集存储地址")
@CheckDuplicate
private String url;
/**
* 文件名
*/
@ApiModelProperty(name = "file_name")

@ApiModelProperty(value = "文件名")
private String fileName;
/**
* 文件大小
*/
@ApiModelProperty(name = "file_size")

@ApiModelProperty(value = "文件大小")
private String fileSize;
/**
* 可用集群
*/
@ApiModelProperty(name = "available_cluster")

@ApiModelProperty(value = "可用集群")
private String availableCluster;
/**
* 状态
*/
@ApiModelProperty(name = "status")

@ApiModelProperty(value = "状态")
private Integer status;
/**
* 创建者
*/
@ApiModelProperty(name = "create_by")

@ApiModelProperty(value = "创建者")
private String createBy;
/**
* 创建时间
*/
@ApiModelProperty(name = "create_time")

@ApiModelProperty(value = "创建时间")
private Date createTime;
/**
* 更新者
*/
@ApiModelProperty(name = "update_by")

@ApiModelProperty(value = "更新者")
private String updateBy;
/**
* 更新时间
*/
@ApiModelProperty(name = "update_time")

@ApiModelProperty(value = "更新时间")
private Date updateTime;
/**
* 0失效,1生效
*/
@ApiModelProperty(name = "state")

@ApiModelProperty(value = "状态:0失效,1生效")
private Integer state;



public Integer getId() {
return id;
}


+ 23
- 26
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/Experiment.java View File

@@ -25,46 +25,43 @@ import java.util.List;
@ApiModel("实验对象")
public class Experiment implements Serializable {
private static final long serialVersionUID = 409135817108439880L;
// @ApiModelProperty(name = "id")
@ApiModelProperty(value = "主键")
private Integer id;
// @ApiModelProperty(name = "name")
@ApiModelProperty(value = "名称")
private String name;
// @ApiModelProperty(name = "workflow_id")

@ApiModelProperty(value = "工作流ID")
private Long workflowId;
/**
* 全局参数
*/
@ApiModelProperty(name = "global_param")

@ApiModelProperty(value = "全局参数,以JSON字符串格式存储")
@JsonRawValue
private String globalParam;

@ApiModelProperty(value = "状态列表")
private String statusList;
/**
* 简介
*/
@ApiModelProperty(name = "description")

@ApiModelProperty(value = "简介")
private String description;
/**
* 创建者
*/

@ApiModelProperty(value = "创建者")
private String createBy;
/**
* 创建时间
*/

@ApiModelProperty(value = "创建时间")
private Date createTime;
/**
* 更新者
*/

@ApiModelProperty(value = "更新者")
private String updateBy;
/**
* 更新时间
*/

@ApiModelProperty(value = "更新时间")
private Date updateTime;
/**
* 0,失效 1生效
*/

@ApiModelProperty(value = "状态:0失效,1生效")
private Integer state;

@ApiModelProperty(value = "对应的实例列表")
private List<ExperimentIns> experimentInsList;

@ApiModelProperty(value = "对应的流水线名称")
private String workflowName;
public String getName() {
return name;


+ 26
- 52
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/ExperimentIns.java View File

@@ -24,79 +24,53 @@ public class ExperimentIns implements Serializable {
/**
* 实验ID
*/
@ApiModelProperty(name = "experiment_id")
@ApiModelProperty(value = "实验ID")
private Integer experimentId;
/**
* argo返回name
*/
@ApiModelProperty(name = "argo_ins_name")

@ApiModelProperty(value = "Argo实例名称")
private String argoInsName;
/**
* argo返回命名空间
*/
@ApiModelProperty(name = "argo_ins_ns")

@ApiModelProperty(value = "Argo命名空间")
private String argoInsNs;
/**
* 实例运行状态
*/
@ApiModelProperty(name = "status")

@ApiModelProperty(value = "实例运行状态")
private String status;
@ApiModelProperty(name = "nodes_status")
private String nodesStatus;
@ApiModelProperty(name = "nodes_result")
private String nodesResult;
@ApiModelProperty(name = "nodes_logs")
private String nodesLogs;

@ApiModelProperty(value = "节点状态")
private String nodesStatus;

@ApiModelProperty(value = "节点结果")
private String nodesResult;

/**
* 实验实例全局参数
*/
// @ApiModelProperty(name = "global_param")
@ApiModelProperty(value = "节点日志")
private String nodesLogs;

@ApiModelProperty(value = "实验实例全局参数", notes = "以JSON字符串格式存储")
@JsonRawValue
private String globalParam;

/**
* 开始时间
*/
@ApiModelProperty(name = "start_time")
@ApiModelProperty(value = "开始时间")
private Date startTime;

/**
* 结束时间
*/
@ApiModelProperty(name = "finish_time")
@ApiModelProperty(value = "结束时间")
private Date finishTime;


/**
* 创建者
*/
@ApiModelProperty(name = "create_by")
@ApiModelProperty(value = "创建者")
private String createBy;
/**
* 创建时间
*/
@ApiModelProperty(name = "create_time")

@ApiModelProperty(value = "创建时间")
private Date createTime;
/**
* 更新者
*/
@ApiModelProperty(name = "update_by")

@ApiModelProperty(value = "更新者")
private String updateBy;
/**
* 更新时间
*/
@ApiModelProperty(name = "update_time")

@ApiModelProperty(value = "更新时间")
private Date updateTime;
/**
* 0,失效 1生效
*/
@ApiModelProperty(name = "state")

@ApiModelProperty(value = "状态:0失效,1生效")
private Integer state;


public ExperimentIns() {
}



+ 2
- 0
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/mapper/ExperimentInsDao.java View File

@@ -90,5 +90,7 @@ public interface ExperimentInsDao {
List<ExperimentIns> getByExperimentId(Integer experimentId);

List<ExperimentIns> queryByExperiment(@Param("experimentIns") ExperimentIns experimentIns);

List<ExperimentIns> queryByExperimentId(Integer id);
}


+ 2
- 6
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ExperimentInsServiceImpl.java View File

@@ -95,7 +95,7 @@ public class ExperimentInsServiceImpl implements ExperimentInsService {
//搞个标记,当状态改变才去改表
boolean flag = false;
List<ExperimentIns> result = new ArrayList<ExperimentIns>();
if (experimentInsList!=null&& experimentInsList.size()>0) {
if (experimentInsList!=null && experimentInsList.size()>0) {
for (ExperimentIns experimentIns : experimentInsList) {
//当原本状态为null或非终止态时才调用argo接口
if (experimentIns != null && (StringUtils.isEmpty(experimentIns.getStatus())) || !isTerminatedState(experimentIns)) {
@@ -111,11 +111,9 @@ public class ExperimentInsServiceImpl implements ExperimentInsService {
}

//新增查询tensorBoard容器状态

result.add(experimentIns);
}
}

if (flag) {
List<String> statusList = new ArrayList<String>();
// 更新实验状态列表
@@ -231,9 +229,7 @@ public class ExperimentInsServiceImpl implements ExperimentInsService {

@Override
public List<ExperimentIns> queryByExperimentId(Integer id) {
ExperimentIns experimentIns = new ExperimentIns();
experimentIns.setExperimentId(id);
return experimentInsDao.queryByExperiment(experimentIns);
return experimentInsDao.queryByExperimentId(id);
}

@Override


+ 6
- 4
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ExperimentServiceImpl.java View File

@@ -226,9 +226,10 @@ public class ExperimentServiceImpl implements ExperimentService {
// 组装运行接口json
Map<String, Object> runReqMap = new HashMap<>();
runReqMap.put("data", converMap.get("data"));
//这里全局参数是一个json数组,需要转换成一个list<Map>
List<Map<String, Object>> params = JacksonUtil.parseJSONStr2MapList(StringUtils.isEmpty(experiment.getGlobalParam()) ? "[]" : experiment.getGlobalParam());
runReqMap.put("params", params);
//runReqMap.put("params", JsonUtils.jsonToMap(StringUtils.isEmpty(experiment.getGlobalParam())?"{}":experiment.getGlobalParam()));
runReqMap.put("experiment", new HashMap<String, Object>().put("name", "experiment-"+experiment.getId()));

Map<String ,Object> output = (Map<String, Object>) converMap.get("output");
@@ -254,6 +255,8 @@ public class ExperimentServiceImpl implements ExperimentService {
experimentIns.setArgoInsNs((String) metadata.get("namespace"));
experimentIns.setArgoInsName((String) metadata.get("name"));
//传入实验全局参数


experimentIns.setGlobalParam(experiment.getGlobalParam());

//替换argoInsName
@@ -265,10 +268,9 @@ public class ExperimentServiceImpl implements ExperimentService {
}catch (Exception e){
throw new RuntimeException(e);
}
List<ExperimentIns> experimentIns = experimentInsService.queryByExperimentId(id);

List<ExperimentIns> updatedExperimentInsList = experimentInsService.getByExperimentId(id);

experiment.setExperimentInsList(experimentIns);
experiment.setExperimentInsList(updatedExperimentInsList);

return experiment;
}


+ 8
- 1
ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/ExperimentInsDaoMapper.xml View File

@@ -11,6 +11,7 @@
<result property="nodesStatus" column="nodes_status" jdbcType="VARCHAR"/>
<result property="nodesResult" column="nodes_result" jdbcType="VARCHAR"/>
<result property="nodesLogs" column="nodes_logs" jdbcType="VARCHAR"/>
<result property="globalParam" column="global_param" jdbcType="VARCHAR"/>
<result property="startTime" column="start_time" jdbcType="TIMESTAMP"/>
<result property="finishTime" column="finish_time" jdbcType="TIMESTAMP"/>
<result property="createBy" column="create_by" jdbcType="VARCHAR"/>
@@ -31,7 +32,7 @@

<!--查询列表-->
<select id="getByExperimentId" resultMap="ExperimentInsMap">
select id, experiment_id, argo_ins_name, argo_ins_ns, status, nodes_status,nodes_result, nodes_logs,global_param, start_time, finish_time, create_by, create_time, update_by, update_time, state
select id, experiment_id, argo_ins_name, argo_ins_ns, status, nodes_status,nodes_result, nodes_logs, global_param, start_time, finish_time, create_by, create_time, update_by, update_time, state
from experiment_ins
where experiment_id = #{experiment_id} and state = 1
order by create_time DESC
@@ -195,6 +196,12 @@
</where>
</select>

<select id="queryByExperimentId" resultMap="ExperimentInsMap">
select id, experiment_id, argo_ins_name, argo_ins_ns, status, nodes_status,nodes_result, nodes_logs, global_param, start_time, finish_time, create_by, create_time, update_by, update_time, state
from experiment_ins
where experiment_id = #{id} and state = 1
</select>

<!--新增所有列-->
<insert id="insert" keyProperty="id" useGeneratedKeys="true">
insert into experiment_ins(experiment_id,argo_ins_name,argo_ins_ns,status,nodes_status,nodes_result,nodes_logs,global_param,start_time,finish_time,create_by,create_time,update_by,update_time,state)


Loading…
Cancel
Save