From de0d596acbf52dac0bbad75de7a809ee55ccc3b3 Mon Sep 17 00:00:00 2001
From: 于紫祥_1901 <email@yuzixiang_1910>
Date: Wed, 18 Nov 2020 11:52:37 +0800
Subject: [PATCH] update风场
---
src/main/java/com/moral/service/impl/AlarmConfigServiceImpl.java | 90 ++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 84 insertions(+), 6 deletions(-)
diff --git a/src/main/java/com/moral/service/impl/AlarmConfigServiceImpl.java b/src/main/java/com/moral/service/impl/AlarmConfigServiceImpl.java
index d4720d9..a5ca8e6 100644
--- a/src/main/java/com/moral/service/impl/AlarmConfigServiceImpl.java
+++ b/src/main/java/com/moral/service/impl/AlarmConfigServiceImpl.java
@@ -1,30 +1,102 @@
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 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
@@ -45,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<>();
--
Gitblit v1.8.0