|
|
|
@ -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<String> sIds = new ArrayList<>(); // 为多个结束节点整的
|
|
|
|
for (Map<String, Object> 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<String, Object> 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<String, Object> 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"); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|