于紫祥_1901
2020-12-24 f28149d8183a62f87fa9c8df9ae589070d83f612
src/main/java/com/moral/service/impl/AlarmConfigServiceImpl.java
@@ -4,6 +4,7 @@
import com.alibaba.fastjson.TypeReference;
import com.moral.common.bean.Constants;
import com.moral.common.util.RedisUtils;
import com.moral.entity.MonitorPoint;
import com.moral.entity.alarm.AlarmConfig;
import com.moral.entity.alarm.AlarmConfigValue;
import com.moral.entity.alarm.AlarmMode;
@@ -47,24 +48,55 @@
    @Resource
    AlarmConfigMapper alarmConfigMapper;
    @Override
    public Optional queryValueByOrganizationId(int organizationId) {
    public Optional<AlarmConfig> queryValueByOrganizationId(int organizationId) {
        String key = RedisUtils.getAlarmKey(organizationId);
        AlarmConfigValue alarmConfigValue = redisUtils.get(key,new TypeReference<AlarmConfigValue>(){});
        if(alarmConfigValue==null) {
            AlarmConfig alarmConfig = alarmConfigMapper.selectByOrganizationId(organizationId);
            if (alarmConfig != null && alarmConfig.getValue() != null) {
                alarmConfigValue = alarmConfig.getValue();
                return Optional.ofNullable(alarmConfig);
            } else {
                alarmConfigValue = getDefaultAlarmConfigValue();
            }
        }
        return Optional.of(alarmConfigValue);
        AlarmConfig alarmConfigNotWithId = new AlarmConfig();
        alarmConfigNotWithId.setValue(alarmConfigValue);
        return Optional.ofNullable(alarmConfigNotWithId);
    }
    @Override
    public Optional<AlarmConfig> queryByOrganizationId(int organizationId) {
        AlarmConfig alarmConfig = alarmConfigMapper.selectByOrganizationId(organizationId);
        return Optional.of(alarmConfig);
        if(alarmConfig==null){
            alarmConfig = new AlarmConfig();
            alarmConfig.setValue(getDefaultAlarmConfigValue());
        }
        return Optional.ofNullable(alarmConfig);
    }
    @Override
    public String getValueByOrganizationId(int organizationId) {
        return alarmConfigMapper.getValueByOrganizationId(organizationId);
    }
    @Override
    public Optional<AlarmConfig> queryByMonitorPointId(int mpId) {
        AlarmConfig alarmConfig = alarmConfigMapper.selectByMonitorPointId(mpId);
        if(alarmConfig==null){
            alarmConfig = new AlarmConfig();
            alarmConfig.setValue(getDefaultAlarmConfigValue());
        }
        return Optional.ofNullable(alarmConfig);
    }
    @Override
    public Optional<AlarmConfig> queryByDeviceMac(String mac) {
        AlarmConfig alarmConfig = alarmConfigMapper.selectByDeviceMac(mac);
        if(alarmConfig==null){
            alarmConfig = new AlarmConfig();
            alarmConfig.setValue(getDefaultAlarmConfigValue());
        }
        return Optional.ofNullable(alarmConfig);
    }
    @Override
@@ -85,6 +117,12 @@
            throw  ex;
        }
    }
    @Override
    public int containOrgId(Integer orgId) {
        return alarmConfigMapper.containOrgId(orgId);
    }
    public AlarmConfigValue simplifyAlarmConfigValue(AlarmConfigValue value){
          Map<String,AlarmSensorLevel> alarmSensorLevelMap = value.getAlarmLevels();
          List<String> cleanKeys = new ArrayList<>();