消息数据过滤

This commit is contained in:
hzj
2026-07-24 09:15:46 +08:00
parent 73004aafa7
commit 2280037b28
5 changed files with 19 additions and 18 deletions

View File

@@ -9,6 +9,7 @@ import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
import lombok.Data;
import java.io.Serializable;
import java.time.Instant;
import java.time.LocalDateTime;
/**
@@ -21,10 +22,8 @@ import java.time.LocalDateTime;
@Data
public class MessageFlucDataSet implements Serializable {
private Integer FLAG;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonDeserialize(using = LocalDateTimeDeserializer.class)
@JsonSerialize(using = LocalDateTimeSerializer.class)
private LocalDateTime TIME;
private Instant TIME;
@JsonProperty("F_S")
private MessageFs fs;

View File

@@ -8,6 +8,7 @@ import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
import lombok.Data;
import java.io.Serializable;
import java.time.Instant;
import java.time.LocalDateTime;
/**
@@ -20,10 +21,7 @@ import java.time.LocalDateTime;
@Data
public class MessageHarmonicDataSet implements Serializable {
private Integer FLAG;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss.SSS")
@JsonDeserialize(using = LocalDateTimeDeserializer.class)
@JsonSerialize(using = LocalDateTimeSerializer.class)
private LocalDateTime TIME;
private Instant TIME;
private MessageV V;
private MessageI I;
private MessageP PQ;

View File

@@ -9,6 +9,7 @@ import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
import lombok.Data;
import java.io.Serializable;
import java.time.Instant;
import java.time.LocalDateTime;
/**
@@ -21,10 +22,8 @@ import java.time.LocalDateTime;
@Data
public class MessagePltDataSet implements Serializable {
private Integer FLAG;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonDeserialize(using = LocalDateTimeDeserializer.class)
@JsonSerialize(using = LocalDateTimeSerializer.class)
private LocalDateTime TIME;
private Instant TIME;
@JsonProperty("F_L")
private MessageFl fl;

View File

@@ -25,6 +25,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.temporal.ChronoField;
import java.util.ArrayList;
import java.util.List;
@@ -92,7 +93,8 @@ public class MessageAnalysisServiceImpl implements MessageAnalysisService {
String value = messageDataDTO.getValue();
if(Objects.equals(DataTypeEnum.HARMONIC.getCode(),dataType)){
MessageHarmonicDataSet messageHarmonicDataSet = JSONObject.parseObject(value, MessageHarmonicDataSet.class);
LocalDateTime localDateTime = messageHarmonicDataSet.getTIME();
LocalDateTime localDateTime = LocalDateTime.ofInstant(messageHarmonicDataSet.getTIME(), ZoneId.systemDefault());;
//排除上电下电等情况前置上送上不是整分的数据
if((localDateTime.getSecond() != 0)||localDateTime.get(ChronoField.MILLI_OF_SECOND)!=0){
return;
@@ -387,8 +389,9 @@ public class MessageAnalysisServiceImpl implements MessageAnalysisService {
}else if(Objects.equals(DataTypeEnum.FLUC.getCode(),dataType)){
MessageFlucDataSet messageFlucDataSet = JSONObject.parseObject(value, MessageFlucDataSet.class);
LocalDateTime localDateTime = messageFlucDataSet.getTIME(); //LocalDateTime.ofInstant(messageFlucDataSet.getTIME(), ZoneId.systemDefault()).withNano(0).withSecond(0);
if(!(localDateTime.getSecond() == 0)){
LocalDateTime localDateTime = LocalDateTime.ofInstant(messageFlucDataSet.getTIME(), ZoneId.systemDefault());;
if((localDateTime.getSecond() != 0)||localDateTime.get(ChronoField.MILLI_OF_SECOND)!=0){
return;
}
Integer flag = messageFlucDataSet.getFLAG();
@@ -462,10 +465,11 @@ public class MessageAnalysisServiceImpl implements MessageAnalysisService {
}else if(Objects.equals(DataTypeEnum.PLT.getCode(),dataType)){
MessagePltDataSet messagePltDataSet = JSONObject.parseObject(value, MessagePltDataSet.class);
LocalDateTime localDateTime = messagePltDataSet.getTIME();
LocalDateTime localDateTime = LocalDateTime.ofInstant(messagePltDataSet.getTIME(), ZoneId.systemDefault());;
Integer flag = messagePltDataSet.getFLAG();
MessageFl fl = messagePltDataSet.getFl();
if(!(localDateTime.getSecond() == 0)){
if((localDateTime.getSecond() != 0)||localDateTime.get(ChronoField.MILLI_OF_SECOND)!=0){
return;
}
//长时闪变ABC