package com.casic.service.scanner; import com.casic.model.AlarmMsgDTO; import com.casic.service.DeviceDataScanner; import com.casic.service.DeviceDataSupport; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; import java.util.Map; @Service public class TempHumiScanner extends DeviceDataSupport implements DeviceDataScanner { @Override public List<AlarmMsgDTO> scanDeviceData() { List<AlarmMsgDTO> alarmMsgDTOList = new ArrayList<>(); String humiThreshold = alarmLevelConfig.getHumi(); String tempThreshold = alarmLevelConfig.getTemp(); List<Map<String, Object>> pressDataMapList = this.deviceDataMapper.getHumiTemp(); pressDataMapList.forEach( pressDataMap -> { String devcode = pressDataMap.get("DEVCODE").toString(); String temperatureData = pressDataMap.get("TEMPERATURE").toString(); Integer isTempAlarm = isAlarm(temperatureData, tempThreshold); String humidityData = pressDataMap.get("HUMIDITY").toString(); Integer isHumiAlarm = isAlarm(humidityData, humiThreshold); if (isHumiAlarm == 0 && isTempAlarm == 0) { alarmMsgDTOList.add(AlarmMsgDTO.builder() .devcode(devcode) .isAlarm(0) .build()); } else { alarmMsgDTOList.add(AlarmMsgDTO.builder() .devcode(devcode) .isAlarm(1) .build()); } // sendAlarmMsg(devcode, mergeAlarm); } ); return alarmMsgDTOList; } }