From 3fb41a7431142a4f4a9794cba32be2ad37a6f14a Mon Sep 17 00:00:00 2001 From: fengxiang <110431245@qq.com> Date: Mon, 23 Apr 2018 15:29:58 +0800 Subject: [PATCH] 设备默认新增状态为4离线 --- src/main/java/com/moral/service/impl/AlarmConfigServiceImpl.java | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 50 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..bea09bf 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,65 @@ 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<AlarmConfigValue> 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.ofNullable(alarmConfigValue); + } + + @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 -- Gitblit v1.8.0