From d4f150414533b95324b2a1c8a81c11d92efb71ec Mon Sep 17 00:00:00 2001 From: xufenglei <xufenglei> Date: Tue, 13 Mar 2018 16:25:20 +0800 Subject: [PATCH] Merge branch 'master' of http://blit.7drlb.com:8888/r/screen_api_v2.git --- src/main/java/com/moral/service/impl/AlarmConfigServiceImpl.java | 71 +++++++++++++++++++++++++++++------ 1 files changed, 58 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..24ca266 100644 --- a/src/main/java/com/moral/service/impl/AlarmConfigServiceImpl.java +++ b/src/main/java/com/moral/service/impl/AlarmConfigServiceImpl.java @@ -1,5 +1,7 @@ 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.alarm.AlarmConfig; @@ -8,23 +10,61 @@ 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 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(); + } else { + alarmConfigValue = getDefaultAlarmConfigValue(); + } + } + return Optional.of(alarmConfigValue); + } + + @Override + public Optional<AlarmConfig> queryByOrganizationId(int organizationId) { + AlarmConfig alarmConfig = alarmConfigMapper.selectByOrganizationId(organizationId); + return Optional.of(alarmConfig); } @Override @@ -34,7 +74,7 @@ alarmConfig.setCreateTime(new Date()); alarmConfig.setUpdateTime(new Date()); alarmConfigMapper.insertSelective(alarmConfig); - }else{ + }else { alarmConfig.setUpdateTime(new Date()); alarmConfigMapper.updateByPrimaryKeySelective(alarmConfig); } @@ -61,13 +101,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