Newer
Older
rain_receiver / src / main / java / com / casic / resolver / AlarmDataResolver.java
chaizhuang on 7 Dec 2023 1 KB 增加语音发送功能
package com.casic.resolver;


import com.alibaba.druid.util.StringUtils;
import com.casic.enums.AlarmDatagramFlag;
import com.casic.enums.DevcodeEnums;
import com.casic.enums.RelayDevcodeMapEnums;
import com.casic.model.RelayStatusDTO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;

@Slf4j
@Service
public class AlarmDataResolver implements DatagramResolver, AlarmDatagramFlag, DevcodeEnums {

    @Override
    public RelayStatusDTO datagram(String msg) {
        if (msg.contains(alarmMark)) {
            String devcode = "";
            Integer isAlarm;
            if (msg.contains(HUMI_TEMP)) {
                devcode = HUMI_TEMP;
                isAlarm = Integer.valueOf(msg.substring(16, 17));
            } else {
                //去掉补位
                devcode = msg.substring(0, 12);
                isAlarm = Integer.valueOf(msg.substring(16, 17));
            }
            log.info("设备编号为" + devcode + ",是否报警" + isAlarm);
            String channelName = RelayDevcodeMapEnums.RELAY_DEVCODE.getRelayDevcodeMap().get(devcode);
            if (StringUtils.isEmpty(channelName)) {
                return null;
            }
            return RelayStatusDTO.builder()
                    .devcode(devcode)
                    .deviceType("温湿度传感器")
                    .channelName(channelName)
                    .lampSwitch(isAlarm)
                    .build();
        }
        return null;
    }
}