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

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


}