From e930135349b7b8e5bcfb3b0bc383440231cbddde Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=A5=BF=E5=A4=A7=E9=94=90?= <1070211640@qq.com> Date: Mon, 1 Apr 2024 15:46:17 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9E=E4=BD=93=E7=B1=BB=E5=8A=A0=E4=B8=8A?= =?UTF-8?q?=E4=B8=AD=E6=96=87=E6=B3=A8=E9=87=8A=EF=BC=8C=E8=A7=A3=E5=86=B3?= =?UTF-8?q?=E5=AE=9E=E9=AA=8C=E5=AE=9E=E4=BE=8B=E5=85=A8=E5=B1=80=E5=8F=82?= =?UTF-8?q?=E6=95=B0=E6=97=A0=E6=B3=95=E8=BF=94=E5=9B=9E=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/dataset/DatasetController.java | 4 +- .../com/ruoyi/platform/domain/AssetIcon.java | 45 +++++------ .../com/ruoyi/platform/domain/Component.java | 40 +++++----- .../com/ruoyi/platform/domain/Dataset.java | 31 ++++---- .../ruoyi/platform/domain/DatasetVersion.java | 70 ++++++----------- .../com/ruoyi/platform/domain/Experiment.java | 49 ++++++------ .../ruoyi/platform/domain/ExperimentIns.java | 78 +++++++------------ .../platform/mapper/ExperimentInsDao.java | 2 + .../impl/ExperimentInsServiceImpl.java | 8 +- .../service/impl/ExperimentServiceImpl.java | 10 ++- .../ExperimentInsDaoMapper.xml | 9 ++- 11 files changed, 152 insertions(+), 194 deletions(-) diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/dataset/DatasetController.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/dataset/DatasetController.java index 1d8d695b..aec6bde1 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/dataset/DatasetController.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/dataset/DatasetController.java @@ -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)); } diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/AssetIcon.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/AssetIcon.java index 42838f81..5cad60c3 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/AssetIcon.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/AssetIcon.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; @@ -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; diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/Component.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/Component.java index b627bfb8..2e1d5de2 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/Component.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/Component.java @@ -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() { diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/Dataset.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/Dataset.java index 3d0761fc..f55cab11 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/Dataset.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/Dataset.java @@ -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; diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/DatasetVersion.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/DatasetVersion.java index 9d987013..37b79eb4 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/DatasetVersion.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/DatasetVersion.java @@ -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; } diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/Experiment.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/Experiment.java index cb0bb320..831302b7 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/Experiment.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/Experiment.java @@ -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 experimentInsList; + + @ApiModelProperty(value = "对应的流水线名称") private String workflowName; public String getName() { return name; diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/ExperimentIns.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/ExperimentIns.java index edb678e7..9fce8bbe 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/ExperimentIns.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/ExperimentIns.java @@ -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() { } diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/mapper/ExperimentInsDao.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/mapper/ExperimentInsDao.java index 48951900..a24475a7 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/mapper/ExperimentInsDao.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/mapper/ExperimentInsDao.java @@ -90,5 +90,7 @@ public interface ExperimentInsDao { List getByExperimentId(Integer experimentId); List queryByExperiment(@Param("experimentIns") ExperimentIns experimentIns); + + List queryByExperimentId(Integer id); } diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ExperimentInsServiceImpl.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ExperimentInsServiceImpl.java index 8633f47a..218f8b7c 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ExperimentInsServiceImpl.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ExperimentInsServiceImpl.java @@ -95,7 +95,7 @@ public class ExperimentInsServiceImpl implements ExperimentInsService { //搞个标记,当状态改变才去改表 boolean flag = false; List result = new ArrayList(); - 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 statusList = new ArrayList(); // 更新实验状态列表 @@ -231,9 +229,7 @@ public class ExperimentInsServiceImpl implements ExperimentInsService { @Override public List queryByExperimentId(Integer id) { - ExperimentIns experimentIns = new ExperimentIns(); - experimentIns.setExperimentId(id); - return experimentInsDao.queryByExperiment(experimentIns); + return experimentInsDao.queryByExperimentId(id); } @Override diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ExperimentServiceImpl.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ExperimentServiceImpl.java index d94dba8f..2d4de9e0 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ExperimentServiceImpl.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ExperimentServiceImpl.java @@ -226,9 +226,10 @@ public class ExperimentServiceImpl implements ExperimentService { // 组装运行接口json Map runReqMap = new HashMap<>(); runReqMap.put("data", converMap.get("data")); + //这里全局参数是一个json数组,需要转换成一个list List> 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().put("name", "experiment-"+experiment.getId())); Map output = (Map) 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 = experimentInsService.queryByExperimentId(id); - + List updatedExperimentInsList = experimentInsService.getByExperimentId(id); - experiment.setExperimentInsList(experimentIns); + experiment.setExperimentInsList(updatedExperimentInsList); return experiment; } diff --git a/ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/ExperimentInsDaoMapper.xml b/ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/ExperimentInsDaoMapper.xml index 1f6aa194..1fc195d3 100644 --- a/ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/ExperimentInsDaoMapper.xml +++ b/ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/ExperimentInsDaoMapper.xml @@ -11,6 +11,7 @@ + @@ -31,7 +32,7 @@ + + 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)