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 a92188f4..222e8fa5 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 @@ -33,6 +33,8 @@ public class Experiment implements Serializable { */ @ApiModelProperty(name = "global_param") private String globalParam; + + private String statusList; /** * 简介 */ @@ -100,7 +102,13 @@ public class Experiment implements Serializable { this.globalParam = globalParam; } + public String getStatusList() { + return statusList; + } + public void setStatusList(String statusList) { + this.statusList = statusList; + } public String getCreateBy() { return createBy; 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 3aeb7e40..600b4353 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 @@ -1,6 +1,7 @@ package com.ruoyi.platform.service.impl; import com.ruoyi.common.security.utils.SecurityUtils; +import com.ruoyi.platform.domain.Experiment; import com.ruoyi.platform.domain.ExperimentIns; import com.ruoyi.platform.mapper.ExperimentDao; import com.ruoyi.platform.mapper.ExperimentInsDao; @@ -80,13 +81,17 @@ public class ExperimentInsServiceImpl implements ExperimentInsService { @Override public List getByExperimentId(Integer experimentId) throws IOException { List experimentInsList = experimentInsDao.getByExperimentId(experimentId); - + //搞个标记,当状态改变才去改表 + boolean flag = false; List result = new ArrayList(); if (experimentInsList!=null&&experimentInsList.size()>0) { for (ExperimentIns experimentIns : experimentInsList) { //当原本状态为null或非终止态时才调用argo接口 if (experimentIns != null && (StringUtils.isEmpty(experimentIns.getStatus())) || !isTerminatedState(experimentIns)) { experimentIns = this.queryStatusFromArgo(experimentIns); + if (!flag){ + flag = true; + } //只有当新状态是终止态时才更新数据库 if (isTerminatedState(experimentIns)) { //同时更新各个节点 @@ -97,6 +102,17 @@ public class ExperimentInsServiceImpl implements ExperimentInsService { } } + if (flag) { + List statusList = new ArrayList(); + // 更新实验状态列表 + for (int i=0;i + @@ -18,7 +19,7 @@ @@ -26,7 +27,7 @@ select - id,name, workflow_id, global_param, description, create_by, create_time, update_by, update_time, state + id,name, workflow_id, global_param, status_list, description, create_by, create_time, update_by, update_time, state from experiment state = 1 @@ -79,6 +83,9 @@ and global_param = #{experiment.globalParam} + + status_list = #{experiment.statusList}, + and description = #{experiment.description} @@ -117,6 +124,9 @@ and global_param = #{experiment.globalParam} + + status_list = #{experiment.statusList}, + and description = #{experiment.description} @@ -137,24 +147,24 @@ - insert into experiment(name,workflow_id, global_param, description, create_by, create_time, update_by, update_time, state) - values (#{name},#{workflowId}, #{globalParam}, #{description}, #{createBy}, #{createTime}, #{updateBy}, #{updateTime}, #{state}) + insert into experiment(name,workflow_id, global_param, status_list, description, create_by, create_time, update_by, update_time, state) + values (#{name},#{workflowId}, #{globalParam},#{statusList}, #{description}, #{createBy}, #{createTime}, #{updateBy}, #{updateTime}, #{state}) - insert into experiment(name,workflow_id, global_param, description, create_by, create_time, update_by, update_time, state) + insert into experiment(name,workflow_id, global_param, status_list, description, create_by, create_time, update_by, update_time, state) values - (#{entity.name},#{entity.workflowId}, #{entity.globalParam}, #{entity.description}, #{entity.createBy}, #{entity.createTime}, + (#{entity.name},#{entity.workflowId}, #{entity.globalParam},#{entity.statusList}, #{entity.description}, #{entity.createBy}, #{entity.createTime}, #{entity.updateBy}, #{entity.updateTime}, #{entity.state}) - insert into experiment(name,workflow_id, global_param, description, create_by, create_time, update_by, update_time, state) + insert into experiment(name,workflow_id, global_param, status_list, description, create_by, create_time, update_by, update_time, state) values - (#{entity.name},#{entity.workflowId}, #{entity.globalParam}, #{entity.description}, #{entity.createBy}, #{entity.createTime}, + (#{entity.name},#{entity.workflowId}, #{entity.globalParam}, #{entity.statusList}, #{entity.description}, #{entity.createBy}, #{entity.createTime}, #{entity.updateBy}, #{entity.updateTime}, #{entity.state}) on duplicate key update @@ -182,6 +192,9 @@ global_param = #{globalParam}, + + status_list = #{statusList}, + description = #{description},