|
@ -111,30 +111,46 @@ public class FlowManager implements IFlowManage {
|
|
|
}else if (Constants.CLASS.equals(flow.getFileType())){
|
|
|
List<Integer> classIds = flowClassDao.getFlowClassIds(obj.getId());//原flowclass集合
|
|
|
List<SystemServiceFlowClass> flowClassList = obj.getFlowClassArray();
|
|
|
SystemServiceFlowClass flowClassRoute = null;
|
|
|
String oper = "";
|
|
|
for (SystemServiceFlowClass flowClass:flowClassList){
|
|
|
if (flowClass.getId()!=null) {
|
|
|
classIds.remove(flowClass.getId());
|
|
|
flowClassDao.updateEntity(flowClass);
|
|
|
sendUpdateMessage(flow.getCode(), flowClass, Constants.FLOW_OP_UPDATE);
|
|
|
if (!flowClass.getType().equals(Constants.FLOW_TYPE_ROUTE)) {
|
|
|
sendUpdateMessage(flow.getCode(), flowClass, Constants.FLOW_OP_UPDATE);
|
|
|
} else {
|
|
|
flowClassRoute = flowClass;
|
|
|
oper = Constants.FLOW_OP_UPDATE;
|
|
|
}
|
|
|
}else {
|
|
|
flowClassDao.saveEntity(flowClass);
|
|
|
sendUpdateMessage(flow.getCode(), flowClass, Constants.FLOW_OP_ADD);
|
|
|
if (!flowClass.getType().equals(Constants.FLOW_TYPE_ROUTE)) {
|
|
|
flowClassDao.saveEntity(flowClass);
|
|
|
sendUpdateMessage(flow.getCode(), flowClass, Constants.FLOW_OP_ADD);
|
|
|
} else {
|
|
|
flowClassRoute = flowClass;
|
|
|
oper = Constants.FLOW_OP_ADD;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
//删除判断
|
|
|
if (classIds !=null && classIds.size()>0){
|
|
|
for (Integer id:classIds){
|
|
|
SystemServiceFlowClass flowClass = getFlowClassById(id);
|
|
|
flowClassDao.deleteEntity(flowClass);
|
|
|
sendDeleteMessage(flow.getCode(), flowClass);
|
|
|
if (!flowClass.getType().equals(Constants.FLOW_TYPE_ROUTE)) {
|
|
|
sendUpdateMessage(flow.getCode(), flowClass, Constants.FLOW_OP_DELETE);
|
|
|
} else {
|
|
|
flowClassRoute = flowClass;
|
|
|
oper = Constants.FLOW_OP_DELETE;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
if (flowClassRoute != null) {
|
|
|
sendUpdateMessage(flow.getCode(), flowClassRoute, oper);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
flowDao.updateEntity(flow);
|
|
|
|
|
|
|
|
@ -146,11 +162,22 @@ public class FlowManager implements IFlowManage {
|
|
|
public Result deleteFlow(Integer id) throws Exception {
|
|
|
SystemServiceFlow flow = flowDao.getEntity(SystemServiceFlow.class, id);
|
|
|
List<SystemServiceFlowClass> flowClassList = flowClassDao.getFlowClassByFlowId(id);
|
|
|
SystemServiceFlowClass flowClassRoute = null;
|
|
|
String oper = "";
|
|
|
for (SystemServiceFlowClass flowClass:flowClassList){
|
|
|
flowClassDao.deleteEntity(flowClass);
|
|
|
//发送消息到MQ对列
|
|
|
sendDeleteMessage(flow.getCode(), flowClass);
|
|
|
if (!flowClass.getType().equals(Constants.FLOW_TYPE_ROUTE)) {
|
|
|
sendUpdateMessage(flow.getCode(), flowClass, Constants.FLOW_OP_DELETE);
|
|
|
} else {
|
|
|
flowClassRoute = flowClass;
|
|
|
oper = Constants.FLOW_OP_DELETE;
|
|
|
}
|
|
|
}
|
|
|
if (flowClassRoute != null) {
|
|
|
sendUpdateMessage(flow.getCode(), flowClassRoute, oper);
|
|
|
}
|
|
|
|
|
|
boolean succ = flowTempDao.deleteFlowTempByFlowId(id);
|
|
|
flowDao.deleteEntity(flow);
|
|
|
return Result.success("删除成功");
|
|
@ -250,22 +277,6 @@ public class FlowManager implements IFlowManage {
|
|
|
}
|
|
|
|
|
|
|
|
|
/**
|
|
|
* 发送MQ消息-删除路由
|
|
|
* @param flowCode 服务流程Code标识
|
|
|
* @param flowClass
|
|
|
*/
|
|
|
public void sendDeleteMessage(String flowCode,SystemServiceFlowClass flowClass){
|
|
|
//发送消息到MQ对列
|
|
|
if ( Constants.FLOW_TYPE_ROUTE.equals(flowClass.getType())) {
|
|
|
//route
|
|
|
serviceFlowEventService.routeDefineDelete(flowCode, flowClass.getPackageName(), flowClass.getClassName());
|
|
|
} else if (Constants.FLOW_TYPE_PROCESSOR.equals(flowClass.getType())) {
|
|
|
//processor
|
|
|
serviceFlowEventService.processorDataDeleted(flowCode, flowClass.getPackageName(), flowClass.getClassName(), flowClass.getClassPath());
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 获取流程列表
|
|
|
* @param type 流程的文件类型
|