Merge remote-tracking branch 'origin/master' into haskafka

This commit is contained in:
Hao Miao
2024-03-11 16:09:32 +08:00
8 changed files with 535 additions and 28 deletions

View File

@@ -11,9 +11,9 @@ import com.realtime.protection.server.command.CommandService;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.UUID;
// AlertMessage的UUID在mapper插入数据库时生成了这里提前生成好像美神恶魔用
@Service
public class AlertMessageService {
private final CommandService commandService;
@@ -27,39 +27,41 @@ public class AlertMessageService {
}
@DSTransactional
public void processAlertMessage(AlertMessage alertMessage) {
public String processAlertMessage(AlertMessage alertMessage) {
TaskCommandInfo dynamicTaskCommandInfo = generateDynamicCommand(alertMessage);
Integer taskStatus = dynamicTaskCommandInfo.getTaskStatus();
Integer taskType = dynamicTaskCommandInfo.getTaskType();
String alertMessageUUID = null;
if (taskType == TaskTypeEnum.DYNAMIC.getTaskType())//实时
switch (StateEnum.getStateEnumByNum(taskStatus)) {
case RUNNING:
insertCommandAndAlertMessage(dynamicTaskCommandInfo, true, true, alertMessage);
alertMessageUUID = insertCommandAndAlertMessage(dynamicTaskCommandInfo, true, true, alertMessage);
break;
case PAUSED:
insertCommandAndAlertMessage(dynamicTaskCommandInfo, false, true, alertMessage);
alertMessageUUID = insertCommandAndAlertMessage(dynamicTaskCommandInfo, false, true, alertMessage);
break;
default://主要是stop
//command不入库
//alertmessage入库
insertAlertMessageOnly(alertMessage);
alertMessageUUID = insertAlertMessageOnly(alertMessage);
break;
}
else if (taskType == TaskTypeEnum.JUDGED.getTaskType())//研判后
switch (StateEnum.getStateEnumByNum(taskStatus)) {
case RUNNING:
insertCommandAndAlertMessage(dynamicTaskCommandInfo, true, false, alertMessage);
alertMessageUUID = insertCommandAndAlertMessage(dynamicTaskCommandInfo, true, false, alertMessage);
break;
case PAUSED:
insertCommandAndAlertMessage(dynamicTaskCommandInfo, false, false, alertMessage);
alertMessageUUID = insertCommandAndAlertMessage(dynamicTaskCommandInfo, false, false, alertMessage);
break;
default://主要是stop
//command不入库
//alertmessage入库
insertAlertMessageOnly(alertMessage);
alertMessageUUID = insertAlertMessageOnly(alertMessage);
}
return alertMessageUUID;
}
@@ -87,7 +89,7 @@ public class AlertMessageService {
}
@DSTransactional
private void insertCommandAndAlertMessage(TaskCommandInfo dynamicTaskCommandInfo,
private String insertCommandAndAlertMessage(TaskCommandInfo dynamicTaskCommandInfo,
Boolean isValid,
Boolean isJudged,
AlertMessage alertMessage){
@@ -98,12 +100,21 @@ public class AlertMessageService {
//alertmessage入库
alertMessage.setCommandUUID(commandUUID);
String alertMessageUUID = UUID.randomUUID().toString();
alertMessage.setAlertMessageUUID(alertMessageUUID);
alertMessageMapper.insertAlertMessage(alertMessage);
return alertMessageUUID;
}
private void insertAlertMessageOnly(AlertMessage alertMessage){
private String insertAlertMessageOnly(AlertMessage alertMessage){
//alertmessage入库
alertMessage.setCommandUUID(null);
String alertMessageUUID = UUID.randomUUID().toString();
alertMessage.setAlertMessageUUID(alertMessageUUID);
alertMessageMapper.insertAlertMessage(alertMessage);
return alertMessageUUID;
}

View File

@@ -75,11 +75,14 @@ public class StateHandler {
// todo: 如果是实时任务或者研判后处置任务,那么就需要在任务启动之后,立刻向动态规则中指定的系统发送日志筛选请求。
// 筛选完成后,系统返回日志,需要由接收端点提取字段,并且合成一条静态规则,再按照任务开始时间、结束时间和任务类型进行指令创建
private Boolean handleJudgedTaskStart(TaskService taskService, Long taskId) {
return sendFilters(taskService, taskId);
// return sendFilters(taskService, taskId);
// 还没配置帅选条件发送的url不配置会出错所以先注释
return true;
}
private Boolean handleDynamicTaskStart(TaskService taskService, Long taskId) {
return sendFilters(taskService, taskId);
// return sendFilters(taskService, taskId);
return true;
}
private Boolean handleStaticTaskStart(CommandService commandService, TaskService taskService, Long taskId) {