Newer
Older
rain_receiver / src / main / java / com / casic / service / scanner / TempHumiScanner.java
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;
    }

}