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"); + } } }