From 00e38ff225eb948f5234934afc01aa54c94e0de6 Mon Sep 17 00:00:00 2001 From: 于紫祥_1901 <email@yuzixiang_1910> Date: Sat, 10 Oct 2020 11:29:36 +0800 Subject: [PATCH] update --- src/main/java/com/moral/service/impl/AlarmConfigServiceImpl.java | 98 ++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 85 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/moral/service/impl/AlarmConfigServiceImpl.java b/src/main/java/com/moral/service/impl/AlarmConfigServiceImpl.java index ff3a361..6ea34b6 100644 --- a/src/main/java/com/moral/service/impl/AlarmConfigServiceImpl.java +++ b/src/main/java/com/moral/service/impl/AlarmConfigServiceImpl.java @@ -1,30 +1,97 @@ package com.moral.service.impl; +import com.alibaba.fastjson.JSONReader; +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; import com.moral.entity.alarm.AlarmSensorLevel; import com.moral.mapper.AlarmConfigMapper; import com.moral.service.AlarmConfigService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.boot.autoconfigure.session.SessionProperties; import org.springframework.stereotype.Service; import javax.annotation.Resource; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Map; +import java.io.IOException; +import java.io.InputStreamReader; +import java.util.*; @Service public class AlarmConfigServiceImpl implements AlarmConfigService{ + /** ������������������������ .*/ + @Value(value = "classpath:system/alarmLevels.json") + private org.springframework.core.io.Resource resource; + private static AlarmConfigValue defaultAlarmConfigValue; + @Autowired + public AlarmConfigValue getDefaultAlarmConfigValue(){ + if(defaultAlarmConfigValue!=null){ + return defaultAlarmConfigValue; + }else { + InputStreamReader reader = null; + AlarmConfigValue alarmConfigValue = null; + try { + reader = new InputStreamReader(resource.getInputStream()); + alarmConfigValue = new JSONReader(reader).readObject(new TypeReference<AlarmConfigValue>() {}); + } catch (IOException e) { + e.printStackTrace(); + } + return alarmConfigValue; + } + } @Resource RedisUtils redisUtils; @Resource AlarmConfigMapper alarmConfigMapper; @Override - public AlarmConfig SelectByOrganizationId(int organizationId) { - return alarmConfigMapper.selectByOrganizationId(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) { + return Optional.ofNullable(alarmConfig); + } else { + alarmConfigValue = getDefaultAlarmConfigValue(); + } + } + AlarmConfig alarmConfigNotWithId = new AlarmConfig(); + alarmConfigNotWithId.setValue(alarmConfigValue); + return Optional.ofNullable(alarmConfigNotWithId); + } + + @Override + public Optional<AlarmConfig> queryByOrganizationId(int organizationId) { + AlarmConfig alarmConfig = alarmConfigMapper.selectByOrganizationId(organizationId); + if(alarmConfig==null){ + alarmConfig = new AlarmConfig(); + alarmConfig.setValue(getDefaultAlarmConfigValue()); + } + return Optional.ofNullable(alarmConfig); + } + + @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 @@ -34,7 +101,7 @@ alarmConfig.setCreateTime(new Date()); alarmConfig.setUpdateTime(new Date()); alarmConfigMapper.insertSelective(alarmConfig); - }else{ + }else { alarmConfig.setUpdateTime(new Date()); alarmConfigMapper.updateByPrimaryKeySelective(alarmConfig); } @@ -61,13 +128,18 @@ alarmSensorLevel.setIncrement(null); } } - List<Float> degressions = alarmSensorLevel.getDegression(); - if(degressions!=null){ - boolean isDegression = degressions.size()<3|| - (degressions.get(0)==0&°ressions.get(1)==0&°ressions.get(2)==0); - if(isDegression){ - alarmSensorLevel.setDegression(null); + if(alarmSensorLevel.isDegressEnable()){ + List<Float> degressions = alarmSensorLevel.getDegression(); + if(degressions!=null){ + boolean isDegression = degressions.size()<3|| + (degressions.get(0)==0&°ressions.get(1)==0&°ressions.get(2)==0); + if(isDegression){ + alarmSensorLevel.setDegression(null); + } } + }else{ + //��������������������������������� + alarmSensorLevel.setDegression(null); } } } -- Gitblit v1.8.0