diff --git a/src/main/java/com/realtime/protection/configuration/entity/alert/AlertMessage.java b/src/main/java/com/realtime/protection/configuration/entity/alert/AlertMessage.java index 290cd06..82b6466 100644 --- a/src/main/java/com/realtime/protection/configuration/entity/alert/AlertMessage.java +++ b/src/main/java/com/realtime/protection/configuration/entity/alert/AlertMessage.java @@ -5,7 +5,7 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.realtime.protection.configuration.entity.task.FiveTupleWithMask; import lombok.Data; -import java.sql.Timestamp; +import java.time.LocalDateTime; @Data @@ -55,7 +55,9 @@ public class AlertMessage { @JsonProperty("c_priority") private Integer c_priority; @JsonProperty("c_time") - private Timestamp c_time; + private Long c_time; + + private LocalDateTime ctime; @JsonProperty("c_flowid") private String c_flowid; @JsonProperty("c_src_ipv4") diff --git a/src/main/java/com/realtime/protection/server/alertmessage/AlertMessageService.java b/src/main/java/com/realtime/protection/server/alertmessage/AlertMessageService.java index 8016cf6..9921f80 100644 --- a/src/main/java/com/realtime/protection/server/alertmessage/AlertMessageService.java +++ b/src/main/java/com/realtime/protection/server/alertmessage/AlertMessageService.java @@ -14,7 +14,9 @@ import lombok.Data; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import java.time.Instant; import java.time.LocalDateTime; +import java.time.ZoneId; import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.List; @@ -39,6 +41,11 @@ public class AlertMessageService { @DSTransactional public void processAlertMessage(AlertMessage alertMessage) { + //将告警信息中的c_time转换为LocalDateTime,并写入ctime + Instant instant = Instant.ofEpochSecond(alertMessage.getC_time()); + LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, ZoneId.systemDefault()); + alertMessage.setCtime(localDateTime); + //根据告警信息——>生成指令 List dynamicTaskCommandInfoList = generateDynamicCommand(alertMessage); //可能isProtectSrcOrDst和isProtectSrcOrDst都为FALSE,说明没有生成指令 diff --git a/src/main/resources/mappers/AlertMessageMapper.xml b/src/main/resources/mappers/AlertMessageMapper.xml index eed9619..e570304 100644 --- a/src/main/resources/mappers/AlertMessageMapper.xml +++ b/src/main/resources/mappers/AlertMessageMapper.xml @@ -147,7 +147,7 @@ #{c_provid}, #{c_event_id}, #{c_priority}, - #{c_time}, + #{ctime}, #{c_flowid}, #{c_src_ipv6}, #{c_s_tunnel_ip}, diff --git a/src/test/java/com/realtime/protection/server/alertmessage/AlertMessageTest.java b/src/test/java/com/realtime/protection/server/alertmessage/AlertMessageTest.java index 744f9d6..2812296 100644 --- a/src/test/java/com/realtime/protection/server/alertmessage/AlertMessageTest.java +++ b/src/test/java/com/realtime/protection/server/alertmessage/AlertMessageTest.java @@ -19,6 +19,7 @@ import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; +import java.sql.Timestamp; import java.time.LocalDateTime; import java.util.List; @@ -57,7 +58,7 @@ public class AlertMessageTest { null, null, null, null, null, null, 1, 1); List templates = templateService.queryTemplates( - null, null, null, null, null, null, null, 1, 1); + null, null, null, null, null, "洪泛型DDoS", null, 1, 1); DynamicRuleObject object = new DynamicRuleObject(); object.setDynamicRuleName("内部-动态任务测试-"+LocalDateTime.now().toString()); @@ -78,7 +79,7 @@ public class AlertMessageTest { task.setTaskStartTime(taskStartTime); task.setTaskEndTime(taskEndTime); task.setTaskAct("23"); - task.setTaskType(2); + task.setTaskType(3); task.setTaskCreateUserId(1100664); task.setTaskCreateUsername("NSADD管理员"); task.setTaskCreateDepart("组织树"); @@ -113,6 +114,8 @@ public class AlertMessageTest { alert.setFiveTupleWithMask(fiveTupleWithMask); alert.setContent("testcontent"); alert.setProtectIsSrcOrDst(1); + alert.setC_time(1718015296L); + System.out.println(alert.getC_time()); alertMessageService.processAlertMessage(alert); }