From 2d67ed727031e32a6762d0ca77a8d9dd18fb13f0 Mon Sep 17 00:00:00 2001
From: xufenglei <xufenglei>
Date: Mon, 12 Nov 2018 17:02:06 +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