|
@ -37,7 +37,7 @@ public class ProcessManager {
|
|
|
|
|
|
private ObjectMapper objectMapper = new ObjectMapper();
|
|
|
|
|
|
public Result getEndpoints(String endpointName) throws Exception {
|
|
|
public Result getAllEndpoints(String endpointName) throws Exception {
|
|
|
|
|
|
List<SystemServiceEndpoint> serviceEndpointList = appServiceDao.getListByName(endpointName);
|
|
|
List<String> appIdList = new ArrayList<>();
|
|
@ -46,7 +46,9 @@ public class ProcessManager {
|
|
|
ProcessResultModel resultModel = new ProcessResultModel();
|
|
|
resultModel.setName(endpoint.getName());
|
|
|
resultModel.setValue(endpoint.getEndpoint());
|
|
|
resultModel.setNodeType("service");
|
|
|
appIdList.add(endpoint.getAppId());
|
|
|
|
|
|
List<ProcessResultModel> endpointList;
|
|
|
if (appServiceMap.get(endpoint.getAppId()) != null) {
|
|
|
endpointList = appServiceMap.get(endpoint.getAppId());
|
|
@ -61,10 +63,21 @@ public class ProcessManager {
|
|
|
for (SystemApp app : appList) {
|
|
|
JSONObject jsonObject = new JSONObject();
|
|
|
jsonObject.put("title", app.getName());
|
|
|
jsonObject.put("list", appServiceMap.get(app.getId()));
|
|
|
jsonArray.add(jsonObject);
|
|
|
List<ProcessResultModel> resultModelList = appServiceMap.get(app.getId());
|
|
|
List<ProcessResultModel> resultModelListListTemp = new ArrayList<>();
|
|
|
if (app.getName().equals("常用端点")) {
|
|
|
for (ProcessResultModel resultModel : resultModelList) {
|
|
|
resultModel.setNodeType("default");
|
|
|
resultModelListListTemp.add(resultModel);
|
|
|
}
|
|
|
jsonObject.put("list", resultModelListListTemp);
|
|
|
jsonArray.add(0, jsonObject);
|
|
|
} else {
|
|
|
resultModelListListTemp = resultModelList;
|
|
|
jsonObject.put("list", resultModelListListTemp);
|
|
|
jsonArray.add(jsonObject);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
return Result.success(jsonArray.toString());
|
|
|
}
|
|
|
|
|
@ -82,56 +95,142 @@ public class ProcessManager {
|
|
|
ProcessResultModel resultModel = new ProcessResultModel();
|
|
|
resultModel.setName(processor.getName());
|
|
|
resultModel.setValue(processor.getPackageName() + "." + processor.getClassName());
|
|
|
resultModel.setNodeType("processor");
|
|
|
resultModelList.add(resultModel);
|
|
|
}
|
|
|
String result = objectMapper.writeValueAsString(resultModelList);
|
|
|
return Result.success(result);
|
|
|
}
|
|
|
|
|
|
public void saveProcess(String code, String name, String fileName, String positionJsonStr) throws Exception {
|
|
|
public void saveProcess(String code, String name, Integer flowId, String positionJsonStr) throws Exception {
|
|
|
SystemServiceFlowProcess process = new SystemServiceFlowProcess();
|
|
|
process.setCode(code);
|
|
|
process.setName(name);
|
|
|
process.setResult(positionJsonStr);
|
|
|
process.setFileName(fileName);
|
|
|
process.setFlowId(flowId);
|
|
|
processDao.saveEntity(process);
|
|
|
}
|
|
|
|
|
|
public static void main(String[] args) throws Exception {
|
|
|
String flowJsonStr = "{\n" +
|
|
|
" \"nodes\": {\n" +
|
|
|
" \"node_1\": {\n" +
|
|
|
" \"name\": \"Quartz\",\n" +
|
|
|
" \"value\": \"quartz://myGroup/myTimerName?cron=0/3 * * * * ?\",\n" +
|
|
|
" \"esb_node_0\": {\n" +
|
|
|
" \"name\": \"SDf\",\n" +
|
|
|
" \"value\": \"sd\",\n" +
|
|
|
" \"nodeType\": \"default\"\n" +
|
|
|
" },\n" +
|
|
|
" \"node_2\": {\n" +
|
|
|
" \"name\": \"常用HTTP转换器\",\n" +
|
|
|
" \"esb_node_1\": {\n" +
|
|
|
" \"name\": \"DefaultHttpProcessor\",\n" +
|
|
|
" \"value\": \"com.yihu.hos.broker.common.processor.DefaultHttpProcessor\",\n" +
|
|
|
"\t\t\t\"param\": \"{\\\"jobId\\\":\\\"5ad5c11655d443c30155d477a6b10000\\\"}\",\n" +
|
|
|
" \"param\": \"{\\\"jobId\\\":\\\"5ad5c11655d443c30155d477a6b10000\\\"}\",\n" +
|
|
|
" \"nodeType\": \"processor\"\n" +
|
|
|
" },\n" +
|
|
|
" \"node_3\": {\n" +
|
|
|
" \"name\": \"Crawler0\",\n" +
|
|
|
" \"value\": \"http4://localhost:8088/crawler/patientList?method=post\",\n" +
|
|
|
" \"esb_node_2\": {\n" +
|
|
|
" \"name\": \"判断\",\n" +
|
|
|
" \"value\": \"header(\\\"event\\\").isEqualTo(\\\"1\\\")\",\n" +
|
|
|
" \"nodeType\": \"judgement\"\n" +
|
|
|
" },\n" +
|
|
|
" \"esb_node_3\": {\n" +
|
|
|
" \"name\": \"循环\",\n" +
|
|
|
" \"value\": \"splitJsonArray\",\n" +
|
|
|
" \"nodeType\": \"circle\"\n" +
|
|
|
" },\n" +
|
|
|
" \"esb_node_4\": {\n" +
|
|
|
" \"name\": \"全流程-用户信息\",\n" +
|
|
|
" \"value\": \"全流程-用户信息\",\n" +
|
|
|
" \"nodeType\": \"service\"\n" +
|
|
|
" },\n" +
|
|
|
" \"esb_node_5\": {\n" +
|
|
|
" \"name\": \"全流程-就诊信息\",\n" +
|
|
|
" \"value\": \"jetty: http: //localhost: 8080/clinicInfo\",\n" +
|
|
|
" \"nodeType\": \"service\"\n" +
|
|
|
" },\n" +
|
|
|
" \"esb_node_6\": {\n" +
|
|
|
" \"name\": \"分流\",\n" +
|
|
|
" \"value\": \"key1\",\n" +
|
|
|
" \"nodeType\": \"multicast\"\n" +
|
|
|
" },\n" +
|
|
|
" \"esb_node_7\": {\n" +
|
|
|
" \"name\": \"DefaultHttpProcessor\",\n" +
|
|
|
" \"value\": \"com.yihu.hos.broker.common.processor.DefaultHttpProcessor\",\n" +
|
|
|
" \"param\": \"{ \\\"jobId\\\": \\\"5ad5c11655d443c30155d477a6b10000\\\"}\",\n" +
|
|
|
" \"nodeType\": \"processor\"\n" +
|
|
|
" },\n" +
|
|
|
" \"esb_node_8\": {\n" +
|
|
|
" \"name\": \"DefaultHttpProcessor\",\n" +
|
|
|
" \"value\": \"com.yihu.hos.broker.common.processor.DefaultHttpProcessor\",\n" +
|
|
|
" \"param\": \"{\\\"jobId\\\": \\\"5ad5c11655d443c30155d477a6b10000\\\"}\",\n" +
|
|
|
" \"nodeType\": \"processor\"\n" +
|
|
|
" },\n" +
|
|
|
" \"esb_node_9\": {\n" +
|
|
|
" \"name\": \"DefaultHttpProcessor\",\n" +
|
|
|
" \"value\": \"com.yihu.hos.broker.common.processor.DefaultHttpProcessor\",\n" +
|
|
|
" \"param\": \"{\\\"jobId\\\": \\\"5ad5c11655d443c30155d477a6b10000\\\"}\",\n" +
|
|
|
" \"nodeType\": \"processor\"\n" +
|
|
|
" },\n" +
|
|
|
" \"esb_node_10\": {\n" +
|
|
|
" \"name\": \"聚合\",\n" +
|
|
|
"\t\t\t\"value\": \"key1\",\n" +
|
|
|
" \"nodeType\": \"aggregate\"\n" +
|
|
|
" }\n" +
|
|
|
" },\n" +
|
|
|
" \"lines\": {\n" +
|
|
|
" \"line_1\": {\n" +
|
|
|
" \"from\": \"node_1\",\n" +
|
|
|
" \"to\": \"node_2\"\n" +
|
|
|
" \"esb_line_0\": {\n" +
|
|
|
" \"from\": \"esb_node_0\",\n" +
|
|
|
" \"to\": \"esb_node_1\",\n" +
|
|
|
" \"value\": \"\"\n" +
|
|
|
" },\n" +
|
|
|
" \"esb_line_1\": {\n" +
|
|
|
" \"from\": \"esb_node_1\",\n" +
|
|
|
" \"to\": \"esb_node_2\",\n" +
|
|
|
" \"value\": \"\"\n" +
|
|
|
" },\n" +
|
|
|
" \"esb_line_2\": {\n" +
|
|
|
" \"from\": \"esb_node_2\",\n" +
|
|
|
" \"to\": \"esb_node_3\",\n" +
|
|
|
" \"value\": \"correct\"\n" +
|
|
|
" },\n" +
|
|
|
" \"line_2\": {\n" +
|
|
|
" \"from\": \"node_2\",\n" +
|
|
|
" \"to\": \"node_3\"\n" +
|
|
|
" \"esb_line_3\": {\n" +
|
|
|
" \"from\": \"esb_node_3\",\n" +
|
|
|
" \"to\": \"esb_node_5\",\n" +
|
|
|
" \"value\": \"自定义内容\"\n" +
|
|
|
" },\n" +
|
|
|
" \"esb_line_4\": {\n" +
|
|
|
" \"from\": \"esb_node_3\",\n" +
|
|
|
" \"to\": \"esb_node_4\",\n" +
|
|
|
" \"value\": \"自定义内容\"\n" +
|
|
|
" },\n" +
|
|
|
" \"esb_line_5\": {\n" +
|
|
|
" \"from\": \"esb_node_2\",\n" +
|
|
|
" \"to\": \"esb_node_6\",\n" +
|
|
|
" \"value\": \"自定义内容\"\n" +
|
|
|
" },\n" +
|
|
|
" \"esb_line_6\": {\n" +
|
|
|
" \"from\": \"esb_node_6\",\n" +
|
|
|
" \"to\": \"esb_node_8\",\n" +
|
|
|
" \"value\": \"\"\n" +
|
|
|
" },\n" +
|
|
|
" \"esb_line_7\": {\n" +
|
|
|
" \"from\": \"esb_node_6\",\n" +
|
|
|
" \"to\": \"esb_node_7\",\n" +
|
|
|
" \"value\": \"\"\n" +
|
|
|
" },\n" +
|
|
|
" \"esb_line_8\": {\n" +
|
|
|
" \"from\": \"esb_node_6\",\n" +
|
|
|
" \"to\": \"esb_node_9\",\n" +
|
|
|
" \"value\": \"\"\n" +
|
|
|
" },\n" +
|
|
|
" \"esb_line_9\": {\n" +
|
|
|
" \"from\": \"esb_node_9\",\n" +
|
|
|
" \"to\": \"esb_node_10\",\n" +
|
|
|
" \"value\": \"\"\n" +
|
|
|
" }\n" +
|
|
|
" }\n" +
|
|
|
"}";
|
|
|
// generateFile("crawler", "业务流程图", flowJsonStr);
|
|
|
// generateFlow("crawler", "业务流程图", flowJsonStr);
|
|
|
}
|
|
|
|
|
|
public String generateFile(String code, String name, String flowJsonStr) throws Exception {
|
|
|
public Integer generateFlow(String code, String name, String flowJsonStr) throws Exception {
|
|
|
String root = "";
|
|
|
ObjectMapper objectMapper = new ObjectMapper();
|
|
|
JsonNode flowJson = objectMapper.readValue(flowJsonStr, JsonNode.class);
|
|
@ -176,12 +275,8 @@ public class ProcessManager {
|
|
|
|
|
|
String fileInfo = editor.generate(javaName, packageName);
|
|
|
|
|
|
Boolean flag = flowManager.sendAddRoute(code, name, javaName, packageName, fileInfo);
|
|
|
if (flag) {
|
|
|
return javaName;
|
|
|
} else {
|
|
|
return null;
|
|
|
}
|
|
|
Integer flowId = flowManager.sendAddRoute(code, name, javaName, packageName, fileInfo);
|
|
|
return flowId;
|
|
|
}
|
|
|
|
|
|
//首字母转大写
|