From 7014fd76c199e676159ac30da6f4dbb91e3a137e Mon Sep 17 00:00:00 2001 From: fengxiang <110431245@qq.com> Date: Tue, 06 Feb 2018 16:50:31 +0800 Subject: [PATCH] 地图相关 --- src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java | 28 ++++++++++++++++++++++++---- 1 files changed, 24 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java b/src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java index 79cf204..509b9d3 100644 --- a/src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java +++ b/src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java @@ -1,8 +1,10 @@ package com.moral.service.impl; import java.util.Arrays; +import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; import javax.annotation.Resource; @@ -34,13 +36,14 @@ public List<MonitorPoint> queryWithStateByMap(Map<String, Object> params){ List<MonitorPoint> monitorPointList = monitorPointMapper.selectByMap(params); for(MonitorPoint monitorPoint:monitorPointList){ - loadStateFromRedis(monitorPoint); + Integer state = getStateFromRedis(monitorPoint.getId()); + monitorPoint.setState(state); } return monitorPointList; } - private void loadStateFromRedis(MonitorPoint monitorPoint){ + private Integer getStateFromRedis(Integer monitorPointId){ StringBuilder key = new StringBuilder(); - key.append("*_").append(monitorPoint.getId()).append("_*"); + key.append("state_").append(monitorPointId).append("_*"); List<Map> stateList = redisUtils.getList(key.toString(),Map.class); int state = -1; if(stateList!=null){ @@ -50,7 +53,7 @@ } } state = state==-1?4:state; - monitorPoint.setState(state); + return state; } @Override public PageBean queryByPageBean(PageBean pageBean) { @@ -117,4 +120,21 @@ List<MonitorPoint> monitorPoints = monitorPointMapper.selectByExample(example); return monitorPoints; } + + /** + * + * @param idList + * @return {id:,state:} + */ + @Override + public List<Map<String, String>> queryMonitroPointsState(List<Integer> idList) { + List<Map<String, String>> list = idList.stream().map( id -> { + Integer state = getStateFromRedis(id); + Map<String,String> stateMap = new HashMap<>(); + stateMap.put("id",id.toString()); + stateMap.put("state",state.toString()); + return stateMap; + }).collect(Collectors.toList()); + return list; + } } -- Gitblit v1.8.0