Browse Source

비정상 데이터 중복 알림 방지

master
노승철 2 years ago
parent
commit
f28d51a7e7
  1. 2
      src/main/java/com/palnet/comn/model/CtrCntrlModel.java
  2. 4
      src/main/java/com/palnet/process/message/consumer/MessageConsumer.java
  3. 17
      src/main/java/com/palnet/server/task/ctr/service/CtrCntrlTaskService.java

2
src/main/java/com/palnet/comn/model/CtrCntrlModel.java

@ -66,7 +66,7 @@ public class CtrCntrlModel implements Comparable<CtrCntrlModel>{
// 비정상 상황 알림 표출 코드 (알림: true, 미알림: false)
private boolean controlWarnNotyCd;
// 비정상 상황 알림 중복 체크
private String warnNotyExposure;
private Integer controlCacheCount;
@Override
public int compareTo(CtrCntrlModel o) {

4
src/main/java/com/palnet/process/message/consumer/MessageConsumer.java

@ -30,7 +30,7 @@ public class MessageConsumer {
@RabbitHandler
@RabbitListener(queues = {"websocket.drone.queue"})
public void receiveDroneMessage(final String message) throws JsonProcessingException {
log.info("websocket message : {}", message);
// log.info("websocket message : {}", message);
GPModel model = objectMapper.readValue(message, GPModel.class);
CtrCntrlModel history = this.modelConvert(model); // 웹 표출 model로 변환
@ -90,6 +90,8 @@ public class MessageConsumer {
}
}
model.setControlCacheCount(1);
return model;
}
}

17
src/main/java/com/palnet/server/task/ctr/service/CtrCntrlTaskService.java

@ -32,14 +32,15 @@ public class CtrCntrlTaskService {
if(Objects.nonNull(allHistory)) {
allHistory.forEach((k, v) -> {
// if(v.isControlWarnCd() && v.isControlWarnNotyCd()) {
// if(!"Y".equals(v.getWarnNotyExposure())) {
// v.setControlWarnNotyCd(true);
// v.setWarnNotyExposure("Y");
// } else {
// v.setControlWarnNotyCd(false);
// }
// }
// 데이터가 수신 되지 않고 이전 데이터를 표출하고 있는 경우
// 비정상 상황 판별하여 알림 표출 X
if(v.getControlCacheCount() == 2) {
if(v.isControlWarnCd() && v.isControlWarnNotyCd()) {
v.setControlWarnNotyCd(false);
}
}
v.setControlCacheCount(2);
list.add(v);
});

Loading…
Cancel
Save