Newer
Older
rain_receiver / src / main / java / com / casic / service / scanner / PressDataScanner.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 PressDataScanner extends DeviceDataSupport implements DeviceDataScanner {

    @Override
    public List<AlarmMsgDTO> scanDeviceData() {
        List<AlarmMsgDTO> alarmMsgDTOList=new ArrayList<>();
        String thresholdValue = alarmLevelConfig.getPressure();
        List<Map<String, Object>> pressDataMapList = this.deviceDataMapper.getPressureData();
        pressDataMapList.forEach(
                pressDataMap -> {
                    String devcode = pressDataMap.get("DEVCODE").toString();
                    String pressdata = pressDataMap.get("PRESSDATA").toString();
                    Integer isAlarm = isAlarm(pressdata, thresholdValue);
                    ScannerMapCommon.pressMap.put(devcode, isAlarm);
                    Integer mergeAlarm = 0;
                    if (ScannerMapCommon.flowMap.containsKey(devcode) && ScannerMapCommon.flowMap.get(devcode) == 1) {
                        mergeAlarm = 1;
                    } else {
                        mergeAlarm = isAlarm;
                    }
                    alarmMsgDTOList.add(AlarmMsgDTO.builder()
                            .devcode(devcode)
                            .isAlarm(mergeAlarm)
                            .build());
//                   sendAlarmMsg(devcode, mergeAlarm);
                }
        );
        return alarmMsgDTOList;
    }

}