From bc6a7cf68da9eaf2ba53d23d83d4d73ec76a7b86 Mon Sep 17 00:00:00 2001 From: ZhuDongming <773644075@qq.com> Date: Mon, 09 Dec 2019 11:28:48 +0800 Subject: [PATCH] 因子单位显示null修改 --- src/main/java/com/moral/service/impl/AlarmConfigServiceImpl.java | 79 ++++++++++++++++++++++++++++++++++++--- 1 files changed, 73 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..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 -- Gitblit v1.8.0