From a8532c88680e4ab213c269ec91da5b223f62332f Mon Sep 17 00:00:00 2001 From: fengxiang <110431245@qq.com> Date: Wed, 07 Feb 2018 14:12:26 +0800 Subject: [PATCH] 地图相关资源 --- src/main/java/com/moral/service/AlarmConfigService.java | 7 ++- src/main/java/com/moral/service/impl/AlarmConfigServiceImpl.java | 52 +++++++++++++++++++++++--- src/main/webapp/view/map.jsp | 8 +++ src/main/java/com/moral/controller/AlarmConfigController.java | 2 src/main/java/com/moral/controller/ScreenController.java | 38 +++++++++++------- src/main/resources/system/alarmLevels.json | 2 6 files changed, 83 insertions(+), 26 deletions(-) diff --git a/src/main/java/com/moral/controller/AlarmConfigController.java b/src/main/java/com/moral/controller/AlarmConfigController.java index 70e1121..7d5cecd 100644 --- a/src/main/java/com/moral/controller/AlarmConfigController.java +++ b/src/main/java/com/moral/controller/AlarmConfigController.java @@ -17,7 +17,7 @@ AlarmConfigService alarmConfigService; @GetMapping("get-by-oid") public ResultBean<AlarmConfig> getAlarmConfigByOrganizationId(int organizationId){ - AlarmConfig alarmConfig = alarmConfigService.SelectByOrganizationId(organizationId); + AlarmConfig alarmConfig = alarmConfigService.queryByOrganizationId(organizationId).get(); ResultBean resultBean = new ResultBean(); resultBean.setCode(ResultBean.SUCCESS); resultBean.setData(alarmConfig); diff --git a/src/main/java/com/moral/controller/ScreenController.java b/src/main/java/com/moral/controller/ScreenController.java index 88efaf1..e8bd1c8 100644 --- a/src/main/java/com/moral/controller/ScreenController.java +++ b/src/main/java/com/moral/controller/ScreenController.java @@ -6,7 +6,9 @@ import static com.moral.common.util.WebUtils.getParametersStartingWith; import java.io.*; +import java.lang.reflect.InvocationTargetException; import java.util.*; +import java.util.stream.Collectors; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; @@ -19,7 +21,10 @@ import com.moral.entity.Device; import com.moral.entity.MapBounds; import com.moral.entity.MonitorPoint; +import com.moral.entity.alarm.AlarmConfigValue; +import com.moral.entity.alarm.AlarmSensorLevel; import com.moral.service.*; +import org.apache.commons.beanutils.BeanUtils; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang.ArrayUtils; import org.apache.commons.net.ftp.FTPClient; @@ -46,7 +51,8 @@ //@CrossOrigin(origins = "*", maxAge = 3600) public class ScreenController { public static Logger log = Logger.getLogger(ScreenController.class); - + @Resource + AlarmConfigService alarmConfigService; @Resource AreaService areaService; @@ -128,23 +134,25 @@ */ @SuppressWarnings("resource") @GetMapping("alarm-levels") - public Map<String, Object> getAlarmLevels(HttpServletRequest request,String orgId) { - Map<String, Object> result = new LinkedHashMap<String, Object>(); - String key = levelKey + orgId; + public Object getAlarmLevels(HttpServletRequest request, Integer orgId) { + List<Map<String,Object>> sensorAlarmList = null; + AlarmConfigValue alarmConfigValue = null; try { - if (hasKey(redisTemplate, key)) { - String levelConfigStr = get(redisTemplate, key); - result = JSON.parseObject(levelConfigStr, new TypeReference<Map<String, Object>>() {}); - } else { - InputStreamReader reader = new InputStreamReader(resource.getInputStream()); - result = new JSONReader(reader).readObject(new TypeReference<LinkedHashMap<String, Object>>() {}); - } - - } catch (IOException e) { + alarmConfigValue = alarmConfigService.queryValueByOrganizationId(orgId).get(); + Map<String,AlarmSensorLevel> alarmLevelMap = alarmConfigValue.getAlarmLevels(); + sensorAlarmList = alarmLevelMap.keySet().stream().map(key -> { + AlarmSensorLevel alarmSensorLevel = alarmLevelMap.get(key); + JSONObject alarmSensorLevelMap = (JSONObject) JSON.toJSON(alarmSensorLevel); + alarmSensorLevelMap.put("key",key); + return alarmSensorLevelMap; + }).collect(Collectors.toList()); + } catch (Exception e) { e.printStackTrace(); - result.put("msg", "���������������������������������������������������" + e.getMessage()); + Map<String, Object> err = new LinkedHashMap<String, Object>(); + err.put("msg", "���������������������������������������������������" + e.getMessage()); + return err; } - return result; + return sensorAlarmList; } /** diff --git a/src/main/java/com/moral/service/AlarmConfigService.java b/src/main/java/com/moral/service/AlarmConfigService.java index 4080244..0701630 100644 --- a/src/main/java/com/moral/service/AlarmConfigService.java +++ b/src/main/java/com/moral/service/AlarmConfigService.java @@ -1,9 +1,12 @@ package com.moral.service; import com.moral.entity.alarm.AlarmConfig; +import com.moral.entity.alarm.AlarmConfigValue; + +import java.util.Optional; public interface AlarmConfigService { - public AlarmConfig SelectByOrganizationId(int organizationId); - + public Optional<AlarmConfigValue> queryValueByOrganizationId(int organizationId); + public Optional<AlarmConfig> queryByOrganizationId(int organizationId); void addOrModify(AlarmConfig alarmConfig); } diff --git a/src/main/java/com/moral/service/impl/AlarmConfigServiceImpl.java b/src/main/java/com/moral/service/impl/AlarmConfigServiceImpl.java index d4720d9..8b9651c 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 diff --git a/src/main/resources/system/alarmLevels.json b/src/main/resources/system/alarmLevels.json index 74a507c..7b1a534 100644 --- a/src/main/resources/system/alarmLevels.json +++ b/src/main/resources/system/alarmLevels.json @@ -1,6 +1,6 @@ { "alarmMode": { - "enable": 1, + "enable": 0, "level1": [], "level2": [], "level3": [] diff --git a/src/main/webapp/view/map.jsp b/src/main/webapp/view/map.jsp index 11ede8b..0b02bf5 100644 --- a/src/main/webapp/view/map.jsp +++ b/src/main/webapp/view/map.jsp @@ -333,6 +333,12 @@ alert(equStr); } } + obj['mouseover'] = function (type) { + if(type.target.getData()==null){ + //��������������������������������������������������� ������������������ + refreshAllState(); + } + } var moralMask = new moralMap.Equipment(obj); moralMap.addOverlay(moralMask); } @@ -410,7 +416,7 @@ } setTimeout(function(){ refreshAllState(); - },2000); + },5000); } function stopRefreshPage(){ window.clearInterval(_intervalNum); -- Gitblit v1.8.0