From eb66da6f2ddc14a460394365e8640282949aecff Mon Sep 17 00:00:00 2001 From: kylin L <452061493@qq.com> Date: Tue, 7 Jan 2025 16:43:28 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9B=A0=E5=AF=B9=E6=B5=81=E7=A8=8B=E5=9B=BE?= =?UTF-8?q?=E5=A4=9A=E4=B8=AA=E7=BB=93=E6=9D=9F=E8=8A=82=E7=82=B9=E7=9A=84?= =?UTF-8?q?=E6=83=85=E5=86=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/SceneRoleServiceImpl.java | 38 ++++++++++--------- 1 file changed, 21 insertions(+), 17 deletions(-) diff --git a/lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/service/impl/SceneRoleServiceImpl.java b/lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/service/impl/SceneRoleServiceImpl.java index 7e86eaa3..fab848a5 100644 --- a/lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/service/impl/SceneRoleServiceImpl.java +++ b/lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/service/impl/SceneRoleServiceImpl.java @@ -90,13 +90,13 @@ public class SceneRoleServiceImpl implements ISceneRoleService { JSONArray nodeArray = JSONArray.parseArray(edgeObj.get("nodes").toString()); // 循环节点信息取出开始与结束的id String startId = ""; - String endId = ""; +// String endId = ""; for (int j = 0; j < nodeArray.size(); j++) { JSONObject node = nodeArray.getJSONObject(j); if ("snaker:start".equals(node.get("type"))) { startId = node.get("id").toString(); - } else if ("snaker:end".equals(node.get("type"))) { - endId = node.get("id").toString(); +// } else if ("snaker:end".equals(node.get("type"))) { +// endId = node.get("id").toString(); } } @@ -116,8 +116,8 @@ public class SceneRoleServiceImpl implements ISceneRoleService { // 处理nodeId, 并更改开始与结束 if (startId.equals(node.getString("id"))) { tmp.put("nodeId", "1"); - } else if (endId.equals(node.getString("id"))) { - tmp.put("nodeId", "-1"); +// } else if (endId.equals(node.getString("id"))) { +// tmp.put("nodeId", "-1"); } else if ("snaker:end".equals(node.getString("type"))) { tmp.put("nodeId", "-1"); } else { @@ -176,7 +176,8 @@ public class SceneRoleServiceImpl implements ISceneRoleService { // 单独处理下 指向 -1 的最后一个节点 String qId = "-1"; - String sId = "-1"; +// String sId = "-1"; + List sIds = new ArrayList<>(); // 为多个结束节点整的 for (Map m : paramsList) { if ("-1".equals(m.get("nodeId"))) { qId = m.get("questionId").toString(); // 07 @@ -184,22 +185,25 @@ public class SceneRoleServiceImpl implements ISceneRoleService { JSONObject edge = edgeArray.getJSONObject(j); if (edge.get("targetNodeId").equals(qId)) { // 找到指向结束节点的节点 - sId = edge.getString("sourceNodeId"); +// sId = edge.getString("sourceNodeId"); + sIds.add(edge.getString("sourceNodeId")); } } } } // 根据 获得的sId修改节点只接修改指向 - for (Map m : paramsList) { - if (sId.equals(m.get("questionId").toString())) { - Set tp = new HashSet(); - tp.add(qId); - m.put("outs", tp); - } - // 将结束节点node改为 google 减少小程序端代码的修改 - if ("-1".equals(m.get("nodeId"))) { - m.put("nodeId", m.get("questionId")); - m.put("questionId", "google"); + for (String sId : sIds){ + for (Map m : paramsList) { + if (sId.equals(m.get("questionId").toString())) { + Set tp = new HashSet(); + tp.add(qId); + m.put("outs", tp); + } + // 将结束节点node改为 google 减少小程序端代码的修改 + if ("-1".equals(m.get("nodeId"))) { + m.put("nodeId", m.get("questionId")); + m.put("questionId", "google"); + } } }