diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/scheduling/ExperimentInstanceStatusTask.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/scheduling/ExperimentInstanceStatusTask.java index 51feb5b4..32b2fedf 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/scheduling/ExperimentInstanceStatusTask.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/scheduling/ExperimentInstanceStatusTask.java @@ -34,6 +34,7 @@ public class ExperimentInstanceStatusTask { // 首先查到所有非终止态的实验实例 List experimentInsList = experimentInsService.queryByExperimentIsNotTerminated(); // 去argo查询状态 + List updateList = new ArrayList<>(); if (experimentInsList != null && experimentInsList.size() > 0) { for (ExperimentIns experimentIns : experimentInsList) { //当原本状态为null或非终止态时才调用argo接口 @@ -48,6 +49,10 @@ public class ExperimentInstanceStatusTask { synchronized (experimentIds) { experimentIds.add(experimentIns.getExperimentId()); } + updateList.add(experimentIns); + } + if (updateList.size() > 0) { + experimentInsDao.insertOrUpdateBatch(updateList); } } } diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/ExperimentInsService.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/ExperimentInsService.java index 3953a01e..98ee1b6d 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/ExperimentInsService.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/ExperimentInsService.java @@ -108,4 +108,6 @@ public interface ExperimentInsService { List queryByExperimentIsNotTerminated(); Map countByStatus(); + + void updateExperimentStatus(Integer experimentId); } 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 635b10bd..1319f0a9 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 @@ -240,9 +240,13 @@ public class ExperimentInsServiceImpl implements ExperimentInsService { return "实验实例正在运行,不可删除"; } experimentIns.setState(0); - updateExperimentStatus(experimentIns.getExperimentId()); - return this.experimentInsDao.update(experimentIns) > 0 ? "删除成功" : "删除失败"; - + int update = this.experimentInsDao.update(experimentIns); + if (update > 0) { + updateExperimentStatus(experimentIns.getExperimentId()); + return "删除成功"; + } else { + return "删除失败"; + } } @Override @@ -422,6 +426,8 @@ public class ExperimentInsServiceImpl implements ExperimentInsService { //删除数据集模型导出版本 deleteExportVersion(experimentIns); + //修改实验状态 + updateExperimentStatus(experimentIns.getExperimentId()); return true; } else { @@ -667,7 +673,7 @@ public class ExperimentInsServiceImpl implements ExperimentInsService { return flag; } - void updateExperimentStatus(Integer experimentId) { + public void updateExperimentStatus(Integer experimentId) { List insList = getByExperimentId(experimentId); List statusList = new ArrayList<>(); // 更新实验状态列表 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 6ddf7386..9ac0e089 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 @@ -311,6 +311,7 @@ public class ExperimentServiceImpl implements ExperimentService { } List updatedExperimentInsList = experimentInsService.getByExperimentId(id); experiment.setExperimentInsList(updatedExperimentInsList); + experimentInsService.updateExperimentStatus(id); return experiment; }