From d55800f6cb0ea41f4bdc4d883713f0f213c0692e Mon Sep 17 00:00:00 2001 From: fanshuai <1141904845@qq.com> Date: Fri, 27 Sep 2024 14:46:32 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=B8=BAgeneral-data-process?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/ExperimentInsServiceImpl.java | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) 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 e9457bcb..07dbadee 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 @@ -372,6 +372,25 @@ public class ExperimentInsServiceImpl implements ExperimentInsService { if (errCode != null && errCode == 0) { //更新experimentIns,确保状态更新被保存到数据库 ExperimentIns ins = queryStatusFromArgo(experimentIns); + String nodesStatus = ins.getNodesStatus(); + Map nodeMap = JsonUtils.jsonToMap(nodesStatus); + + // 遍历 map + for (Map.Entry entry : nodeMap.entrySet()) { + // 获取每个 Map 中的值并强制转换为 Map + Map innerMap = (Map) entry.getValue(); + + // 检查 phase 的值 + if (innerMap.containsKey("phase")) { + String phaseValue = (String) innerMap.get("phase"); + + // 如果值不等于 Succeeded,则赋值为 Failed + if (!"Succeeded".equals(phaseValue)) { + innerMap.put("phase", "Failed"); + } + } + } + ins.setNodesStatus(JsonUtils.mapToJson(nodeMap)); ins.setStatus("Terminated"); ins.setFinishTime(new Date()); this.experimentInsDao.update(ins);